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

# Custom Object

> View, manage, and configure records and fields for a named custom object at /settings/data-manager/custom/:apiName.

The Custom Object detail screen (`/settings/data-manager/custom/:apiName`) loads a specific user-defined object from the Data Manager by its API name, then provides tabbed management of its records, fields, and settings.

## Overview

The page reads `:apiName` from the URL via `useParams`, fetches the object definition via `useCustomObject`, and loads its fields via `useCustomObjectFields`. The header displays the object name, API name badge, active/inactive status, and category. Three tabs are available: **Records** (lists all records for the object with inline create/edit), **Fields** (field schema management via `CustomObjectFieldManager`), and **Settings** (object metadata and a danger zone for deletion). Deleting an object permanently removes all associated fields and records and navigates back to `/settings/data-manager`.

## Who it's for

Access follows your organization's role and module configuration. ## Before you start

* Navigate to `/settings/data-manager` and open a custom object.
* Ensure the custom object is active if you need to create or edit records.

## Steps

<Steps>
  <Step title="Open a custom object">
    From `/settings/data-manager`, click a custom-type object. The URL changes to `/settings/data-manager/custom/:apiName`.
  </Step>

  <Step title="Manage records">
    The **Records** tab is active by default. Click **New Record** to open the record creation dialog. Click a row's edit icon to modify an existing record.
  </Step>

  <Step title="Manage fields">
    Switch to the **Fields** tab to add, reorder, or remove field definitions via the `CustomObjectFieldManager` component.
  </Step>

  <Step title="View or update settings">
    Switch to **Settings** to review the object's name, API name, category, and attachment configuration.
  </Step>

  <Step title="Delete the object (admin action)">
    In the **Settings** tab, expand the Danger Zone and click **Delete Object**. Confirm the dialog. All records and field configurations are permanently removed.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="API name">
    The `api_name` is the machine-readable identifier used in the URL and in data queries. It is set at creation and cannot be changed.
  </Accordion>

  <Accordion title="Record count and field count">
    The header badges reflect `record_count` and `field_count` returned from `useCustomObject`. These update on page load, not in real time.
  </Accordion>

  <Accordion title="Allow attachments">
    When `allow_attachments` is enabled on the object, records may store file attachments. Consult your SME for PHI implications.
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Platform Foundation" icon="layer-group" href="/pf/overview">
    Platform Foundation overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/platform.tsx
  * src/platform/data-manager/pages/CustomObjectDetailPage.tsx
  * src/platform/data-manager/hooks/useCustomObject.ts
  * src/platform/data-manager/hooks/useCustomObjectFields.ts
</Accordion>
