import { APIResource } from "../core/resource.js"; import { PageCursorURL, PagePromise } from "../core/pagination.js"; import { RequestOptions } from "../internal/request-options.js"; /** * Custom object datarows defined by the company */ export declare class RecordDetailRelatedRecords extends APIResource { /** * Lists readable Custom Object records in a related-list section of the parent * record's effective layout. * * Pass the parent identifiers and RELATED_LIST section id from the detail * response. The server resolves the relationship and saved list fields; callers * cannot substitute a relationship filter. Requires access to both the parent and * target Custom Objects. A section removed or hidden by layout visibility is * unavailable. * * @example HTTP * Representative request and response shapes. * ``` * GET /record-detail-related-records/?object_api_name=object_api_name&record_id=record_id§ion_id=section_id&layout_api_name=default&limit=25&cursor=cursor HTTP/1.1 * Host: rest.ripplingapis.com * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "results": [ * { * "id": "string", * "object_api_name": "string", * "fields": {} * } * ], * "next_link": "string" * } * ``` */ list(query: RecordDetailRelatedRecordListParams, options?: RequestOptions): PagePromise; } export type RecordDetailRelatedRecordListResponsesPageCursorURL = PageCursorURL; /** * A readable related Custom Object record with discoverable fields configured by a * saved related-list section. */ export interface RecordDetailRelatedRecordListResponse { /** * Stable identifier of a readable related record. Use it with object_api_name in * the canonical record GET or record-details endpoint. */ id: string; /** * Discoverable fields configured for this list. Unreadable fields retain metadata * with a null, MASKED value. */ fields: { [key: string]: RecordDetailRelatedRecordListResponse.DetailTextField | RecordDetailRelatedRecordListResponse.DetailNumberField | RecordDetailRelatedRecordListResponse.DetailBooleanField | RecordDetailRelatedRecordListResponse.DetailDateField | RecordDetailRelatedRecordListResponse.DetailDateTimeField | RecordDetailRelatedRecordListResponse.DetailCurrencyField | RecordDetailRelatedRecordListResponse.DetailChoiceField | RecordDetailRelatedRecordListResponse.DetailMultiChoiceField | RecordDetailRelatedRecordListResponse.DetailReferenceField | RecordDetailRelatedRecordListResponse.DetailNativeReferenceField | RecordDetailRelatedRecordListResponse.DetailPercentageField | RecordDetailRelatedRecordListResponse.DetailTimeField | RecordDetailRelatedRecordListResponse.DetailUnsupportedField; }; /** * Related Custom Object API name. */ object_api_name: string; } export declare namespace RecordDetailRelatedRecordListResponse { /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailTextField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * TEXT and LONG_TEXT contain text; EMAIL, URL, and PHONE_NUMBER contain their * respective textual values. */ data_type: 'TEXT' | 'LONG_TEXT' | 'EMAIL' | 'URL' | 'PHONE_NUMBER'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Readable text, including an empty string with value_state EMPTY; null when unset * or masked. */ value: string | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Maximum accepted characters, or null when unbounded. */ max_length?: number | null; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailNumberField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * NUMBER contains a decimal quantity. */ data_type: 'NUMBER'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Decimal quantity encoded as a string to preserve precision, for example 12.50. * Units follow the configured field's meaning. Null unless value_state is PRESENT. */ value: string | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Configured decimal places, or null. */ num_of_decimal_places?: number | null; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailBooleanField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * BOOLEAN contains true or false. */ data_type: 'BOOLEAN'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Whether the configured condition is true; null unless value_state is PRESENT. */ value: boolean | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailDateField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * DATE contains a calendar date without a time or timezone. */ data_type: 'DATE'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Calendar date in YYYY-MM-DD format, for example 2026-10-24; null unless * value_state is PRESENT. */ value: string | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailDateTimeField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * DATETIME contains an instant with a timezone. */ data_type: 'DATETIME'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * ISO 8601 timestamp with timezone and up to millisecond precision, matching * native record JSON responses; null unless value_state is PRESENT. System audit * timestamps are immutable. */ value: string | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailCurrencyField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * CURRENCY contains a monetary amount and its currency. */ data_type: 'CURRENCY'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Currency object with an ISO 4217 currency_type and decimal-string value, for * example {"currency_type": "USD", "value": "25.00"}. The amount is in currency * units, not cents. Null unless value_state is PRESENT. */ value: DetailCurrencyField.RecordDetailCurrency | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Configured ISO 4217 currency code, or null when dynamic. */ currency?: string | null; /** * Configured decimal places, or null. */ num_of_decimal_places?: number | null; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } namespace DetailCurrencyField { /** * Platform Currency serialized with a decimal string amount to preserve precision. */ interface RecordDetailCurrency { /** * ISO 4217 currency code, for example USD or EUR. */ currency_type: string; /** * Decimal monetary amount in currency units, for example 25.00; not integer cents. */ value: string; } } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailChoiceField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * RADIO contains one configured choice. */ data_type: 'RADIO'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * One value from options, or an empty string with value_state EMPTY; null when * unset or masked. */ value: string | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailMultiChoiceField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * SELECT contains zero or more configured choices. */ data_type: 'SELECT'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Selected values from options. An empty selection is [] with value_state EMPTY; * null when unset or masked. */ value: Array | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailReferenceField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * OG_REFERENCE_FIELD identifies a reference to the object named by * reference_object, including owner_role, created_by, and last_modified_by fields. */ data_type: 'OG_REFERENCE_FIELD'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Selected record identifier in the reference_object target; null when empty or * masked. Retrieve Employee records through GET /workers/{id}/, Department records * through GET /departments/{id}/, and Custom Object records through GET * /custom-objects/{custom_object_api_name}/records/{id}/. Other native targets may * not have a public record endpoint; use display for their presentation. */ value: string | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Permitted presentation of the selection, or null when unavailable. Empty and * masked references have no presentation. */ display?: DetailReferenceField.ReferenceDisplay | null; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } namespace DetailReferenceField { /** * Optional presentation of a readable reference, independent of its identifier. */ interface ReferenceDisplay { /** * Permitted display label; never synthesized from the identifier. */ label: string; /** * Permitted image URL, or null when unavailable. */ image_url?: string | null; /** * Permitted secondary text, or null when unavailable. */ secondary_label?: string | null; } } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailNativeReferenceField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * NATIVE_EDGE identifies a relationship using the same selected identifier and * optional presentation contract. */ data_type: 'NATIVE_EDGE'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Selected record identifier in the reference_object target; null when empty or * masked. Retrieve Employee records through GET /workers/{id}/, Department records * through GET /departments/{id}/, and Custom Object records through GET * /custom-objects/{custom_object_api_name}/records/{id}/. Other native targets may * not have a public record endpoint; use display for their presentation. */ value: string | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Permitted presentation of the selection, or null when unavailable. Empty and * masked references have no presentation. */ display?: DetailNativeReferenceField.ReferenceDisplay | null; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } namespace DetailNativeReferenceField { /** * Optional presentation of a readable reference, independent of its identifier. */ interface ReferenceDisplay { /** * Permitted display label; never synthesized from the identifier. */ label: string; /** * Permitted image URL, or null when unavailable. */ image_url?: string | null; /** * Permitted secondary text, or null when unavailable. */ secondary_label?: string | null; } } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailPercentageField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * PERCENTAGE contains a decimal ratio, where 1 means 100%. */ data_type: 'PERCENTAGE'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * JSON number containing a decimal ratio without a percent sign: 0, 0.3, 1 and 1.5 * mean 0%, 30%, 100% and 150%. Null unless PRESENT. */ value: number | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Configured decimal places, or null. */ num_of_decimal_places?: number | null; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailTimeField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * TIME contains a time of day. */ data_type: 'TIME'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Time of day in HH:MM:SS format; null unless PRESENT. */ value: string | null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } /** * A discoverable field and its initial value and capabilities for the requested * flow. */ interface DetailUnsupportedField { /** * Field key used by layout placements and canonical record PATCH changes. Direct * keys come from the Custom Object field definition; dotted related keys are * read-only. */ api_name: string; /** * Field types whose values this endpoint does not currently represent. Edit * permission is evaluated independently of value representation. */ data_type: 'ADDRESS' | 'REFERENCE_ID' | 'COORDINATE' | 'TIMESTAMPED_CURRENCY' | 'JSONB' | 'FILE'; /** * Whether you can attempt to supply or change this field through the canonical * write API for the requested flow. This does not grant permission to browse * reference targets; submitted reference identifiers are validated when written. */ editable: boolean; /** * Field display name. */ label: string; /** * Whether this field accepts multiple selections. True for SELECT; false for RADIO * and scalar references. */ multiple: boolean; /** * Configured choice values; empty for non-choice fields. */ options: Array; /** * Why the field is read-only, or null when editable. Precedence: PERMISSION_DENIED * (no field read or update access), RECORD_LOCKED (writes locked), IMMUTABLE * (cannot change), MANAGED_WRITE_RESTRICTED (application-managed or generated * value), DERIVED (calculated value), MASKED (restricted value), * REFERENCE_UNAVAILABLE (unavailable reference target), UNSUPPORTED (not accepted * by this requested flow). */ read_only_reason: 'PERMISSION_DENIED' | 'RECORD_LOCKED' | 'IMMUTABLE' | 'MANAGED_WRITE_RESTRICTED' | 'DERIVED' | 'MASKED' | 'REFERENCE_UNAVAILABLE' | 'UNSUPPORTED' | null; /** * Whether a nonempty value is required by the field schema. */ required: boolean; /** * Always null. UNSUPPORTED withholds the value representation; MASKED takes * precedence for a restricted value. Neither state grants write permission. */ value: null; /** * State of the value supplied for this requested flow: PRESENT for a readable * nonempty value, including false and zero; EMPTY for null, an empty string, or an * empty array; MASKED when access to the field or a referenced value is * restricted; or UNSUPPORTED when the endpoint does not represent the value. * UNSUPPORTED does not determine edit permission. */ value_state: 'PRESENT' | 'EMPTY' | 'MASKED' | 'UNSUPPORTED'; /** * Whether the field value supplied for this requested flow is readable. Create * responses describe only an authorized initial value and do not grant access to * any existing record. A referenced record may have separate access restrictions. */ viewable: boolean; /** * Target object API name for a supported reference, such as Employee, Department, * or a Custom Object API name ending in \_\_c. The available native targets depend * on the relationships configured in the saved layout and the caller's access. * Null for other fields and unsupported reference targets. */ reference_object?: string | null; } } export interface RecordDetailRelatedRecordListParams { /** * Custom Object API name, such as equipment\_\_c. Obtain it from the Custom Object * definition or the grid's configured object. */ object_api_name: string; /** * Parent record identifier returned by the Custom Object record list or query * endpoint. It addresses the same record as the canonical record GET and PATCH * endpoints. */ record_id: string; /** * Related-list section identifier from layout.tabs[].sections[] in the record * detail response. Pass it with that response's object, record, and layout * identifiers; the section identifier is scoped to the effective layout. */ section_id: string; /** * Opaque continuation cursor with unchanged layout and parent. */ cursor?: string; /** * Select the saved Custom Object page layout by API name. Omit to use default. * Keep the resolved layout.api_name from the detail response when loading related * sections. */ layout_api_name?: string; /** * Maximum records per page (1–100); defaults to 25. */ limit?: number; } export declare namespace RecordDetailRelatedRecords { export { type RecordDetailRelatedRecordListResponse as RecordDetailRelatedRecordListResponse, type RecordDetailRelatedRecordListResponsesPageCursorURL as RecordDetailRelatedRecordListResponsesPageCursorURL, type RecordDetailRelatedRecordListParams as RecordDetailRelatedRecordListParams, }; } //# sourceMappingURL=record-detail-related-records.d.ts.map