> ## 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 Custom Field

> Returns a single Building Custom Field by id, with its options.

**Required capabilities:** `READ:CUSTOM_FIELD`



## OpenAPI

````yaml /api-reference/openapi.json get /rest/v2/accounts/{accountId}/custom-fields/{fieldId}
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}/custom-fields/{fieldId}:
    get:
      tags:
        - Custom Fields
      summary: GET Custom Field
      description: |-
        Returns a single Building Custom Field by id, with its options.

        **Required capabilities:** `READ:CUSTOM_FIELD`
      operationId: getCustomField
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            type: string
        - name: fieldId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/V2CustomFieldModel'
        '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:
    V2CustomFieldModel:
      type: object
      description: >-
        An Account-level field your team tracks on Buildings beyond Prophia's
        standard set.
      properties:
        id:
          type: string
          description: Prophia internal Custom Field ID (UUID).
          readOnly: true
        accountId:
          type: string
          description: The UUID for the Account this Custom Field belongs to.
          readOnly: true
        fieldName:
          type: string
          description: Name of the field.
        fieldType:
          type: string
          description: >-
            `SINGLE` fields hold free text per Building. `MULTI` fields hold one
            of a fixed list of `options`.
          enum:
            - SINGLE
            - MULTI
          readOnly: true
        active:
          type: boolean
          description: Whether the field is shown on Buildings.
        options:
          type: array
          description: The field's current options.
          items:
            $ref: '#/components/schemas/V2CustomFieldOptionModel'
          readOnly: true
        createdBy:
          type: string
          description: The user who created the field.
          readOnly: true
        createdAt:
          type: string
          format: date-time
          description: When the field was created.
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          description: When the field was last modified.
          readOnly: true
    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`
    V2CustomFieldOptionModel:
      type: object
      description: >-
        A value of a Building Custom Field. On `MULTI` fields these are the
        fixed choices; on `SINGLE` fields they are the distinct values assigned
        to Buildings.
      properties:
        id:
          type: string
          description: Prophia internal Custom Field Option ID (UUID).
          readOnly: true
        value:
          type: string
          description: The option's value.
        createdAt:
          type: string
          format: date-time
          description: When the option was created.
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          description: When the option was last modified.
          readOnly: true
  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.