Unicat API Reference

Up - API Reference - Home


/api/p/<project gid>/definitions/layouts/components/create

Requires JWT

Add a new component to a definition's layout.

If the parent component doesn't exist or doesn't accept children, you'll get an error.

If you don't specify before_component (or the specified component isn't in the layout or a child of the given parent), the new component is added at the end.

Note: you cannot modify an extended definition (use the records/definition api).

Request

POST /api/p/<project gid>/definitions/layouts/components/create
Authorization: Bearer <JWT>

{
    "definition": "<definition gid>",
    "name": "optional component name",
    "type": "field",
    "options": {"field": "<field gid>", "style": "title"},
    "parent": "<component gid>",
    "before_component": "<component gid>"
}

definition gid of the definition to update the layout for
parent add the created component to this parent
type the type of component

optional

name the name of the component
options some types need extra options
before_component the created component is put before this component

See layouts for types and options for components

Success response

Authorization: <JWT>

{
    "success": true,
    "result": {
        "definition": "<definition gid>",
        "layout": "<layout gid>",
        "component": "<new component gid>"
    },
    "data": {
        "definitions": {
            "<definition gid>": {}
        },
        "layouts": {
            
        }
    }
}

result

definition the definition with the changed layout - this is a working copy.
layout the layout is (now) a working copy.
component the newly created component's gid - you can find it in the components property of the layout data.

data

definitions Definition info with name, classes, fields, and layout, also includes the original definition if it changed to a working copy.
layouts Layout info with hierarchy, also includes the original layout if it changed to a working copy.

Error responses

400 Bad request - missing parameters or wrong type or value
401 Unauthorized - missing or expired JWT
403 Forbidden - not a member of this project
422 Unprocessable entity - can't work with this item