---
title: "Retrieve a permit"
method: GET
path: "/v1/permit/{permit_id}"
tags: ["permit"]
---

# Retrieve a permit

`GET /v1/permit/{permit_id}`

## Request

- Base URL: `http://localhost:3030`
- URL: `http://localhost:3030/v1/permit/{permit_id}`
- Auth: HTTP bearer

Retrieves a permit with its parcels, addresses, parties, dates, value, fees and decision.

A null `decision` means the permit is pending.

## Path parameters

- `permit_id` string, required: Unique identifier for the permit.

## Response `200`

The permit.

- Permit: A building or trade permit, with its decision.
  - `object` 'permit', required: The object's type. Always `permit`.
  - `id` string, required: A permit id.
  - `number` string, nullable, required: Permit number, as published. Null when not published.
  - `type` Code, required: A coded value, as published, with its standard equivalent.
    - `code` string, nullable: Code, as published.
    - `description` string, nullable: Meaning of the code, as published. Null when not published.
    - `standard` string, nullable: Standard value, shared across jurisdictions. Null when not yet classified.
  - `status` Code, required: A coded value, as published, with its standard equivalent.
    - `code` string, nullable: Code, as published.
    - `description` string, nullable: Meaning of the code, as published. Null when not published.
    - `standard` string, nullable: Standard value, shared across jurisdictions. Null when not yet classified.
  - `jurisdiction` ApplicationJurisdictionRef, required: The jurisdiction a permit or case was filed with.
    - `id` string, required: A jurisdiction id.
    - `name` string, required: The jurisdiction's common name.
    - `type` string, required: Kind of jurisdiction, in local terms, such as `county`, `parish`, `city` or `town`.
    - `fips` string, nullable: The Census GEOID. Null outside the US.
    - `href` string, required: The object's path in the API.
  - `within` ApplicationWithin[], required: The jurisdictions that contain `jurisdiction`, largest first.
    - `id` string, required: A jurisdiction id.
    - `name` string, required: The jurisdiction's common name.
    - `tier` string, required: Level of government. One of `national`, `region` (a state or province), `subregion` (a county or district) or `local` (a city, town, village or township).
    - `type` string, required: Kind of jurisdiction, in local terms, such as `county`, `parish`, `city` or `town`.
    - `fips` string, nullable: The Census GEOID. Null outside the US.
  - `agency` Agency, required: The office or board that handled a permit or case.
    - `name` string, required: Office name, as published.
    - `type` string, nullable: Office type, such as `building`, `planning`, `zoning_board` or `commission`. Null when not published.
  - `description` string, nullable, required: Description of the work, as published. Null when not published.
  - `parcels` ParcelRef[], required: Parcels the permit concerns. Empty when none are matched, which is common when only an address is published.
    - `id` string, required: A parcel id.
    - `number` string, nullable: Primary parcel number. Null when not published.
    - `href` string, required: The object's path in the API.
  - `addresses` Address[], required: Addresses on the permit. Empty when none are published.
    - `raw` string, required: Full address on one line: every line it is published on, in order, joined with a comma.
    - `recipient` string, nullable: Care-of or attention line, as published. Null when there is none.
    - `street_line_1` string, nullable: First street line: house number and street, or a PO box. Null when not published.
    - `street_line_2` string, nullable: Second street line: apartment, suite, unit or building. Null when there is none.
    - `street_number` string, nullable: House number. Null when not published.
    - `street_name` string, nullable: Street name, without its type. Null when not published.
    - `unit` string, nullable: Unit number. Null when there is none.
    - `locality` string, nullable: City, town or village. Null when not published.
    - `region` string, nullable: State, as its two-letter abbreviation. Null when not published.
    - `postal_code` string, nullable: ZIP or postal code. Null when not published.
    - `point` ParcelPoint: A point in WGS 84.
      - `lat` number, required: Latitude, in WGS 84.
      - `lon` number, required: Longitude, in WGS 84.
  - `parties` Party[], required: People and companies named on the permit. Empty when none are published.
    - `name` string, required: Name, as published.
    - `role` string, nullable: Role, such as `applicant`, `owner`, `contractor`, `architect`, `engineer` or `representative`. Null when not published.
    - `organization` string, nullable: Company or organization represented. Null when not published.
    - `license` string, nullable: License number. Null when not published.
  - `dates` PermitDates, required: Key dates of a permit, as published.
    - `applied` string, date, nullable: Application date. Null when not published.
    - `issued` string, date, nullable: Issue date. Null when not issued or not published.
    - `decided` string, date, nullable: Decision date: the issue date, or the date of a denial. Null when not decided.
    - `expires` string, date, nullable: Expiration date. Null when not published.
    - `completed` string, date, nullable: Completion date of the work. Null when not published.
  - `valuation` Valuation, required: The declared value of the work.
    - `amount` number, required: Amount, in `currency`.
    - `currency` string, required: ISO 4217 currency code.
  - `fees` Fee[], required: Fees, by category. Empty when none are published.
    - `category` string, required: Fee category, such as `building`, `zoning`, `plan_review` or `impact`. `total` is all fees combined, present only when no fee is published by category.
    - `total` number, nullable: Amount charged. Null when not published.
    - `paid` number, nullable: Amount paid. Null when not published.
    - `unpaid` number, nullable: Amount outstanding. Null when not published.
    - `waived` number, nullable: Amount waived. Null when not published.
    - `currency` string, nullable: ISO 4217 currency code. Null when no amount is published.
  - `decision` Decision, required: The decision on a permit or case.
    - `outcome` Code, required: A coded value, as published, with its standard equivalent.
      - `code` string, nullable: Code, as published.
      - `description` string, nullable: Meaning of the code, as published. Null when not published.
      - `standard` string, nullable: Standard value, shared across jurisdictions. Null when not yet classified.
    - `decided_on` string, date, nullable: Decision date. Null when not published.
    - `effective_from` string, date, nullable: Effective date. Null when not published.
    - `effective_to` string, date, nullable: End date. Null while in effect.
    - `conditions` Condition[], required: Conditions of approval, as published. Empty when there are none. A listed condition is not necessarily met.
      - `text` string, required: Condition text, as published.
      - `scope` string, nullable: What the condition applies to, as published. Null when not stated.
      - `timing` string, nullable: When the condition must be met, such as `before_permit`, `before_occupancy` or `ongoing`. Null when not stated.
      - `due` string, date, nullable: Due date. Null when not stated.
  - `document` Document, required: The published record of a permit or case.
    - `url` string, nullable: URL of the published record. Null when not published.
    - `retrieved` string, date, nullable: Date the record was retrieved. Null when not recorded.
  - `as_of` string, date, nullable, required: Date of the most recent update to this permit. Null when not recorded.
  - `href` string, required: The object's path in the API.

## Other responses

- `401`: `credential_missing`, `credential_invalid` or `credential_expired`. The request has no valid credential.
- `403`: `scope_missing`, `person_required`, `api_key_not_accepted` or `entitlement_missing`. The credential or plan does not allow this request. `detail` names the reason.
- `404`: `no_such_resource`. No permit has this id.
- `422`: `parameter_invalid`, `id_malformed` or a cursor code. A parameter is missing or invalid. `errors` lists each one.
- `429`: `rate_limited`. Too many requests. Retry after the `Retry-After` interval. Nothing is charged.
- `501`: `not_available`. Permit and case data is not available yet.

---

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