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.
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
# 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'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/harness-external-data-provider-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.