# Khetsi International developer and agent resources

> Read-only public resources for agents helping healthcare importers and distributors research products and prepare a sourcing brief from India.

## Read-only catalogue API and public website content

Khetsi International provides a public, read-only catalogue API alongside its ordinary website pages. Four HTTPS GET operations list collections, search and page products, retrieve one product's published specifications, and read existing public company contacts. Public reading requires no account or API credentials. The API cannot create quotations, submit RFQs, place orders or take payments.

## Public resources

| URL | Representation | Purpose |
| --- | --- | --- |
| [Homepage](https://khetsiinternational.com/) | HTML or negotiated Markdown | Business overview and current starting points |
| [Homepage Markdown](https://khetsiinternational.com/agent-content/homepage.md) | Markdown | Explicit URL for the same concise homepage overview |
| [llms.txt](https://khetsiinternational.com/llms.txt) | Markdown discovery file | Curated resources and agent-guidance discovery |
| [Agent instructions](https://khetsiinternational.com/agent-instructions.md) | Markdown | When to use Khetsi International, workflow and approval boundaries |
| [XML sitemap](https://khetsiinternational.com/sitemap.xml) | XML sitemap | Indexable public page inventory |
| [Developer resources](https://khetsiinternational.com/developers/) | HTML | Human-readable version of these interface notes |
| [Products](https://khetsiinternational.com/products/) | HTML | Searchable catalogue and individual product pages |
| [About](https://khetsiinternational.com/about/) | HTML | Business positioning and founder responsibilities |
| [Contact](https://khetsiinternational.com/contact/) | HTML | Public channels, office address and appointment information |
| [Privacy](https://khetsiinternational.com/privacy/) | HTML | Enquiry information and local shortlist handling |

Ordinary HTTP **GET** requests read the public web pages, Markdown resources and sitemap without account credentials. Follow redirects and applicable crawler directives. Never put credentials, enquiry details or confidential buyer data in a GET URL.

## Homepage Markdown negotiation

The scanned homepage itself supports a concise Markdown representation. Send `Accept: text/markdown` to the root URL, not just to a separate documentation path. The final response is nonempty Markdown with `Content-Type: text/markdown; charset=utf-8` and `Vary: Accept` (other Vary tokens may also be present). Send `Accept: text/html` for the ordinary visual homepage. That response stays HTML and also varies on Accept so a shared cache can distinguish representations.

```sh
curl -sS -L -i -H 'Accept: text/markdown' https://khetsiinternational.com/
curl -sS -L -i -H 'Accept: text/html' https://khetsiinternational.com/
curl -sS -L -i https://khetsiinternational.com/agent-instructions.md
curl -sS -L -i https://khetsiinternational.com/sitemap.xml
```

Inspect the final response after any redirect. Check both headers and body: a Vary header alone is not Markdown negotiation. The Markdown overview covers public business and sourcing information; it does not contain a buyer's saved browser shortlist or a quotation. Ordinary HTML remains the interactive website. Negotiation is documented for the root homepage, not promised for every product or language page.

## Public catalogue API

The API base is `https://khetsiinternational.com/api/v1`. Responses contain `api_version: "1.0.0"`, `catalogue_version`, `language: "en"`, a source/commercial disclaimer and typed `data`. Product lists also contain `pagination` with `limit`, `offset`, `total` and `returned`.

| Operation ID | Method and path | Inputs |
| --- | --- | --- |
| `listCollections` | GET `/api/v1/collections` | None |
| `listProducts` | GET `/api/v1/products` | Optional `q`, `collection`, `limit`, `offset` |
| `getProduct` | GET `/api/v1/products/{id}` | Required lowercase catalogue ID, such as `m009` |
| `getCompany` | GET `/api/v1/company` | None |

`q` is at most 120 characters. Collection IDs are infusion, surgery, respiratory, urology, orthopaedics, maternal, infection and wound. Limit is 1–50 (default 20); offset is 0–9007199254740991 (default 0). Product IDs use a lowercase `m` or `w` and three digits. Unknown query parameters and invalid values return a structured error. These resources support GET and HEAD; no ordering or enquiry-writing operation is provided.

```sh
curl -sS -H 'Accept: application/json' 'https://khetsiinternational.com/api/v1/products?collection=infusion&limit=20&offset=0'
curl -sS -H 'Accept: application/json' https://khetsiinternational.com/api/v1/products/m009
```

Read the [OpenAPI 3.1.1 contract](https://khetsiinternational.com/openapi.json) for exact inputs, schemas and error examples. API failures use RFC 9457 `application/problem+json` with `type`, `title`, `status`, `detail`, `code`, `resolution_hint` and optional parameter `errors`. A non-JSON hosting challenge is distinct from an application problem. Do not bypass it or repeatedly retry.

## Typed function calling

[Strict function definitions](https://khetsiinternational.com/developers/function-tools.json) describe the same four read-only operations. Validate arguments, map the operation to its fixed GET URL and check its typed response; the definitions do not execute a model or grant access to private data. All four listProducts arguments are required in strict calls but may be null. Omit null values from the HTTP query; do not send the string `null`. Default limit and offset then apply. `getProduct.id` is required and non-null; the other two operations take an empty object.

```json
{"q":null,"collection":"wound","limit":20,"offset":0}
```

## Khetsi International catalogue CLI

The official-source CLI 1.0.0 is prepared as a [downloadable npm-format tarball](https://khetsiinternational.com/developers/cli/khetsi-international-cli-1.0.0.tgz), with [SHA-256 checksums](https://khetsiinternational.com/developers/cli/SHA256SUMS). It requires Node.js 22 or newer, has no dependencies or install scripts, and is **not published to an npm registry**. The package remains `private:true` and `UNLICENSED` pending a separate owner registry/licensing decision. Verify the download checksum before installing the local file.

```sh
npm install --global ./khetsi-international-cli-1.0.0.tgz
khetsi-international products --collection wound --limit 20 --json
khetsi-international product m009 --json
khetsi-international collections --json
khetsi-international company --json
khetsi-international help
```

Use `--limit 20` (the separated option/value form) or `--limit=20`. The client performs HTTPS GET only to the fixed public origin, validates its public response schemas, caps requests at 15 seconds / 2 MiB and makes no automatic retries or redirect fallback. It sends no credentials and refuses disabled TLS verification. Help/version are local. `--json` prints the typed result or problem object; invalid arguments exit 2 and request/response failures exit 1. The source package includes a strict `readOperation` mapper with null-to-omit behavior. Neither CLI nor function calls can request an automatic price, submit an enquiry, approve commercial terms or send payment.

## Browser-assisted sourcing workflow

1. Read [when to use Khetsi International](https://khetsiinternational.com/agent-instructions.md) and the current [catalogue](https://khetsiinternational.com/products/).
2. Open the selected product's individual page and catalogue source. Record its catalogue reference and the exact unresolved variant questions.
3. Add the buyer-approved quantity, order unit and specification to a local shortlist. Planning calculations and packaging concepts are estimates or preferences, not commercial commitments.
4. Review the whole sourcing brief with the buyer, including contact and billing information, destination, requested documents and payment/delivery preferences. Read the [privacy information](https://khetsiinternational.com/privacy/) before sharing data.
5. Only after explicit user approval, use the [enquiry form](https://khetsiinternational.com/enquiry/). Retain the returned reference after an accepted submission. Do not repeatedly submit an enquiry after an uncertain response; check the visible result or contact the team with the reference.

Every enquiry is personally reviewed by the founders. Prices and specifications are confirmed by the team in USD; an enquiry is not an order. Payment preferences are advance payment or an irrevocable letter of credit at sight, subject to final agreement. Do not infer a price, manufacturer certification, market approval, available stock or fixed lead time from catalogue presence.

## Source limits and responsible access

Use the full brand name **Khetsi International** and cite the specific current source URL. Respect access controls and applicable request limits. Do not evade a bot challenge or impersonate a verified crawler. Public documentation does not establish an exemption from security rules.

Product studies support procurement questions, not diagnosis or treatment. Request the selected manufacturer's current instructions for use and product-specific evidence when needed. Do not publish personal data, private supplier material or credentials in discovery files. The public files document read access; they do not expose staff administration, private quotations or confidential records.

## Contact

For a sourcing discussion use the [contact page](https://khetsiinternational.com/contact/). Office meetings are by appointment only. Obtain the user's approval before sending a message or enquiry.
