Resolve the layout a page renders for a subject
GET
/api/v1/projects/{projectId}/layouts/{subjectKind}/{subjectSlug}
const url = 'https://app.avera.io/api/v1/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/layouts/example/example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://app.avera.io/api/v1/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/layouts/example/exampleThe subject is an item type or a hub key. Returns the stored layout selected for the caller, or a derived default marked as derived when none is stored, so the client renders one document either way. Selection weighs each layout’s applicability against the page context, the item’s lifecycle state and the caller’s roles, which are resolved on the server, never sent. A layout may hide or require a field but never grants or locks one: entitlement stays with permission cells.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”projectId
required
string format: uuid
subjectKind
required
string
subjectSlug
required
string
Query Parameters
Section titled “Query Parameters”context
string
state
string
Responses
Section titled “Responses”OK
Media type*/*
object
derived
required
boolean
layout
required
object
slug
required
string
subjectKind
required
string
subjectSlug
required
string
name
required
string
description
string | null
isDefault
required
boolean
applicability
required
object
contexts
required
Array<string>
roles
required
Array<string>
states
required
Array<string>
priority
required
integer format: int32
definition
required
object
sections
required
Array<object>
object
id
required
string
type
required
string
title
string | null
order
required
integer format: int32
tabGroupId
string | null
collapsible
required
boolean
collapsedByDefault
required
boolean
columns
integer | null format: int32
visibilityRule
string | null
fields
required
Array<object>
object
slug
required
string
order
required
integer format: int32
label
string | null
columnSpan
required
integer format: int32
helpText
string | null
visibilityRule
string | null
requiredRule
string | null
grid
One of:
object
container
boolean
nodeType
string
string
boolean
integralNumber
boolean
missingNode
boolean
valueNode
boolean
pojo
boolean
number
boolean
short
boolean
int
boolean
long
boolean
double
boolean
bigDecimal
boolean
bigInteger
boolean
textual
boolean
boolean
boolean
binary
boolean
floatingPointNumber
boolean
empty
boolean
array
boolean
null
boolean
object
boolean
float
boolean
embeddedValue
boolean
null
readOnly
required
boolean
expand
One of:
object
container
boolean
nodeType
string
string
boolean
integralNumber
boolean
missingNode
boolean
valueNode
boolean
pojo
boolean
number
boolean
short
boolean
int
boolean
long
boolean
double
boolean
bigDecimal
boolean
bigInteger
boolean
textual
boolean
boolean
boolean
binary
boolean
floatingPointNumber
boolean
empty
boolean
array
boolean
null
boolean
object
boolean
float
boolean
embeddedValue
boolean
null
widgetId
string | null
widgetParams
One of:
object
container
boolean
nodeType
string
string
boolean
integralNumber
boolean
missingNode
boolean
valueNode
boolean
pojo
boolean
number
boolean
short
boolean
int
boolean
long
boolean
double
boolean
bigDecimal
boolean
bigInteger
boolean
textual
boolean
boolean
boolean
binary
boolean
floatingPointNumber
boolean
empty
boolean
array
boolean
null
boolean
object
boolean
float
boolean
embeddedValue
boolean
null
tabGroups
required
Array<object>
object
id
required
string
name
required
string
order
required
integer format: int32
icon
string | null
icon
string | null
unplaced
required
Array<string>