# 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'