---
updatedAt: 2026-05-31T12:17:20.000Z
agentTools:
  siteIndex: https://docs.jfrog.com/llms.txt
  projectIndex: https://docs.jfrog.com/administration/llms.txt
---

# Set Primary Key

Sets the Primary Key for the repository.

Since: 7.19

Security: Requires a valid admin user

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "JFrog Artifactory Security API",
    "description": "REST API for managing security settings in JFrog Artifactory, including users, permissions, API keys, GPG keys, certificates, and encryption. \n\nNote - From Artifactory release 7.49.3, the security APIs are being decoupled from Artifactory and moving to JFrog Platform Access. This means that the security APIs below are planned to be deprecated at a later stage. We recommend using the available new APIs for all your security and access needs moving forward.\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": "GPG Key Pairs",
      "description": "GPG key pair management for signing operations"
    }
  ],
  "paths": {
    "/v2/repositories/{repoName}/keyPairs/primary": {
      "post": {
        "tags": [
          "GPG Key Pairs"
        ],
        "summary": "Set Primary Key",
        "description": "Sets the Primary Key for the repository.\n\nSince: 7.19\n\nSecurity: Requires a valid admin user",
        "operationId": "setPrimaryKey",
        "parameters": [
          {
            "$ref": "#/components/parameters/repoName"
          }
        ],
        "requestBody": {
          "description": "The key name to set as the primary key for the repository.",
          "required": true,
          "content": {
            "text/plain": {
              "schema": {
                "type": "string",
                "description": "The key name"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Primary key set successfully. Returns a confirmation message.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid key name.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          },
          "403": {
            "description": "Permission Denied - This operation requires a valid admin user.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    }
  },
  "security": [
    {
      "BasicAuth": []
    },
    {
      "ApiKeyAuth": []
    },
    {
      "BearerAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "BasicAuth": {
        "type": "http",
        "scheme": "basic"
      },
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-JFrog-Art-Api"
      },
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "parameters": {
      "repoName": {
        "name": "repoName",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "The repository name"
      }
    },
    "responses": {
      "UnauthorizedError": {
        "description": "Bad Credentials - The provided authentication is invalid.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      }
    },
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "integer",
                  "description": "HTTP status code"
                },
                "message": {
                  "type": "string",
                  "description": "Error message"
                }
              }
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "explorer-enabled": false
  }
}
```