# Trame developer and agent resources

Trame is job management software for UK tradespeople: enquiries, quotes, jobs,
invoices, payments and expenses in one place. This page lists the parts of
[trame.co.uk](https://trame.co.uk) that are meant to be read by a program.

Everything here is public and needs no key.

## Machine-readable index

| Resource | URL | Format |
| --- | --- | --- |
| Site index for language models | https://trame.co.uk/llms.txt | text/plain, llmstxt.org |
| Full text of every public page | https://trame.co.uk/llms-full.txt | text/markdown |
| XML sitemap | https://trame.co.uk/sitemap.xml | application/xml |
| Crawler policy and content signals | https://trame.co.uk/robots.txt | text/plain |
| Security contact | https://trame.co.uk/.well-known/security.txt | text/plain, RFC 9116 |

## Markdown content negotiation

Every public page on trame.co.uk is available as Markdown at the same URL, using
`Accept` content negotiation as described at
[acceptmarkdown.com](https://acceptmarkdown.com).

```
curl -H "Accept: text/markdown" https://trame.co.uk/quoting
```

The response is `Content-Type: text/markdown; charset=utf-8` and carries
`Vary: Accept`, so a cache never serves the HTML variant to a client that asked
for Markdown.

If you would rather not send a header, append `.md` to any public path:

```
curl https://trame.co.uk/guides/tax/self-employed-tax-explained.md
```

The homepage is `https://trame.co.uk/index.md`.

Quality values are honoured, so `Accept: text/html;q=0.9, text/markdown;q=0.8`
gets HTML and `Accept: text/markdown, text/html;q=0.9` gets Markdown. A request
that accepts neither HTML nor Markdown gets `406 Not Acceptable`.

The signed-in app, the API, the auth pages and customer-facing quote and invoice
documents do not negotiate. They always serve what they always served.

## Missing pages

A path that does not exist returns a real `404`, never a `200` with an empty app
shell. Ask for Markdown and the 404 body is Markdown too, listing where to look
next.

```
curl -s -o /dev/null -w "%{http_code}\n" https://trame.co.uk/no-such-page
```

## Crawling and content signals

`robots.txt` carries a `Content-Signal` directive using the vocabulary drafted by
the IETF aipref working group, see [contentsignals.org](https://contentsignals.org).
Trame's guides and tools are published as reference material for UK tradespeople:
`search=yes, ai-input=yes, ai-train=yes`. The signed-in app and the API are
disallowed.

## Getting data out of Trame

Data export is in the product rather than over an API. From a Trame account you can
export:

- Invoices and expenses as CSV, scoped to a UK tax year or a single quarter.
- Import files for Xero, QuickBooks and FreeAgent, with expenses categorised for
  CIS and SA103.
- Everything in your account, from Account settings.

## Integrations

- **FreeAgent** (live). Connect once and invoices, expenses and payments cross over
  as you work. See [trame.co.uk/integrations/freeagent](https://trame.co.uk/integrations/freeagent).
- **Xero** (coming soon). See [trame.co.uk/integrations/xero](https://trame.co.uk/integrations/xero).
- **Stripe** for online card and Pay by Bank payments, into your own Stripe account.
- **Calendar sync** by iCal subscription, for Apple Calendar, Google Calendar and
  Outlook.

## Is there a public API?

Not yet. Trame does not publish a public REST API, an OpenAPI description, webhooks
for third parties, or an MCP server. If you want to build against Trame, email
hello@trame.co.uk and tell us what you are trying to do. This page is updated when
that changes.

## Contact

- General and developer questions: hello@trame.co.uk
- Security reports: see [security.txt](https://trame.co.uk/.well-known/security.txt)

---

Canonical HTML: https://trame.co.uk/developers
Site index for agents: https://trame.co.uk/llms.txt
Full text of every page: https://trame.co.uk/llms-full.txt
Sitemap: https://trame.co.uk/sitemap.xml
