Skip to main content
This page lists all 218 tag definitions Prophia can capture, grouped by subject. Use it to find the tagName behind a term you’re looking for, and to know what shape its value will arrive in before you parse it. For how tags are structured in a response — categories, typed values, schedules, options — read Tags and tag values first.

Reading the tables

Every column below is something you can read off a tag in a response — there are no internal registry values here.

Where the data lands

Reading value is right for most terms, but not all — for an option it is nearly empty, and for a schedule-bearing term it’s a summary. This column tells you where to actually look:
Component tags are listed here because you can still meet them as standalone tags: fetch a document’s tags with GET .../docs/{leaseDocId}/tags and they come back individually, each with its own category: STANDARD and its own value resolved from the unit it was captured with. It is the consolidated lease view that folds them away.

Units are the signal, not a separate data type

Internally a tag carries both a data type and a unit, but the data type is not exposed anywhere in this API — and it isn’t a stable property of the term either. The two are set together per tag instance: picking a unit also sets the data type that goes with it, so a term whose definition defaults to text can be stored as a number the moment someone gives it a numeric unit. There is no useful “this term is always a number” fact to publish, and this reference doesn’t try to. What you observe instead is value.kind and value.unit. The unit is what decides the kind, by this rule, in order: Three consequences worth designing around:
  • A $ unit is the whole test for money, and a % unit the whole test for percent. Both are prefix tests over the unit string, so $psf (annual) is money and % of FMV is percent without any per-tag special-casing. Branch on kind, never on the tag name.
  • A percentage arrives as the percentage itself, not a fraction: 3.5 with unit % means three and a half percent. Terms that accept both percent and dollar units — rentBump, opexCap — return percent or money according to what was captured, so the same tagName can hand you either.
  • Free text wins over the unit. A term stored as text returns kind: text even when it carries a percent or dollar unit. Rental rates are the common case: a rate the lease words rather than states — most often fair market value — comes back as text with unit: "FMV" rather than as a money value with nothing in it, and a rate the lease leaves to the landlord comes back as text with unit: "landlordDefined".
The general parsing rule sits underneath all of this: the typed field is populated by parsing capturedData, so it is omitted whenever the captured text couldn’t be parsed into that kind — a range that wouldn’t split leaves start and end unset, a relative date leaves value unset. capturedData always holds the raw text and is the fallback.

Lease type and country scoping

By default a term is available on any lease. Some are restricted, and a restricted term simply never appears on a lease that doesn’t qualify: The tables below flag each of these in the Scope column. This is the mechanism behind the warning on lease type: change a lease’s type and its type-scoped terms stop surfacing.

customValue meanings

Sixteen terms carry data in customValue1–customValue6. The positional table lives on Tags and tag values; the tables below flag them in the Where the data lands column. The recurring pattern is a :-:-delimited parallel array — several customValue fields each holding one token per period, read together by index. The abatement terms are the clearest case:
Two periods: months 1–3 abated at $10,000/month, and month 6 abated at 50%. Split each field on :-: and zip by index.

Terms that break the pattern

A few terms don’t behave the way the tables would lead you to expect:
  • autoRenewal groups its component tags by space rather than by the referenceId every other option chain uses. Its components also remain visible as space-keyed tags in their own right instead of being folded away entirely. If you are walking option chains by referenceId, auto-renewal won’t be found that way — read the AUTO_RENEWAL component off the tag and its per-space effects from Lease.autoRenewalExpirationDates.
  • rentSchedule, percentageRent, and the abatement terms carry their real payload in a schedule or in customValue arrays, not in value. The tag’s own value is close to meaningless for them.
  • suiteNumber is a term as well as a field name. As a tag its capturedData is a comma-separated list of the spaces named in the document — distinct from Lease.suiteNumber, which is the resolved list of space objects the lease occupies.
  • opexCap and percentageRent both use customValue1 as a mode switch that changes how the remaining customValue fields should be read. Check it first.
  • securityDeposit and letterOfCreditAmount hold the original amount in value and the amount after the refund schedule in customValue1. Whichever you report, be consistent.

All tag definitions

Basic Lease Information

Lease Term

Rent

Abatements & Concessions

Operating Expenses & Taxes

Security & Financial

Fees

Rights & Options

Amenity Usage

Sales Reporting

GSA-Specific Tags

Other