> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prophia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GET Loan

> Returns a single Loan by id, with its collateral buildings. `status` is the processing status of the loan's documents, not whether the loan is active, matured or paid off.

**Required capabilities:** `READ:LOAN`



## OpenAPI

````yaml /api-reference/openapi.json get /rest/v2/accounts/{accountId}/loans/{loanId}
openapi: 3.1.0
info:
  title: Prophia API Documentation
  license:
    name: Apache 2.0
    url: http://springdoc.org
  version: v2.495.0
servers:
  - url: https://api.prophia.com
    description: Prophia API
security:
  - apiKey: []
tags:
  - name: Accounts
    description: >-
      Accounts are the top-level scope for everything in the API. Start here:
      list your accounts to find the `accountId` every other path requires.
  - name: Properties
    description: >-
      Properties group one or more buildings under a single asset within an
      account.
  - name: Buildings
    description: Buildings are the physical structures where leases and spaces live.
  - name: Building Spaces
    description: >-
      Building spaces are the units inside a building — suites, floors, storage.
      A space's `suiteNumber` is the canonical name that tag `applicableSpaces`
      entries reference by string match.
  - name: Leases
    description: >-
      Leases are the agreements occupying building spaces. Each lease carries
      its source documents and the tags (structured terms) extracted from them.
  - name: Documents
    description: >-
      Documents are the source files attached to leases — original leases,
      amendments, memorandums, etc.
  - name: Tags
    description: >-
      Tags are the structured lease terms Prophia extracts from documents — a
      rent amount, a renewal option, a key date — each cited to its location in
      the source document. STANDARD tags carry a typed `value`; COMPLEX tags
      carry option details in `tagComponents`.
  - name: Custom Terms
    description: >-
      Custom terms are account-level definitions of extra lease terms your team
      tracks beyond Prophia's standard set. Tags created from them are ordinary
      tags with `isCustomTag: true` — the definition and its tag instances are
      separate resources.
  - name: Custom Fields
    description: >-
      Custom Fields are Account-level fields your team tracks on Buildings
      beyond Prophia's standard set. A `SINGLE` field holds free text per
      Building; a `MULTI` field holds one of a fixed list of options.
      Assignments set a field's value on a Building.
  - name: Loans
    description: >-
      Loans are the financing agreements secured by an account's buildings. Each
      loan carries its source documents and the terms read from them: summary
      terms, covenants and reporting deliverables. Loans is a Labs feature in
      beta, and its endpoints may change.
    x-beta: true
paths:
  /rest/v2/accounts/{accountId}/loans/{loanId}:
    get:
      tags:
        - Loans
      summary: GET Loan
      description: >-
        Returns a single Loan by id, with its collateral buildings. `status` is
        the processing status of the loan's documents, not whether the loan is
        active, matured or paid off.


        **Required capabilities:** `READ:LOAN`
      operationId: getLoan
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            type: string
        - name: loanId
          in: path
          required: true
          schema:
            type: string
        - name: include
          in: query
          description: >-
            Optional collections to populate. Unknown keys are rejected with
            400.


            - `summary` — adds the loan's consolidated summary terms, the values
            the loan page shows, with each container's child terms nested in its
            childTags. Covenants and reporting deliverables are left to their
            own include keys.
              - Requires the `READ:TAG` capability.
            - `covenants` — adds the loan's covenants: one entry per
            hardCovenant, softCovenant or otherCovenantReference container, with
            its terms nested in its childTags. A covenant struck by a later
            document is kept, with its rightIsStricken child.
              - Requires the `READ:TAG` capability.
            - `deliverables` — adds the loan's financial reporting deliverables:
            one entry per financialReportingDeliverable container, with its
            terms nested in its childTags. A deliverable struck by a later
            document is kept, with its rightIsStricken child.
              - Requires the `READ:TAG` capability.
            - `documents` — adds per-document page geometry keyed by loanDocId,
            for resolving `tagSelections[].docPageId` references.
              - Requires the `READ:DOCUMENT` capability.
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - summary
                - covenants
                - deliverables
                - documents
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/V2LoanModel'
        '400':
          description: >-
            Invalid input — for example an unknown `include` key or a malformed
            parameter value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ErrorResponse'
              example:
                error: Invalid Input
                errorCode: InvalidInput
                message: >-
                  Unknown include keys: [bogus]; supported: [tags, documents,
                  subleases]
                status: 400 BAD_REQUEST
                timestamp: '2026-09-02T20:41:03.118Z'
                localizedMessage: >-
                  Unknown include keys: [bogus]; supported: [tags, documents,
                  subleases]
        '401':
          description: >-
            The credential was rejected before the request reached the endpoint
            — for example a JWT was presented where an API key is required. Only
            `error` is populated on this path
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ErrorResponse'
              example:
                error: JWT authentication is not supported. Use an API key.
        '403':
          description: >-
            The API key is valid but lacks a required capability, or its
            building permissions do not cover the requested resource. The
            message names the missing capabilities only in the former case
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ErrorResponse'
              example:
                error: Access Denied
                errorCode: AccessDenied
                message: 'Not authorized. Missing capabilities: READ:TAG'
                status: 403 FORBIDDEN
                timestamp: '2026-09-02T20:41:03.118Z'
                localizedMessage: 'Not authorized. Missing capabilities: READ:TAG'
        '404':
          description: No such resource is visible to the account named in the path
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ErrorResponse'
              example:
                error: Entity Not Found
                errorCode: EntityNotFound
                message: This entity is not found in the system.
                status: 404 NOT_FOUND
                timestamp: '2026-09-02T20:41:03.118Z'
                localizedMessage: This entity is not found in the system.
components:
  schemas:
    V2LoanModel:
      type: object
      description: >-
        Representation of a single Loan. A Loan is secured by one or more of the
        Account's Buildings, listed in `collateral`. The terms Prophia reads
        from its documents are returned through the `summary`, `covenants` and
        `deliverables` include keys.
      properties:
        id:
          type: string
          description: Stable loan identifier.
          readOnly: true
        name:
          type: string
          description: The loan's name in Prophia.
        loanType:
          type: string
          description: Free-text loan type, such as 'Construction Loan'.
        borrower:
          type: string
          description: >-
            The borrower named in the loan's documents. Several borrowers are
            joined with '; '.
        lender:
          type: string
          description: >-
            The lender's legal name in the loan's documents, or its common name
            when no legal name was captured. Several lenders are joined with ';
            '.
        closingDate:
          type: string
          format: date
          description: yyyy-MM-dd. The loan's closing date from its documents.
        status:
          type: string
          description: >-
            The loan's processing status: whether Prophia has read its
            documents, not whether the loan is active, matured or paid off.
            PENDING once its documents are uploaded, PROCESSING while Prophia
            reads them, then COMPLETE or FAILED. Omitted before any document is
            uploaded.
          enum:
            - PENDING
            - PROCESSING
            - COMPLETE
            - FAILED
        url:
          type: string
          description: Deep link to the loan's page in the Prophia app.
        collateral:
          type: array
          description: The buildings pledged as collateral, each with its property.
          items:
            $ref: '#/components/schemas/CollateralModel'
        summary:
          type: array
          description: >-
            The loan's consolidated summary terms, the values the loan page
            shows, apart from covenants and reporting deliverables: one entry
            per term, with a container's terms nested in its childTags. Includes
            the all-in rate Prophia computes from the index and spread, which
            has no id or document. Populated only when the `summary` include key
            is requested. To resolve `tagSelections[].docPageId` to page
            geometry, also pass include=["documents"].
          items:
            $ref: '#/components/schemas/V2PublicLoanTagModel'
        covenants:
          type: array
          description: >-
            The loan's covenants: one entry per hardCovenant, softCovenant or
            otherCovenantReference container, with its terms nested in
            childTags. Two covenants of the same kind are separate entries, told
            apart by customLabel. A covenant struck by a later document is kept,
            with a rightIsStricken child. Populated only when the `covenants`
            include key is requested; empty when the loan has none.
          items:
            $ref: '#/components/schemas/V2PublicLoanTagModel'
        deliverables:
          type: array
          description: >-
            The loan's financial reporting deliverables: one entry per
            financialReportingDeliverable container, with its terms nested in
            childTags. A deliverable struck by a later document is kept, with a
            rightIsStricken child. Populated only when the `deliverables`
            include key is requested; empty when the loan has none.
          items:
            $ref: '#/components/schemas/V2PublicLoanTagModel'
        documents:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/V2DocumentPageModel'
          description: >-
            Per-document page geometry keyed by loanDocId, then by docPageId
            under `pages`. Populated only when the `documents` include key is
            requested, and omitted when the loan's documents have no pages yet.
    V2ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Stable error category
          example: Invalid Input
        errorCode:
          type: string
          description: Stable error code suitable for programmatic handling
          example: InvalidInput
        message:
          type: string
          description: Human-readable detail; may aggregate multiple field errors
        status:
          type: string
          description: >-
            HTTP status of the response as code and reason phrase, matching the
            response's own status line
          example: 404 NOT_FOUND
        timestamp:
          type: string
          format: date-time
          description: When the error was produced, as an ISO-8601 UTC instant
          example: '2026-09-02T20:41:03.118Z'
        localizedMessage:
          type: string
          description: >-
            Same text as `message`; present because the body is a serialized
            exception. Prefer `message`
    CollateralModel:
      type: object
      description: >-
        A building pledged as collateral for the loan, with the property it
        belongs to.
      properties:
        buildingId:
          type: string
          description: Stable building identifier.
        buildingName:
          type: string
          description: The building's name in Prophia.
        propertyId:
          type: string
          description: Stable identifier of the property the building belongs to.
        propertyName:
          type: string
          description: The property's name in Prophia.
    V2PublicLoanTagModel:
      type: object
      description: >-
        A loan term read from the loan's documents: its typed value, where it
        was read, and for a container the terms nested under it.
      properties:
        id:
          type: string
          description: >-
            Stable loan tag identifier. Absent only on a value Prophia computes
            rather than reads from a document, such as the all-in rate built
            from the index and spread.
          readOnly: true
        tagName:
          type: string
          description: >-
            Canonical loan term name. A child term uses a dotted form such as
            'lender.legalName'; the part before the dot names its container.
        displayName:
          type: string
          description: Human-readable label for the term.
        category:
          type: string
          description: >-
            STANDARD: a single term whose captured value is in `value`. COMPLEX:
            a container, such as a lender or a covenant, whose terms are nested
            in `childTags`; a container carries no `value` of its own.
          enum:
            - STANDARD
            - COMPLEX
            - EXHIBIT
        value:
          description: >-
            The term's captured value. Branch on `kind` for its shape and read
            `unit` alongside it. A `money` value carries the currency of the
            loan's collateral buildings, or `MIXED` when the collateral spans
            more than one currency. Absent on a container.
          oneOf:
            - $ref: '#/components/schemas/V2DateModel'
            - $ref: '#/components/schemas/V2DateRangeModel'
            - $ref: '#/components/schemas/V2MoneyModel'
            - $ref: '#/components/schemas/V2NumberModel'
            - $ref: '#/components/schemas/V2NumberRangeModel'
            - $ref: '#/components/schemas/V2PercentModel'
            - $ref: '#/components/schemas/V2TextModel'
        prepaymentPeriods:
          type: array
          description: >-
            The rows of a prepaymentSchedule term, in sequence order. The
            schedule's citations are the term's own tagSelections; a period
            carries none. Absent when the term carries no periods.
          items:
            $ref: '#/components/schemas/V2PrepaymentPeriodModel'
        childTags:
          type: array
          description: >-
            A container's terms, such as 'lender.legalName' under 'lender',
            sorted by tagName. Each is the current value across the loan's
            documents, so it can come from a different document than its
            container. Absent on a term that is not a container.
          items:
            $ref: '#/components/schemas/V2PublicLoanTagModel'
        lifecycleStatus:
          type: string
          description: >-
            Lifecycle status of the term's own tag. A container stays ACTIVE
            when a later document strikes it; the strike shows as its
            rightIsStricken child instead.
          enum:
            - ACTIVE
            - VOID
            - STRICKEN
            - EXERCISED
        customLabel:
          type: string
          description: >-
            Label distinguishing one container from another of the same kind on
            the same loan, such as 'L #2'.
        loanId:
          type: string
          description: The loan this term belongs to.
        loanDocId:
          type: string
          description: >-
            The loan document the term was read from. Absent on a computed
            value.
        createdAt:
          type: string
          format: date-time
          description: >-
            When the tag was written. Absent on a container and on a computed
            value.
        updatedAt:
          type: string
          format: date-time
          description: >-
            When the tag was last changed. Absent on a container and on a
            computed value.
        tagSelections:
          type: array
          description: >-
            Citations: bounding boxes on the loan document's pages showing where
            the value was read, in sequence order. Resolve `docPageId` with the
            loan's `documents` include. Absent on a container and when the term
            carries none.
          items:
            $ref: '#/components/schemas/V2TagSelectionModel'
        url:
          type: string
          description: >-
            Deep link to the loan document the term was read from, in the
            Prophia app. Absent on a computed value.
    V2DocumentPageModel:
      type: object
      description: >-
        The pages of a single document. Appears as the values of a lease's or
        loan's `documents` map, which is keyed by document id, so
        `documents[documentId].pages[docPageId]` resolves a tag citation to the
        page it sits on and the dimensions its bounding boxes scale against.
      properties:
        pages:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/V2PageModel'
          description: >-
            Page geometry keyed by document page id — the value a tag citation
            carries in `tagSelections[].docPageId`. The page's own `id` field is
            omitted here because the id is the key; under a tag's `pages`
            include the same model carries `id` instead.
    V2DateModel:
      allOf:
        - $ref: '#/components/schemas/V2TagValue'
        - type: object
          properties:
            kind:
              type: string
              description: Discriminator for this shape — always `date` here.
              enum:
                - date
            value:
              type: string
              description: >-
                Present when `kind` is `date`. The captured date, `yyyy-MM-dd`.
                Omitted when the captured text was not parseable as a date;
                `capturedData` still holds what was captured.
          required:
            - kind
      description: >-
        `kind: date` — a single calendar date, serialized `yyyy-MM-dd`. `value`
        is omitted when the captured text was not parseable as a date, which is
        common for dates a lease states in relative terms; `capturedData` still
        holds what was captured.
      title: date
    V2DateRangeModel:
      allOf:
        - $ref: '#/components/schemas/V2TagValue'
        - type: object
          properties:
            kind:
              type: string
              description: Discriminator for this shape — always `dateRange` here.
              enum:
                - dateRange
            start:
              type: string
              description: >-
                Present when `kind` is `dateRange`. Inclusive start of the
                range, `yyyy-MM-dd`. Omitted together with `end` when
                `capturedData` could not be split into a parseable pair.
            end:
              type: string
              description: >-
                Present when `kind` is `dateRange`. Inclusive end of the range,
                `yyyy-MM-dd`. Omitted together with `start` when `capturedData`
                could not be split into a parseable pair.
          required:
            - kind
      description: >-
        `kind: dateRange` — a period bounded by two calendar dates, each
        serialized `yyyy-MM-dd`. Both bounds come from splitting one captured
        string, so both are omitted together when it could not be split into a
        parseable pair.
      title: dateRange
    V2MoneyModel:
      allOf:
        - $ref: '#/components/schemas/V2TagValue'
        - type: object
          properties:
            kind:
              type: string
              description: Discriminator for this shape — always `money` here.
              enum:
                - money
            value:
              type: string
              description: >-
                Present when `kind` is `money`. Decimal string (not a JSON
                number) holding a BigDecimal rounded to 2 decimals — preserves
                cent precision through JSON, e.g. "120000.00".
            currency:
              type: string
              description: Currency code for the value (e.g. USD).
          required:
            - kind
      description: >-
        `kind: money` — a currency amount. Produced when the term was captured
        with a currency unit; `currency` is the containing lease's currency, not
        a per-value choice.
      title: money
    V2NumberModel:
      allOf:
        - $ref: '#/components/schemas/V2TagValue'
        - type: object
          properties:
            kind:
              type: string
              description: Discriminator for this shape — always `number` here.
              enum:
                - number
            value:
              type: number
              description: >-
                The typed value. Its JSON type follows `kind`: a number for
                `number` and `percent`, a `yyyy-MM-dd` string for `date`, a
                decimal string for `money`, and the captured text for `text`.
                Omitted when `capturedData` could not be parsed into that type.
          required:
            - kind
      description: >-
        `kind: number` — a plain numeric amount: a count, an area, a duration.
        Read `unit` for the qualifier the number was captured with (e.g. months,
        square feet); the number itself is meaningless without it for most
        terms.
      title: number
    V2NumberRangeModel:
      allOf:
        - $ref: '#/components/schemas/V2TagValue'
        - type: object
          properties:
            kind:
              type: string
              description: Discriminator for this shape — always `numberRange` here.
              enum:
                - numberRange
            start:
              type: integer
              format: int32
              description: >-
                Inclusive start of the range: a `yyyy-MM-dd` string for
                `dateRange`, an integer for `numberRange`. Omitted together with
                `end` when `capturedData` could not be split into a parseable
                pair.
            end:
              type: integer
              format: int32
              description: >-
                Inclusive end of the range: a `yyyy-MM-dd` string for
                `dateRange`, an integer for `numberRange`. Omitted together with
                `start` when `capturedData` could not be split into a parseable
                pair.
          required:
            - kind
      description: >-
        `kind: numberRange` — an integer range, typically a duration window such
        as a notice period stated as a span. `unit` names what the bounds count
        (e.g. `range of days`, `range of months`). Both bounds come from
        splitting one captured string, so both are omitted together when it
        could not be split into a parseable pair.
      title: numberRange
    V2PercentModel:
      allOf:
        - $ref: '#/components/schemas/V2TagValue'
        - type: object
          properties:
            kind:
              type: string
              description: Discriminator for this shape — always `percent` here.
              enum:
                - percent
            value:
              type: number
              description: >-
                The typed value. Its JSON type follows `kind`: a number for
                `number` and `percent`, a `yyyy-MM-dd` string for `date`, a
                decimal string for `money`, and the captured text for `text`.
                Omitted when `capturedData` could not be parsed into that type.
          required:
            - kind
      description: >-
        `kind: percent` — a rate, carried as the percentage itself rather than a
        fraction: `3` with `unit` `%` means three percent. Produced wherever a
        numeric value was captured with a percent unit: a tag's own `value` (a
        pro-rata share, a rent bump) and the `tagComponents` fields that read
        the captured unit (rate bumps, fee increases). Percent rent schedule
        entries are also this kind, by construction rather than from a captured
        unit. `unit` distinguishes the percent flavours — `%`, `% per year`, `%
        of FMV`, `% increase (annual)` and the rest.
      title: percent
    V2TextModel:
      allOf:
        - $ref: '#/components/schemas/V2TagValue'
        - type: object
          properties:
            kind:
              type: string
              description: Discriminator for this shape — always `text` here.
              enum:
                - text
            value:
              type: string
              description: >-
                The typed value. Its JSON type follows `kind`: a number for
                `number` and `percent`, a `yyyy-MM-dd` string for `date`, a
                decimal string for `money`, and the captured text for `text`.
                Omitted when `capturedData` could not be parsed into that type.
          required:
            - kind
      description: >-
        `kind: text` — a free-text value, and the fallback kind: any term that
        is not a date, a number, or a range arrives as text. `value` is the
        captured text verbatim, so it is always equal to `capturedData`.
      title: text
    V2PrepaymentPeriodModel:
      type: object
      description: One row of a prepayment schedule.
      properties:
        sequence:
          type: integer
          format: int32
          description: 0-indexed position of the period in the schedule.
        periodType:
          type: string
          description: The period's type, such as Lockout, Penalty 1 or Freely Prepayable.
        startDate:
          type: string
          format: date
          description: First day of the period, yyyy-MM-dd.
        endDate:
          type: string
          format: date
          description: Last day of the period, yyyy-MM-dd.
        description:
          type: string
          description: What applies during the period.
    V2TagSelectionModel:
      type: object
      description: 'One citation: a bounding box on a specific document page.'
      properties:
        docPageId:
          type: string
          description: >-
            The Page Id (UUID) of the document page the citation sits on;
            resolve via `include=pages` on the tag or the document's pages
            listing.
        boundingBox:
          $ref: '#/components/schemas/V2BoundingBox'
          description: >-
            Rectangle on the page locating this citation. Coordinates are
            ten-thousandths of the page dimensions (0–10000), origin top-left —
            not the pixel space of `PageModel.width` and `PageModel.height`. See
            the BoundingBox schema for the conversion.
        sequence:
          type: integer
          format: int32
          description: 0-based order of this citation within the tag's selections.
    V2PageModel:
      type: object
      properties:
        id:
          type: string
          description: Document page id; matches `tagSelections[].docPageId`.
        pageSequence:
          type: integer
          format: int32
          description: Position of the page within its document.
        width:
          type: integer
          format: int32
          description: >-
            Page width in the OCR pipeline's native units (typically pixels).
            Scale a tag citation onto this page with `pixel_x = boundingBox.x *
            width / 10000`.
        height:
          type: integer
          format: int32
          description: >-
            Page height in the OCR pipeline's native units (typically pixels).
            Scale a tag citation onto this page with `pixel_y = boundingBox.y *
            height / 10000`.
    V2TagValue:
      type: object
      description: >-
        A single captured value. Polymorphic: the `kind` property is the
        discriminator, and it determines which fields the object carries.


        - `money` — `value` and `currency`

        - `number` — `value`

        - `percent` — `value`

        - `date` — `value`

        - `text` — `value`

        - `dateRange` — `start` and `end`

        - `numberRange` — `start` and `end`


        `unit`, `capturedData`, and `ocrText` are common to every kind. A
        TagValue appears in three positions: a tag's `value`, a field of
        `tagComponents`, and a field of a schedule entry. A numeric value
        captured with a percent unit resolves to `percent` both on a tag's own
        `value` and on the `tagComponents` fields that read the captured unit.
        Some `tagComponents` fields are fixed to a single kind by definition
        whatever unit was captured, and schedule entries take their kinds from
        the schedule rather than from a captured unit.


        `kind` alone is not enough to interpret a value, because `number` covers
        durations, areas and plain counts alike. Read `unit` as well.


        The typed fields are populated by parsing `capturedData`, so they are
        omitted when the captured text could not be parsed into the kind's type.
        `capturedData` always holds the raw text and is the fallback when a
        typed field is missing.
      discriminator:
        propertyName: kind
      properties:
        unit:
          type: string
          description: >-
            Unit qualifier for the value when the source text carried one (e.g.
            months, per square foot).
        capturedData:
          type: string
          description: The value as captured during extraction, as text.
        ocrText:
          type: string
          description: Raw source text the value was extracted from.
        kind:
          type: string
          description: >-
            Discriminator selecting this value's shape; each variant pins its
            own value.
          enum:
            - money
            - number
            - percent
            - date
            - dateRange
            - numberRange
            - text
      required:
        - kind
    V2BoundingBox:
      type: object
      description: >-
        Rectangle on a document Page. Coordinates are integers from 0 to 10000,
        measured in ten-thousandths of the page's own width (`x`, `width`) or
        height (`y`, `height`) — one unit is a basis point of that dimension —
        so `x: 2500` sits a quarter of the way across the page and 10000 is the
        full width or height. Origin is top-left.


        This is **not** the coordinate space of `PageModel.width` and
        `PageModel.height`, which are pixels of the rendered page image. To draw
        on that image, scale each value: `pixel_x = x * page.width / 10000`, and
        likewise for `y`, `width`, and `height`.


        The four values are rounded independently, so a box flush against the
        right or bottom edge can total 10001 — clamp to the page rather than
        treating it as invalid.
      properties:
        x:
          type: integer
          format: int32
          description: Left edge, in ten-thousandths of the page width (0–10000).
        'y':
          type: integer
          format: int32
          description: Top edge, in ten-thousandths of the page height (0–10000).
        width:
          type: integer
          format: int32
          description: >-
            Box width, in ten-thousandths of the page width (0–10000). `x +
            width` can come back as 10001 for a box flush against the right
            edge.
        height:
          type: integer
          format: int32
          description: >-
            Box height, in ten-thousandths of the page height (0–10000). `y +
            height` can come back as 10001 for a box flush against the bottom
            edge.
  securitySchemes:
    apiKey:
      type: apiKey
      description: >-
        Prophia API key — either an account key (grants admin level permissions)
        or a user key with the REST scope. Send it in the `X-API-Key` header, or
        equivalently as `Authorization: Bearer <api-key>`. JWTs are rejected on
        /rest endpoints with 401.
      name: X-API-Key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.