openapi: 3.1.0 info: title: JFrog Access REST Access Tokens Workers API description: API for managing users, groups, permissions, projects, and access tokens across the JFrog Platform. JFrog Access handles identity management, role-based access control, federated identity, and scoped token creation for authentication and authorization across all JFrog services. version: 2.x contact: name: JFrog url: https://jfrog.com license: name: Proprietary url: https://jfrog.com/terms-of-service/ termsOfService: https://jfrog.com/terms-of-service/ servers: - url: https://{server}.jfrog.io/access description: JFrog Cloud variables: server: default: myserver description: Your JFrog server name - url: https://{host}/access description: Self-hosted JFrog instance variables: host: default: localhost:8082 description: Your self-hosted JFrog server host security: - bearerAuth: [] - basicAuth: [] tags: - name: Workers description: Worker lifecycle management paths: /v1/workers: get: operationId: listWorkers summary: JFrog List Workers description: Returns a list of all registered workers. tags: - Workers responses: '200': description: Workers list retrieved content: application/json: schema: type: object properties: workers: type: array items: $ref: '#/components/schemas/Worker' post: operationId: createWorker summary: JFrog Create Worker description: Creates a new serverless worker with TypeScript code. tags: - Workers requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkerRequest' responses: '201': description: Worker created content: application/json: schema: $ref: '#/components/schemas/Worker' '400': description: Invalid worker configuration /v1/workers/{workerKey}: get: operationId: getWorker summary: JFrog Get Worker description: Returns details for a specific worker. tags: - Workers parameters: - name: workerKey in: path required: true schema: type: string description: Worker key identifier responses: '200': description: Worker details content: application/json: schema: $ref: '#/components/schemas/Worker' '404': description: Worker not found put: operationId: updateWorker summary: JFrog Update Worker description: Updates an existing worker's code or configuration. tags: - Workers parameters: - name: workerKey in: path required: true schema: type: string description: Worker key identifier requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkerRequest' responses: '200': description: Worker updated delete: operationId: deleteWorker summary: JFrog Delete Worker description: Deletes a worker. tags: - Workers parameters: - name: workerKey in: path required: true schema: type: string description: Worker key identifier responses: '204': description: Worker deleted /v1/workers/{workerKey}/enable: put: operationId: enableWorker summary: JFrog Enable Worker description: Enables a disabled worker. tags: - Workers parameters: - name: workerKey in: path required: true schema: type: string description: Worker key identifier responses: '200': description: Worker enabled /v1/workers/{workerKey}/disable: put: operationId: disableWorker summary: JFrog Disable Worker description: Disables an active worker. tags: - Workers parameters: - name: workerKey in: path required: true schema: type: string description: Worker key identifier responses: '200': description: Worker disabled components: schemas: WorkerRequest: type: object properties: key: type: string description: type: string enabled: type: boolean default: true source_code: type: string description: TypeScript source code for the worker action: type: string enum: - BEFORE_DOWNLOAD - AFTER_DOWNLOAD - BEFORE_UPLOAD - AFTER_CREATE - AFTER_BUILD_INFO_SAVE - AFTER_MOVE - AFTER_COPY - BEFORE_DELETE - BEFORE_CREATE_TOKEN - GENERIC_EVENT filter_criteria: type: object properties: artifact_filter_criteria: type: object properties: repo_keys: type: array items: type: string secrets: type: array items: type: object properties: key: type: string value: type: string required: - key - source_code - action Worker: type: object properties: key: type: string description: type: string enabled: type: boolean source_code: type: string description: TypeScript source code for the worker action: type: string enum: - BEFORE_DOWNLOAD - AFTER_DOWNLOAD - BEFORE_UPLOAD - AFTER_CREATE - AFTER_BUILD_INFO_SAVE - AFTER_MOVE - AFTER_COPY - BEFORE_DELETE - BEFORE_CREATE_TOKEN - GENERIC_EVENT description: The JFrog Platform event that triggers this worker filter_criteria: type: object properties: artifact_filter_criteria: type: object properties: repo_keys: type: array items: type: string secrets: type: array items: type: object properties: key: type: string value: type: string created: type: string format: date-time modified: type: string format: date-time securitySchemes: bearerAuth: type: http scheme: bearer description: Access token authentication basicAuth: type: http scheme: basic description: Basic username/password authentication externalDocs: description: JFrog Access REST API Documentation url: https://jfrog.com/help/r/jfrog-platform-administration-documentation/access-token-rest-api