{"openapi":"3.1.0","info":{"title":"Lokah catalogue API","version":"0.1.0","summary":"Read-only access to the dataset catalogue.","description":"Lokah is the data platform of Kenpath Labs, a frontier AI and data company in Bengaluru. Its catalogue holds licensable datasets for training and evaluating AI, conversational speech in Indian languages and English first, each with a playable sample, a specification measured from the files and a conversation profile. No authentication. The same records are available over MCP at https://kenpathlabs.com/api/lokah/mcp and as Croissant metadata per dataset.","contact":{"name":"Kenpath Labs","email":"hello@kenpathlabs.com","url":"https://kenpathlabs.com"}},"servers":[{"url":"https://kenpathlabs.com"}],"paths":{"/api/lokah/datasets":{"get":{"operationId":"listDatasets","summary":"List and filter datasets","parameters":[{"name":"q","in":"query","required":false,"description":"Free text over title, id, domain and language.","schema":{"type":"string"}},{"name":"language","in":"query","required":false,"description":"Language name, ISO 639-3 code or BCP-47 tag: Hindi, hin, hi-IN.","schema":{"type":"string"}},{"name":"channels","in":"query","required":false,"description":"dual: one channel per speaker. mono: one mixed channel with speaker labels.","schema":{"type":"string","enum":["dual","mono"]}},{"name":"collection","in":"query","required":false,"description":"What kind of conversation.","schema":{"type":"string","enum":["call-centre","general-conversation"]}},{"name":"sample","in":"query","required":false,"description":"Only datasets with a public playable sample.","schema":{"type":"boolean"}},{"name":"transcribed","in":"query","required":false,"description":"Only datasets with time-aligned transcripts.","schema":{"type":"boolean"}},{"name":"min_hours","in":"query","required":false,"description":"Minimum volume, in hours.","schema":{"type":"number"}}],"responses":{"200":{"description":"Matching datasets, short form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetList"}}}}}}},"/api/lokah/datasets/{slug}":{"get":{"operationId":"getDataset","summary":"One dataset's full record","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"example":"hindi-call-centre-insurance"}],"responses":{"200":{"description":"The record. Null fields are not held; `gaps` lists them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"}}}},"404":{"description":"No dataset with that slug."}}}},"/api/lokah/enquiry":{"post":{"operationId":"sendEnquiry","summary":"Send a licensing, sample or collection enquiry on a person's behalf","description":"The way an agent reaches Kenpath Labs. One JSON body, no auth. A person replies by email to `email`; nothing is priced or licensed automatically. Send it only once the person has agreed. Rate limited per address.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email","intent"],"properties":{"name":{"type":"string","description":"The person's name."},"email":{"type":"string","format":"email","description":"Where the reply goes."},"company":{"type":"string"},"intent":{"type":"string","enum":["quote","sample","collection","question"],"description":"quote: a licence quote on a dataset. sample: its sample bundle by email, under the Evaluation Licence. collection: a collection recorded to a brief. question: anything else (message required)."},"dataset":{"type":"string","description":"Dataset slug or id, for a quote or a sample."},"message":{"type":"string","maxLength":5000,"description":"The use, the hours, the languages, the deadline."},"agent":{"type":"string","description":"Which agent or product is sending this."}}}}}},"responses":{"202":{"description":"Received. `next` says what happens.","content":{"application/json":{"schema":{"type":"object","properties":{"received":{"type":"boolean"},"intent":{"type":"string"},"dataset":{"type":["object","null"]},"next":{"type":"string"},"contact":{"type":"string"}}}}}},"400":{"description":"A required field is missing or the dataset slug is unknown; `error` says which."},"429":{"description":"Too many enquiries from this address; try again in an hour."}}}},"/lokah/datasets/{slug}/croissant.json":{"get":{"operationId":"getCroissant","summary":"MLCommons Croissant 1.0 metadata for a dataset","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Croissant JSON-LD.","content":{"application/ld+json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"DatasetBrief":{"type":"object","required":["id","slug","title","language","hours","url","record"],"properties":{"id":{"type":"string","example":"LK-SP-HIN-001"},"slug":{"type":"string"},"title":{"type":"string"},"language":{"type":"string"},"bcp47":{"type":"string","example":"hi-IN"},"hours":{"type":"number"},"channels":{"type":["string","null"],"enum":["dual","mono",null]},"collection":{"type":"string","enum":["call-centre","general-conversation"]},"domain":{"type":"string"},"transcribed":{"type":"boolean"},"hasSample":{"type":"boolean"},"englishShare":{"type":["number","null"],"description":"Share of transcript words written in Latin script, measured from a sample conversation. A transcript that spells English words in the native script reads as 0."},"url":{"type":"string","format":"uri"},"record":{"type":"string","format":"uri"},"croissant":{"type":"string","format":"uri"}}},"DatasetList":{"type":"object","properties":{"count":{"type":"integer"},"totalHours":{"type":"integer"},"datasets":{"type":"array","items":{"$ref":"#/components/schemas/DatasetBrief"}}}},"Dataset":{"type":"object","description":"The full record. `sample.metrics` holds the conversation profile; `sample.metrics.turnTaking` exists for dual-channel data only.","required":["id","slug","title","language","hours","gaps"],"properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"},"language":{"type":"object"},"hours":{"type":"number"},"channels":{"type":["string","null"]},"sample":{"type":["object","null"]},"gaps":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}}}}