Skip to content

Get an organization location

GET
/organizations/{oid}/locations/{lid}
curl --request GET \
--url https://apisandbox.puurk.com/organizations/example/locations/example \
--header 'Authorization: Bearer <token>'

Returns a single location

oid
required
string

Organization ID

lid
required
string

Location ID

Successful operation

Media typeapplication/json

A physical location of an organization. Onboarding reads the primary location: business_profile_complete needs ein, a logo and a location with is_primary true, and sales_tax_set needs sales_tax_rate on that location.

Every property is nullable — a location written before these endpoints existed may be missing any of them.

object
id

Unique identifier for the location

string
nullable
oid

Organization ID

string
nullable
eid

External identifier

string
nullable
name
string
nullable
address_line_1
string
nullable
address_line_2
string
nullable
city
string
nullable
state

Two-letter US state or territory code. Accepted in any case on a write and stored upper-cased — ca is read back as CA.

string
nullable
zip

12345 or 12345-6789

string
nullable
phone_number
string
nullable
email_address
string
nullable
is_primary

Exactly one location per organization is primary. The first location created is primary automatically.

boolean
nullable
sales_tax_rate

Decimal fraction between 0 and 1 — 0.0825 for 8.25%, not 8.25.

number format: double
nullable
photo_url

Set by Puurk; never accepted from a request body.

string
nullable
email_verified

Set by Puurk; never accepted from a request body.

boolean
nullable
Example
{
"name": "Main Street",
"address_line_1": "1 Main St",
"address_line_2": "Suite 200",
"city": "Austin",
"state": "TX",
"zip": "78701",
"phone_number": "5125551234",
"email_address": "main@example.com",
"sales_tax_rate": 0.0825
}

Unauthorized

forbidden — the token lacks the read action on organizations for this organization. Scope is checked before existence, so an unauthorized caller gets this rather than a 404.

Media typeapplication/json

The standard error body. error is a stable, machine-readable code — branch on it rather than on message, which is for humans and may change.

object
error

Machine-readable error code.

string
message

Human-readable detail.

string
Example
{
"error": "merchant_account_missing",
"message": "The organization has no merchant account. Complete Stripe Connect onboarding for this organization before generating pricing."
}

not_found — the organization or location does not exist.

Media typeapplication/json

The standard error body. error is a stable, machine-readable code — branch on it rather than on message, which is for humans and may change.

object
error

Machine-readable error code.

string
message

Human-readable detail.

string
Example
{
"error": "merchant_account_missing",
"message": "The organization has no merchant account. Complete Stripe Connect onboarding for this organization before generating pricing."
}