JFrog · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for JFrog Connect REST Updates API

5 actions 5 updates phrasing extends openapi/jfrog-updates-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 5

$.info
$.paths['/projects/{projectId}/updates'].get
$.paths['/projects/{projectId}/updates'].post
$.paths['/projects/{projectId}/updates/{updateId}'].get
$.paths['/projects/{projectId}/updates/{updateId}/cancel'].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 Connect REST Updates API
  version: 1.0.0
extends: openapi/jfrog-updates-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: 4
- target: $.paths['/projects/{projectId}/updates'].get
  update:
    x-apievangelist-phrasing:
      intent: List OTA update deployments
      effect: read
      questions:
      - Which over-the-air updates are rolling out in a device project?
      - Can I list only the OTA updates with a certain status?
      instructions:
      - text: List OTA updates in project {projectId}.
        slots:
          projectId: path.projectId
      - text: Show only OTA rollouts whose status is {status} for device project {projectId}.
        slots:
          status: query.status
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/projects/{projectId}/updates'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an OTA software update
      effect: write
      questions:
      - How do I push a software update over the air to my devices?
      - Can an OTA update roll back automatically if it fails?
      - Can I schedule an update for specific device groups?
      instructions:
      - text: Create OTA update {name} of type {update_type} in project {projectId}.
        slots:
          name: requestBody.name
          update_type: requestBody.update_type
          projectId: path.projectId
      - text: In project {projectId}, roll out {update_type} update {name} to groups {target_groups} on schedule {schedule}.
        slots:
          projectId: path.projectId
          update_type: requestBody.update_type
          name: requestBody.name
          target_groups: requestBody.target_groups
          schedule: requestBody.schedule
      method: generated
      generated: '2026-10-01'
- target: $.paths['/projects/{projectId}/updates/{updateId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an OTA update's status
      effect: read
      questions:
      - How far along is a particular OTA update?
      - Can I check whether an update succeeded on my devices?
      instructions:
      - text: Get update {updateId} in project {projectId}.
        slots:
          updateId: path.updateId
          projectId: path.projectId
      - text: Show me the status of OTA update {updateId} in {projectId}.
        slots:
          updateId: path.updateId
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/projects/{projectId}/updates/{updateId}/cancel'].post
  update:
    x-apievangelist-phrasing:
      intent: Cancel an OTA update
      effect: destructive
      questions:
      - Can I cancel an OTA update that is still pending or in progress?
      - How do I halt a rollout to my devices?
      instructions:
      - text: Cancel update {updateId} in project {projectId}.
        slots:
          updateId: path.updateId
          projectId: path.projectId
      - text: Halt the OTA rollout {updateId} for project {projectId}.
        slots:
          updateId: path.updateId
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'