DoiT · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for DoiT Data Hub API
10 actions
10 updates
phrasing
extends
openapi/doit-data-hub-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for DoiT's API. It is a proposal applied on top of the contract, not a document DoiT publishes.
What the actions change
x-apievangelist-phrasing
Targets 10
$.info
$.paths['/datahub/v1/csv/upload'].post
$.paths['/datahub/v1/events'].post
$.paths['/datahub/v1/events/delete'].post
$.paths['/datahub/v1/datasets'].get
$.paths['/datahub/v1/datasets'].post
$.paths['/datahub/v1/datasets'].delete
$.paths['/datahub/v1/datasets/{name}'].get
$.paths['/datahub/v1/datasets/{name}'].delete
$.paths['/datahub/v1/datasets/{name}'].patch
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 DoiT Data Hub API
version: 1.0.0
extends: openapi/doit-data-hub-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: 9
- target: $.paths['/datahub/v1/csv/upload'].post
update:
x-apievangelist-phrasing:
intent: Upload cost events from a CSV file
effect: write
questions:
- Can I load custom cost data into DataHub from a CSV file?
- Does DataHub accept zipped or gzipped CSV uploads?
- How long until uploaded CSV data shows up?
instructions:
- text: Upload CSV file {file} to DataHub for provider {provider}.
slots:
file: requestBody.file
provider: requestBody.provider
- text: Ingest the CSV {file} into DataHub.
slots:
file: requestBody.file
method: generated
generated: '2026-10-01'
- target: $.paths['/datahub/v1/events'].post
update:
x-apievangelist-phrasing:
intent: Send a batch of JSON events to DataHub
effect: write
questions:
- How do I push custom billing events to DataHub as JSON?
- Can I send several events in one request?
instructions:
- text: Send events {events} to DataHub.
slots:
events: requestBody.events
- text: 'Ingest this JSON event batch: {events}.'
slots:
events: requestBody.events
method: generated
generated: '2026-10-01'
- target: $.paths['/datahub/v1/events/delete'].post
update:
x-apievangelist-phrasing:
intent: Delete specific DataHub events
effect: destructive
questions:
- How do I remove bad events I sent to DataHub?
- Can I delete events by time range instead of by ID?
instructions:
- text: Delete events {eventIds} from dataset {dataset}.
slots:
eventIds: requestBody.eventIds
dataset: requestBody.dataset
- text: Delete events in dataset {dataset} between {startTime} and {endTime}.
slots:
dataset: requestBody.dataset
startTime: requestBody.startTime
endTime: requestBody.endTime
method: generated
generated: '2026-10-01'
- target: $.paths['/datahub/v1/datasets'].get
update:
x-apievangelist-phrasing:
intent: List DataHub datasets
effect: read
questions:
- Which DataHub datasets do we have?
- Where can I see all my custom data sources in DataHub?
instructions:
- text: List all DataHub datasets.
- text: Show our DataHub datasets.
method: generated
generated: '2026-10-01'
- target: $.paths['/datahub/v1/datasets'].post
update:
x-apievangelist-phrasing:
intent: Create a DataHub dataset
effect: write
questions:
- How do I set up a new dataset for custom cost events?
- Can I add a description when creating a dataset?
instructions:
- text: Create DataHub dataset {name}.
slots:
name: requestBody.name
- text: Create dataset {name} described as {description}.
slots:
name: requestBody.name
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/datahub/v1/datasets'].delete
update:
x-apievangelist-phrasing:
intent: Delete several datasets at once
effect: destructive
questions:
- Can I delete multiple DataHub datasets in one call?
- Does deleting datasets also remove their data?
instructions:
- text: Delete datasets {datasets} and all their data.
slots:
datasets: requestBody.datasets
- text: Bulk delete DataHub datasets {datasets}.
slots:
datasets: requestBody.datasets
method: generated
generated: '2026-10-01'
- target: $.paths['/datahub/v1/datasets/{name}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a dataset
effect: read
questions:
- How do I see the details of one DataHub dataset?
- Can I look up a dataset by name?
instructions:
- text: Get DataHub dataset {name}.
slots:
name: path.name
- text: Show details for dataset {name}.
slots:
name: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/datahub/v1/datasets/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a single dataset
effect: destructive
questions:
- How do I delete just one DataHub dataset by name?
- Can I remove a single dataset I no longer need?
instructions:
- text: Delete the dataset named {name}.
slots:
name: path.name
- text: Remove DataHub dataset {name}.
slots:
name: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/datahub/v1/datasets/{name}'].patch
update:
x-apievangelist-phrasing:
intent: Update a dataset's description
effect: write
questions:
- Can I rename a DataHub dataset or only change its description?
- How do I edit the description of a dataset?
instructions:
- text: Set the description of dataset {name} to {description}.
slots:
name: path.name
description: requestBody.description
- text: 'Update dataset {name} description: {description}.'
slots:
name: path.name
description: requestBody.description
method: generated
generated: '2026-10-01'
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/doit-data-hub-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.