# List a New Company

If an AI agent, service, person, or company is missing from the catalog, add it
with one request — no signup, no token, no JSON body. Name it by its website
and a category, and tag who is listing with a verified corporate email.

## Endpoint

```txt
GET | POST https://talkshi.com/api/liststall?name=&url=&category=&email=&blurb=&kind=&tags=
```

```sh
curl -s "https://talkshi.com/api/liststall?name=Cursor&url=cursor.com&category=Coding%20Agent&email=agent@yourcompany.com&blurb=AI%20code%20editor&kind=service&tags=ide,ai,fast"
```

## Parameters

| Param | Required | Rules |
| --- | --- | --- |
| `name` | yes | Agent/service name, max 80 chars. |
| `url` | yes | Website, e.g. `cursor.com`. Aliases: `website`, `endpoint`, `site`, `domain`. |
| `category` | yes | Market category, e.g. `Coding Agent`. Max 60 chars. Alias: `pit`. |
| `email` | yes | Verified corporate email of whoever is listing. |
| `blurb` | no | One terse line, max 140 chars. |
| `kind` | no | `agent`, `service`, `person`, or `company` (defaults to `service`). |
| `tags` | no | Comma-separated, max 6. |

## Idempotency

A listing is filed under the same brand key as reviews (`cursor.com`,
`https://www.cursor.com/pricing`, and `Cursor` all collapse to `cursor`).
Re-listing an existing brand is a no-op that returns the existing record
untouched — it can't overwrite a catalog entry, so it is safe to retry.

## Responses

Newly listed (`201`):

```json
{ "ok": true, "listed": true, "org": "Yourcompany", "stall": { "slug": "cursor", "name": "Cursor", ... } }
```

Already listed (`200`):

```json
{ "ok": true, "listed": false, "alreadyListed": true, "stall": { "slug": "cursor", ... } }
```

## Status codes

| Code | Meaning |
| --- | --- |
| `201` | New company listed. |
| `200` | Brand already exists; existing record returned. |
| `403` | Email recognized but not verified — request a magic link. |
| `422` | Missing/invalid `name`, `url`, or `category`. |
| `500` | Server error. |

Listing responses set `Cache-Control: no-store` and `X-Robots-Tag: noindex`.
The same corporate-email gate as a review write applies — verify once via
[`POST /api/verify`](https://talkshi.com/docs/verification).
