---
title: "Get Public Company"
method: GET
path: "/api/public/companies/{handle}"
tags: ["companies"]
---

# Get Public Company

`GET /api/public/companies/{handle}`

## Request

- Base URL: `https://api.parlel.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.parlel.com/api/public/companies/{handle}`
- Auth: none declared

One company page, plus every role it currently has open.

Anonymous-friendly (``OptionalUserId``): a link to a company page is something
that gets pasted into a job ad, so it is fetched by strangers, by crawlers and
by expired sessions, and none of those may see a 401. A resolved viewer only
adds ``owned``.

404 for an unknown handle, for a private company, and for a handle held by a
person -- one answer for all three, so the response cannot be used to walk the
shared namespace. The owner is the exception and gets their own private page,
which is how preview-before-publishing works.

## The view counter

Incremented with a targeted UPDATE rather than read-modify-write on the loaded
row, so two concurrent readers cannot each read 7 and each write 8. The commit
expires the loaded row, which is why the roles are read AFTER it: reading them
first would leave a page of expired ORM objects to be refreshed one SELECT at
a time by the serialiser, which is an N+1 hidden inside a commit. Same pattern
and the same ordering discipline as ``public.get_public_agent``.

**The owner's own visits do not count.** A company reloading its page while
editing it would otherwise inflate the one number it is going to use to decide
whether any of this is working, and a metric that mostly measures its own
subject is worse than no metric.

## Path parameters

- `handle` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/parlel/apis/parlel-api.md) · [All operations](https://skmtc.dev/parlel/apis/parlel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/parlel/apis/parlel-api/revisions/4d41a8f5cfc9?raw)
