Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness External Data Provider API

10 actions 10 updates phrasing extends openapi/harness-external-data-provider-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Harness's API. It is a proposal applied on top of the contract, not a document Harness publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/ccm/api/externaldata/filesinfo'].post
$.paths['/ccm/api/externaldata/provider'].post
$.paths['/ccm/api/externaldata/dataingestion'].post
$.paths['/ccm/api/externaldata/provider/{providerId}'].delete
$.paths['/ccm/api/externaldata/filesinfo/{fileId}'].put
$.paths['/ccm/api/externaldata/filesinfo/{fileId}'].delete
$.paths['/ccm/api/externaldata/signedurl'].get
$.paths['/ccm/api/externaldata/provider/list'].post
$.paths['/ccm/api/externaldata/provider/filesinfo'].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 Harness External Data Provider API
  version: 1.0.0
extends: openapi/harness-external-data-provider-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 9
- target: $.paths['/ccm/api/externaldata/filesinfo'].post
  update:
    x-apievangelist-phrasing:
      intent: Register metadata for an external cost data file
      effect: write
      questions:
      - How do I record metadata for a cost file I uploaded from an external provider?
      - Can I register several external data files' details in one request?
      instructions:
      - text: Add metadata for external data files {files}.
        slots:
          files: requestBody.externalDataFiles
      - text: Register file info for my uploaded cost data in account {account}.
        slots:
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/externaldata/provider'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an external cost data provider
      effect: write
      questions:
      - How do I bring costs from a vendor that isn't a cloud provider into cloud cost management?
      - Can I define a new external data provider for my own cost files?
      instructions:
      - text: Create external data provider {provider}.
        slots:
          provider: requestBody.externalDataProvider
      - text: Add a new external cost data source in account {account}.
        slots:
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/externaldata/dataingestion'].post
  update:
    x-apievangelist-phrasing:
      intent: Start ingesting external cost data
      effect: write
      questions:
      - How do I kick off ingestion of an external provider's cost data for an invoice period?
      - Can I re-run ingestion for one provider's uploaded files?
      instructions:
      - text: Trigger data ingestion for provider {provider} for invoice period {period}.
        slots:
          provider: requestBody.providerId
          period: requestBody.invoicePeriod
      - text: Ingest the uploaded cost data for provider {provider}.
        slots:
          provider: requestBody.providerId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/externaldata/provider/{providerId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an external data provider
      effect: destructive
      questions:
      - How do I remove an external cost data provider I no longer use?
      - Can I delete an external provider by its ID?
      instructions:
      - text: Delete external data provider {provider}.
        slots:
          provider: path.providerId
      - text: Remove the external cost source {provider} from my account.
        slots:
          provider: path.providerId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/externaldata/filesinfo/{fileId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an external data file's metadata
      effect: write
      questions:
      - Can I correct the metadata on an external cost file I already registered?
      - How do I edit details of one uploaded external data file?
      instructions:
      - text: Update the metadata of external data file {file}.
        slots:
          file: path.fileId
      - text: Replace file info for {file} with {files}.
        slots:
          file: path.fileId
          files: requestBody.externalDataFiles
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/externaldata/filesinfo/{fileId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an external data file and its metadata
      effect: destructive
      questions:
      - How do I delete an uploaded external cost file along with its metadata?
      - Can I remove a bad data file I uploaded for an external provider?
      instructions:
      - text: Delete external data file {file} and its metadata.
        slots:
          file: path.fileId
      - text: Remove uploaded cost file {file}.
        slots:
          file: path.fileId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/externaldata/signedurl'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a signed URL to upload external cost data
      effect: read
      questions:
      - Where do I upload an external provider's cost file for a given invoice period?
      - Can I get a pre-signed upload link for a cost data object?
      instructions:
      - text: Get a signed upload URL for {object} from provider {provider} for period {period}.
        slots:
          object: query.objectName
          provider: query.providerId
          period: query.invoicePeriod
      - text: Give me an upload link for provider {provider} invoice period {period} named {object}.
        slots:
          provider: query.providerId
          period: query.invoicePeriod
          object: query.objectName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/externaldata/provider/list'].post
  update:
    x-apievangelist-phrasing:
      intent: List external data providers
      effect: read
      questions:
      - Which external cost data providers are set up in my account?
      - What non-cloud cost sources have I configured so far?
      instructions:
      - text: List all external data providers in account {account}.
        slots:
          account: query.accountIdentifier
      - text: Show my configured external cost sources for {account}.
        slots:
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/externaldata/provider/filesinfo'].post
  update:
    x-apievangelist-phrasing:
      intent: List uploaded files for external providers
      effect: read
      questions:
      - What cost files have been uploaded for a set of external providers?
      - Can I see file info across several external data providers at once?
      instructions:
      - text: List uploaded files for providers {providers}.
        slots:
          providers: requestBody.providerList
      - text: Show file info for every external provider in account {account}.
        slots:
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'