---
updatedAt: 2026-04-16T09:29:31.000Z
agentTools:
  siteIndex: https://docs.jfrog.com/llms.txt
  projectIndex: https://docs.jfrog.com/artifactory/llms.txt
---

# Artifact Latest Version Search Based on Properties

Search for artifacts with the latest value in the `version` property. Only artifacts with the version property expressly defined in lowercase will be returned.

This API is based on a Maven-specific algorithm for sorting versions.

Results can be filtered by specifying additional properties as query parameters (e.g., `?os=win&license=GPL`).

- `{repo}`: Specify a repository to search through or replace with `_any` to search through all repositories.
- `{path}`: Specify a path to search through or replace with `_any` to search through all paths.
- `listFiles=0` (default): Artifactory will only retrieve the latest version.
- `listFiles=1`: Artifactory will retrieve the latest version and the corresponding files.

You may specify filters to restrict the set of artifacts by adding any properties to your search URL as additional query parameters.

**Product:** Requires Artifactory Pro

**Since:** 3.1.1

**Security:** Requires an authenticated user (not anonymous) with read permission to the repository of each artifact.


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "JFrog Artifactory Searches API",
    "description": "REST API for searching artifacts, builds, and other items in JFrog Artifactory using various search methods including AQL, GAVC, property search, checksum search, and more.\n\n> **Important Note on Search Result Limits**\n>\n> All searches return limited results for internal and anonymous users (same limits as in the user interface).\n> To modify the default limit results, edit the `artifactory.system.properties` file with:\n> - `artifactory.search.limitAnonymousUsersOnly=false` (default is `true`)\n> - `artifactory.search.userQueryLimit` (default is `1000`)\n>\n> This applies to the following search APIs: Artifact Search, Archive Entries Search, GAVC Search, Property Search, Checksum Search (limited by UI max results),\n> Artifacts Not Downloaded Since, Artifacts With Date in Date Range, Artifacts Created in Date Range\n",
    "version": "1.0.0",
    "contact": {
      "name": "JFrog Support"
    }
  },
  "servers": [
    {
      "url": "https://{jfrog_url}/artifactory/api",
      "description": "JFrog Platform",
      "variables": {
        "jfrog_url": {
          "default": "myserver.jfrog.io",
          "description": "Your JFrog Platform hostname (e.g., mycompany.jfrog.io)"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Searches",
      "description": "Search operations for artifacts and builds"
    }
  ],
  "paths": {
    "/versions/{repo}/{path}": {
      "get": {
        "tags": [
          "Searches"
        ],
        "summary": "Artifact Latest Version Search Based on Properties",
        "operationId": "searchLatestVersionByProperties",
        "description": "Search for artifacts with the latest value in the `version` property. Only artifacts with the version property expressly defined in lowercase will be returned.\n\nThis API is based on a Maven-specific algorithm for sorting versions.\n\nResults can be filtered by specifying additional properties as query parameters (e.g., `?os=win&license=GPL`).\n\n- `{repo}`: Specify a repository to search through or replace with `_any` to search through all repositories.\n- `{path}`: Specify a path to search through or replace with `_any` to search through all paths.\n- `listFiles=0` (default): Artifactory will only retrieve the latest version.\n- `listFiles=1`: Artifactory will retrieve the latest version and the corresponding files.\n\nYou may specify filters to restrict the set of artifacts by adding any properties to your search URL as additional query parameters.\n\n**Product:** Requires Artifactory Pro\n\n**Since:** 3.1.1\n\n**Security:** Requires an authenticated user (not anonymous) with read permission to the repository of each artifact.\n",
        "parameters": [
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Specify a repository to search through or replace with `_any` to search through all repositories"
          },
          {
            "name": "path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Specify a path to search through or replace with `_any` to search through all paths"
          },
          {
            "name": "listFiles",
            "in": "query",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ],
              "default": 0
            },
            "description": "`0` (default) returns only the latest version. `1` returns the latest version and the corresponding files."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the latest version and, when `listFiles=1`, the corresponding artifact URIs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LatestVersionByPropertiesResult"
                },
                "examples": {
                  "withFiles": {
                    "summary": "Latest version with file listing",
                    "value": {
                      "version": "1.1.2",
                      "artifacts": [
                        {
                          "uri": "http://localhost:8081/artifactory/libs-release-local/a/b/1.1.2/lib-1.1.2.jar"
                        }
                      ]
                    }
                  },
                  "withoutFiles": {
                    "summary": "Latest version only",
                    "value": {
                      "version": "1.1.2",
                      "artifacts": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    }
  },
  "security": [
    {
      "BasicAuth": []
    },
    {
      "ApiKeyAuth": []
    },
    {
      "BearerAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "BasicAuth": {
        "type": "http",
        "scheme": "basic",
        "description": "Username and password or username and API key."
      },
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-JFrog-Art-Api",
        "description": "JFrog API key passed in the `X-JFrog-Art-Api` header."
      },
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Access token obtained from JFrog Platform."
      }
    },
    "responses": {
      "BadRequest": {
        "description": "The request is invalid. Check the error message for details.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "errors": [
                {
                  "status": 400,
                  "message": "Missing required parameters or invalid query."
                }
              ]
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Authentication credentials are missing or invalid.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "errors": [
                {
                  "status": 401,
                  "message": "Bad credentials"
                }
              ]
            }
          }
        }
      },
      "Forbidden": {
        "description": "The authenticated user does not have the required permissions.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "errors": [
                {
                  "status": 403,
                  "message": "User is not an admin"
                }
              ]
            }
          }
        }
      },
      "NotFound": {
        "description": "The requested resource does not exist.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "errors": [
                {
                  "status": 404,
                  "message": "The specified resource was not found."
                }
              ]
            }
          }
        }
      },
      "InternalServerError": {
        "description": "An unexpected server error occurred. If this persists, contact [JFrog Support](https://jfrog.com/help).",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            },
            "example": {
              "errors": [
                {
                  "status": 500,
                  "message": "An unexpected error occurred"
                }
              ]
            }
          }
        }
      }
    },
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "description": "Standard JFrog Platform error response envelope.",
        "required": [
          "errors"
        ],
        "properties": {
          "errors": {
            "type": "array",
            "description": "One or more error details.",
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            }
          }
        },
        "example": {
          "errors": [
            {
              "status": 400,
              "message": "Invalid request"
            }
          ]
        }
      },
      "ErrorDetail": {
        "type": "object",
        "required": [
          "message"
        ],
        "properties": {
          "status": {
            "type": "integer",
            "description": "HTTP status code.",
            "example": 400
          },
          "message": {
            "type": "string",
            "description": "Human-readable error description.",
            "minLength": 1,
            "example": "Invalid request"
          }
        }
      },
      "LatestVersionByPropertiesResult": {
        "type": "object",
        "description": "Latest version result with optional file listing.",
        "properties": {
          "version": {
            "type": "string",
            "description": "The latest version string"
          },
          "artifacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "uri"
                }
              }
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "explorer-enabled": false
  }
}
```