Opero Docs
Opero APIView Layout Configuration

Overview

Understand how View Layouts connect forms, layout drafts, published runtime layouts, and record saves.

View Layouts

View Layouts define how an Opero screen or custom object form is arranged. A layout decides which fields, sections, tabs, relation tables, buttons, and other blocks are available when a client creates, views, or edits a record.

For custom objects, start from the custom object form. The form decides when the form can be used. The View Layout owned by that form decides what the form shows and which fields can be submitted through the runtime endpoints.

Typical Workflow

For most custom object form work:

  1. Create or choose a custom object, such as support.ticket.
  2. Create a custom object form with one or more types: CREATE, VIEW, and EDIT.
  3. Read viewLayoutId from the form response.
  4. Ask the View Layout catalog which blocks can be used for that form and mode.
  5. Build a full draft with regions, blocks, and optional staged custom field changes.
  6. Save the draft on the form-owned layout.
  7. Publish the draft.
  8. Resolve the published layout when rendering or saving records.
  9. Create or update records through the runtime endpoints.

Do not manually create a second View Layout for a custom object form. When you create a form, Opero creates the owned layout for that form.

Key Concepts

ConceptMeaning
Custom object formA form for creating, viewing, or editing records for one custom object.
View LayoutThe visual and runtime contract for fields and blocks.
SurfaceThe page family being laid out, such as DYNAMIC_OBJECT, CONTRACTOR, ORGANIZATION, or DASHBOARD.
ModeThe runtime use of the layout: CREATE, VIEW, EDIT, or WORKSPACE.
TargetExtra context for the surface. Dynamic object layouts use moduleKey, objectKey, and usually formId.
RegionA named area of the layout, such as main or sidebar. Blocks are placed into regions.
BlockOne item in the layout, such as a field, section, tabs group, relation table, or custom HTML block.
DraftAn editable layout version. Saving a draft does not change runtime behavior.
Published versionThe version used by runtime resolve and record save endpoints.

Permissions

Every request uses an API token:

Authorization: Bearer ek_...
Content-Type: application/json

Use an organization token for View Layout and custom object form configuration. Runtime record reads and saves use the company workspace context intended for the integration.

Use the smallest permission set that matches the integration.

PermissionNeeded for
api.custom_forms.readList forms, read form details, list available forms, and read form access.
api.custom_forms.manageCreate, update, delete forms, update defaults, and replace form access.
api.view_layouts.readRead layout metadata, discovery endpoints, versions, runtime resolve, and runtime data.
api.view_layouts.manageCreate layout containers, update metadata, save drafts, archive layouts, restore drafts, and replace assignments.
api.view_layouts.publishPublish a saved draft.
api.custom_records.readResolve and load dynamic object runtime data.
api.custom_records.writeCreate and update dynamic object records through a published layout.

Choose The First Endpoint

Start with the goal, then choose the endpoint.

Reading Order

  1. Custom Object Forms explains the form-first workflow.
  2. Discovering Blocks explains how to ask the API what can be placed in a layout.
  3. Building Layouts explains drafts, publishing, versions, assignments, and archiving.
  4. Block Types explains block structure and nesting.
  5. Custom Fields explains existing and staged fields.
  6. Runtime Guide explains resolving layouts and saving records.
  7. Examples gives a full copyable flow.
  8. Troubleshooting explains common failures.

Rules To Remember

  • A custom object form owns one View Layout.
  • Draft changes are not live until the draft is published.
  • Use discovery endpoints before building blocks.
  • Treat catalog defaultBlock values as templates. Add stable IDs and place them into regions before saving.
  • Runtime custom object saves must satisfy both the published layout and the external custom object profile.
  • Organization configuration and company runtime data use different API token scopes.

On this page