key: context

description:
Gets a property from custom context passed by blocks. This property is specific to each block. To
understand what the context of a certain block does, check the block’s description.

For this example, we will take the [`table`](/blocks/@appsemble/table/0.20.39) block. As of now,
this block provides two options for context: `index` and `repeatedIndex`. Whenever you click on an
item in the table, it gives the index of that table row in the associated action.

So with the following example:

```yaml
type: table
version: 0.20.39
events:
  listen:
    data: contextData
parameters:
  fields:
    - label: Name
      value: { prop: name }
      onClick: clickName
    - label: Age
      value: { prop: age }
actions:
  clickName:
    remapBefore:
      context: index
    type: log
```

Clicking on the first item would log `0`, the second item `1` and so on.


key: history

description:
> **Note:** This remapper is explained more in depth in the [History](/docs/remapper/history) page

Gives the data at the history entry at the specified history index. The history at specified index
is the data that is passed to that action.

```yaml
remapBefore:
  object.from:
    title: Most influential bands of all time
    content: ...
type: noop # history 0
onSuccess:
  type: resource.query # history 1
  resource: people
  onSuccess:
    type: noop # history 2
    onSuccess:
      remapBefore:
        history: 1
      type: log # history 3
```

Result:

```json
{
  "title": "Most influential bands of all time",
  "content": ...
}
```

type: integer


key: step

description:
While in a loop page, this remapper allows you to get properties from the data at the current index.

```yaml
name: Survey
type: loop
actions:
  onLoad:
    type: resource.query
    resource: questions
foreach:
  blocks:
    - type: detail-viewer
      version: 0.20.39
      parameters:
        fields:
          - label: { step: title }
```

With this example, we load an array of questions that have the `title` property. What the `step`
remapper does in this case is show the title of the current question in the loop.

The result of this is a flow page where each page shows the question’s title.

type: string


key: page

description:
Gives actual information about the current page. This remapper gives access to the following
information:

- `data`: Current page data (FlowPage)
- `url`: Full URL of the current page

Example:

```json
{
  "data": {
    "name": "Peter"
  },
  "url": "https://example-app.examplecompany.appsemble.app/en/example-page-a"
}
```

The page data only works in the context of a flow page. Let’s say you have a
[“FlowPage”](/docs/reference/app#-flow-page-definition) type with multiple subpages. Whenever you
navigate to the next page it adds the data from that page to the flow page’s data. The page remapper
allows you to access this cumulative data.

The following page definition shows a page definition for a flow page where the user has to fill in
some user information. For each subpage the result of `page: data` is shown.

```yaml
name: PageDataFlow
type: flow
steps:
  # page: data = {}
  - blocks:
      - type: form
        version: 0.20.39
        parameters:
          fields:
            - name: name
              type: string
        actions:
          onSubmit:
            type: flow.next
  # page: data = { name: "Peter" }
  - blocks:
      - type: form
        version: 0.20.39
        parameters:
          fields:
            - name: age
              type: string
        actions:
          onSubmit:
            type: flow.next
  # page: data = { name: "Peter", age: "47" }
  - blocks:
      - type: data-loader
        version: 0.20.39
        actions:
          onLoad:
            remapBefore:
              page: data
            type: log
```

The result of the final page’s log would then be:

```json
{
  "name": "Peter",
  "age": "47"
}
```

enum: data url


key: prop

description:
Gets the chosen property from an object.

```json
{
  "name": "John",
  "age": 52
}
```

```yaml
prop: name
```

Result:

```json
"John"
```

type: array


key: root

description:
Gets the input data as it was initially passed to the remapper function.

```yaml
type: resource.query
resource: people
query:
  object.from:
    $filter: city eq 'Eindhoven'
onSuccess:
  remapBefore:
    object.from:
      name: Residents of Eindhoven
      people:
        root: null
```

Result:

```json
{
  "name": "Residents of Eindhoven",
  "people": [
    {
      "name": ...,
      "city": "Eindhoven"
    },
    ...
  ]
}
```


key: static

description:
Create a static value

```yaml
static: Hello!
```

Returns the following string:

```
Hello!
```


key: translate

description:
> **Note:** This is explained much more in depth at [Translating](/docs/03-guide/translating)

This remapper allows you to easily add translations to your app. To make this remapper work, replace
any static text with `translate: {name}`. Then, in your app’s Translations page pick the language
you want to translate. You will see a list of names with input text below. Translations you manually
put in the app using the `translate` remapper are found under “Custom messages”.

After putting the translation in, any user that logs in with that language selected will see the
translated message.

Example:

```yaml
type: detail-viewer
version: 0.20.39
parameters:
  fields:
    - label: { translate: weatherTitle }
      value: { translate: weatherBody }
```


key: user

description:
> **Note:** For this remapper to work, the user that activated the remapper has to be logged in to
> the app

Provides some fields of user information taken from the OpenID user info. These fields are:

- `email`: User’s **primary** email address
- `email_verified`: Whether the user’s primary email address is verified or not (`boolean`)
- `locale`: The user’s default language [`BCP47`](https://en.wikipedia.org/wiki/IETF_language_tag)
  language tag (ex. `en`) (Broken)
- `name`: The user’s name
- `picture`: Full URL to the user’s profile picture web address
- `sub`: The user’s identifier

Example:

```json
{
  "email": "example@hotmail.nl",
  "email_verified": true,
  "locale": "en",
  "name": "Test User",
  "picture": "https://www.gravatar.com/avatar/f46b82357ce29bcd1099915946cda468?s=128&d=mp",
  "sub": "5c6270e2-ad31-414f-bcab-6752a2c4dcfd"
}
```

enum: sub name email email_verified picture profile locale


description:
Adds a specified date value to the provided date.

The value to add should be specified according to the
[parse-duration](https://www.npmjs.com/package/parse-duration) API. If you want to add a day to a
date for example, the syntax would be `date.add: 1d`.

Full list of supported unit types:
- nanoseconds (ns)
- microseconds (μs)
- milliseconds (ms)
- seconds (s, sec)
- minutes (m, min)
- hours (h, hr)
- days (d)
- weeks (w, wk)
- months
- years (y, yr)

For example:

Date now:
```json
2023-06-30T14:50:19.601Z
```

Remapper definition:
```yaml
[{ date.now: null }, { date.add: 1w } , { date.format: null }]
```

Result:
```json
2023-07-07T14:50:19.601Z
```


Format a date according to the RFC3339 format.

Here is an example of a RFC3339 complicit date:
`2002-10-02T15:00:00Z`

In an app definition, it’s best to use this when you want to display a date in a specific format.
For example, if your app has a form with a Datepicker field the incoming data will be formatted
as a simple date format. If you want to format it tot he RFC3339 format, you can use this remapper.

When you submit a form with a DateField, the internal output looks like this:

```js
2023-07-03
```

You can then format the date so that it uses the RFC3339 format.

```yaml
date.format: null
```

Result:
```js
"2023-07-03T09:09:50.000Z"
```


Returns the current date as a JavaScript Date object.
```yaml
date.now: null
```

Result:
```js
"Mon Jul 03 2023 11:47:18 GMT+0200 (Midden-Europese zomertijd)"
```


description:
Convert a string to a date using a given format.

For example:
```yaml
- static: 02/11/2014     # The date string to parse
- date.parse: MM/dd/yyyy # The given format to parse the date with
            # => Tue Feb 11 2014 00:00:00
```

See [date-fns](https://date-fns.org/v2.29.3/docs/parse) for the supported formats.

Leaving the format empty will try to parse the date using the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
For example:
```yaml
date.parse:
- static: 2014-02-11T11:30:30 # The date string to parse
- date.parse: ''              # The given format to parse the date with
                      # => Tue Feb 11 2014 11:30:30
```


description:
Creates a new object based on the specified properties in the given history index. This can be very
useful when you want to combine two sources of data together. It’s also cleaner than separately
using `object.from` together with `history`.

In the following example, you can see why this might be handy. Let’s say you get the details about a
concert from a source like an action or a block. You have this information and then you want to get
some additional data like the attendees of the concert. With `from.history` you can combine the
older data like the name and date, and add the new `attendees` data. The result will be an object
with this combined data.

History index 1:

```json
{
  "name": "Rolling stones at Amsterdam Arena",
  "artist": "Rolling Stones",
  "location": "Amsterdam Arena",
  "date": "07-07-2022",
  "price": 120
}
```

Input:

```json
[ .. ]
```

```yaml
object.from:
  concertDetails:
    from.history:
      index: 1
      props:
        name: { prop: name }
        date: { prop: date }
        attendees: { root: null }
```

Result:

```json
{
  "concertDetails": {
    "attendees": [ .. ],
    "date": "07-07-2022",
    "name": "Rolling stones at Amsterdam Arena"
  }
}
```

type: object

required: index props


key: index

description:
The index of the history stack item to assign.

0 is the index of the first item in the history stack.


key: props

description: Predefined mapper keys to choose what properties to apply.


description:
Assigns properties from the specified history stack index to an existing object.
Similarly to the `from.history` remapper, this allows you to get a property from a place in the
history and give it to a new object. The only difference here is that you are not creating an
entirely new object, but you are taking an existing object and assigning new values to it.

So, we can take the example from `from.history` and flip it.

History index 1:

```json
{
  "peopleAmount": 3000
}
```

Input:

```json
{
  "name": "Rolling stones at Amsterdam Arena",
  "artist": "Rolling Stones",
  "location": "Amsterdam Arena",
  "date": "07-07-2022",
  "price": 120
}
```

```yaml
object.from:
  concertDetails:
    assign.history:
      index: 1
      props:
        attendees: { prop: peopleAmount }
```

Result:

```json
{
  "concertDetails": {
    "name": "Rolling stones at Amsterdam Arena",
    "artist": "Rolling Stones",
    "location": "Amsterdam Arena",
    "date": "07-07-2022",
    "price": 120,
    "attendees": 3000
  }
}
```


description: Predefined mapper keys to choose what properties to assign.


description:
Assigns properties from the specified history stack index to the current value and excludes the
given properties.

Similarly to the other history remappers, this gives you the data from a certain point in the
history stack and allows you to modify it before adding to the current value. This one, however,
allows you to take the complete specified history data and omit certain values.

This remapper can be extremely helpful for re-using data you got before in the history stack while
filtering certain properties.

For example, let’s say you have the information for a concert but don’t want normal users to see
sensitive data about it. Using `omit.history` you can take this concert data but exclude the
sensitive parts.

History index 1:

```json
{
  "name": "Rolling stones at Amsterdam Arena",
  "artist": "Rolling Stones",
  "location": "Amsterdam Arena",
  "date": "07-07-2022",
  "bandPasswords": [ .. ],
  "bankDetailsAttendees": [ .. ]
}
```

Input:

```json
[ .. ]
```

```yaml
object.from:
  concertDetails:
    omit.history:
      index: 1
      keys:
        - bandPasswords
        - bankDetailsAttendees
```

Result:

```json
{
  "concertDetails": {
    "name": "Rolling stones at Amsterdam Arena",
    "artist": "Rolling Stones",
    "location": "Amsterdam Arena",
    "date": "07-07-2022",
    "attendees": [ .. ]
  }
}
```

required: index keys


key: keys

description:
Exclude properties from the history stack item, based on the given object keys.

Nested properties can be excluded using arrays of keys.

For example:
```yaml
omit.history:
  index: 0
  keys:
    - foo   # Excludes the property foo
    - - bar # Excludes the property baz inside of bar
      - baz
```


Let’s say you have an existing object that you want to add an additional value on top of. For this
you can use the `object.assign` remapper. The remapper takes an existing object and allows the user
to assign their own value on top of that.

Input:

```json
{
  "title": "Weekly fishing 21"
}
```

```yaml
object.assign:
  author: John Doe
```

Result:

```json
{
  "title": "Weekly fishing 21",
  "author": "John Doe"
}
```


With this remapper you can create an entirely new object based on input values and other remappers.
`object.from` itself accepts remapper functions as its input which allows you to chain multiple
remappers together to make complex objects.

As a base, the remapper looks like this:

```yaml
object.from:
  username: Chris Taub
  email: example@hotmail.com
```

```json
{
  "username": "Chris Taub",
  "email": "example@hotmail.com"
}
```

Most of the time you won’t create an object just to store one value. Luckily, this is where the
chaining of remappers comes in. You can create an object that contains an `object.from` remapper
which then allows more inputs:

```yaml
object.from:
  username: Chris Taub
  email: example@hotmail.com
  addresses:
    object.from:
      work:
        object.from:
          city: Eindhoven
          address: Nachtegaallaan 15
      home:
        object.from:
          city: Amsterdam
          address: Amstel 1
```

```json
{
  "username": "Chris Taub",
  "email": "example@hotmail.com",
  "addresses": {
    "work": {
      "city": "Eindhoven",
      "address": "Nachtegaallaan 15"
    },
    "home": {
      "city": "Amsterdam",
      "address": "Amstel 1"
    }
  }
}
```


description:
In contrary to the previous remapper, what if you have an object from which you want to remove a
value? Then you can use `object.omit`. The remapper can remove properties from an existing object
based on the given object keys. This includes nested properties.

Input:

```json
{
  "title": "Weekly fishing 21",
  "author": "John Doe",
  "content": {
    "introduction": "This is the introduction for the new weekly fishing issue",
    "paragraph1": "...",
    "interview": "..."
  }
}
```

```yaml
object.omit:
  - author
  - - content
    - interview
```

Result:

```json
{
  "title": "Weekly fishing 21",
  "content": {
    "introduction": "This is the introduction for the new weekly fishing issue",
    "paragraph1": "..."
  }
}
```


Pick and return a random entry from an array. If the input is not an array, the input is returned as-is.
For example:

If you input the following array:
```json
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```

```yaml
random.choice: null
```

The result could return any one of these numbers.

You can also combine different data types in this array and have it work in the same way. If mixed in
strings, the result could be either one of the provided numbers or one of the provided strings.

```json
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "Peter", "Patrick", "Michael", "Harry"]
```


description:
Pick and return a random integer between the provided lowest and highest values.
For example:
```yaml
random.integer:
  - 0
  - 1000
```

Returns a random integer between 0 and 1000.


description:
Pick and return a random float value between the provided lowest and highest values.
For example:
```yaml
random.float:
  - 0
  - 1
```

Returns a random float value between 0 and 1.

type: number


description:
Pick and return a random string from a given length using characters from a given input string defined in `choice`.
For example:
```yaml
random.string:
  choice: abcdefghijklmnopqrstuvwxyz0123456789
  length: 6
```

Returns a randomized string that is 6 characters long and consists of any characters in the `choice` field, like: `g8ajss9`.

required: choice length


description:
Convert a string to upper or lower case.
```yaml
string.case: upper
```

Result:

```json
"PATRICK"
```

enum: lower upper


description:
Format a string using remapped input variables.
Useful for replacing static text with generated values.

```yaml
string.format:
  template: 'You have won €{lotteryAmount} in the lottery!!'
  values:
    lotteryAmount: { prop: lotteryPrize }
```

Result:

```json
"You have won €5000 in the lottery!!"
```

> **Tip:** Considering this can be inserted anywhere a remapper is accepted. You can also use this
> to choose specific URL’s more accurately.


key: messageId

description: The message id pointing to the template string to format.


key: template

description: The template default string to format.


key: values

description: A set of remappers to convert the input to usable values.


description:
Uses RegEx to find a value in a string and replace it with a given value.

```yaml
# Input: Eindhoven is the best city in the Netherlands
string.replace:
  (beszt*)\w+: cleanest
```

Result:

```json
"Eindhoven is the cleanest city in the Netherlands"
```


key: ics

description:
Create a calendar event. This event can be downloaded as an `.ics` file and
uploaded to your agenda using the [download](../reference/action#download) action.

For example, the following input:
```yaml
ics:
coordinates
  object.from:
    latitude: 38.897700545442646
    longitude: -77.03655660152435
description: "Sprint planning meeting"
duration: 1d
end: 2023-07-19
location: The Oval Office.
start: 2023-07-18
title: Important Meeting
url: https://google.nl
```

Creates the following ICS-formatted object:
```
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:http://remappers.appsemble.localhost:9999
METHOD:PUBLISH
X-PUBLISHED-TTL:PT1H
BEGIN:VEVENT
UID:b8TsbczhfpIxPM-3lNHQz
SUMMARY:Important Meeting
DTSTAMP:20230703T102029Z
DTSTART:20230717T220000Z
DTEND:20230718T220000Z
DESCRIPTION:Sprint planning meeting
URL:https://google.nl
GEO:38.897700545442646;-77.03655123710632
LOCATION:The Oval Office.
END:VEVENT
END:VCALENDAR
```

required: start title


key: start

description: The start of the icalendar event.


key: end

description: The end of the icalendar event.


key: duration

description: The duration of the event.


key: title

description: The title of the event.


key: description

description: An optional description of the event.


key: url

description: An optional link to attach to the event.


key: location

description: An optional location description to attach to the event.


key: coordinates

description:
An optional geolocation description to attach to the event.

  This must be an object with the properties `lat` or `latitude`, and `lon`, `lng` or `longitude`.


description:
Strip all null, undefined, and empty array values from an object or array.
For example, with the following input value:
```json
[0, 4, null, null, "Peter", 0.4234, null]
```
```yaml
null.strip: null
```

The null values will be removed, leaving a dense array:
```json
[0, 4, "Peter", 0.4234]
```

Instead of giving it `null` as option, you can also provide a `depth` property to specify how
deep to recurse into the object or array to remove null values.

For example, with the following input:
```json
{
  0: [0, null, "Peter"],
  1: {
    "array1": [4, null, 0.4234, null]
  }
}
```

You can specify to which degree of depth you want the null values to be removed.
With this remapper definition:
```yaml
null.strip:
  depth: 2
```

It will only check two objects in for any null values. That means only the first array within the
object will be checked. The result looks like this:
```json
{
  0: [0, "Peter"],
  1: {
    "array1": [4, null, 0.4234, null]
  }
}
```


description: Options for the null.strip remapper.


key: depth

description: How deep to recurse into objects and arrays to remove null values.


key: log

description:
Logs in the browser's console and returns the incoming data and the remapper function's context.

The context contains relevant info about the app, like the URL and locale, but also contains the
remapper’s history.

The options represent the level of logging that will show in the console.

- `input`: The input data going into this remapper,
- `context`:
  - `root`: The input data going into this remapper,
  - `appId`: ID of the application,
  - `url`: Absolute URL of the page where the remapper was fired,
  - `appUrl`: Base URL of the application,
  - `pageData`: Current page data of a FlowPage (See [page remapper](./data#page)),
  - `userInfo`: User's information if they are logged in (See [user remapper](./data#user)),
  - `context`:
    - `history`: Complete list of this remapper’s history (See [history remapper](./history))
  - `history`: Complete list of this remapper’s history (See [history remapper](./history))
  - `locale`: The user’s locale,
  - `stepRef`: In a loop page, gives the properties from the loop’s current data index (See [step remapper](./data#step))

For example:

```json
{
  "input": {
    "name": "Peter",
    "age": 49,
    "birthday": "07-08-2023"
  },
  "context": {
    "root": {
      "name": "Peter",
      "age": 49,
      "birthday": "07-08-2023"
    },
    "appId": 49,
    "url": "http://remappers.appsemble.localhost:9999/en/other",
    "appUrl": "http://remappers.appsemble.localhost:9999",
    "pageData": {
      "triedAppsemble": false
    },
    "userInfo": {
      "email": "example@hotmail.com",
      "email_verified": true,
      "name": "Example User 1",
      "picture": "https://www.gravatar.com/avatar/f46b82357ce29bcd1099915946cda468?s=128&d=mp",
      "sub": "0000-0000-0000-0000",
      "locale": "en",
      "zoneinfo": "Europe/Amsterdam"
    },
    "context": {
      "history": [
        [
          0,
          4,
          null,
          null,
          "Peter",
          0.4234,
          null
        ],
        {
          "name": "Peter",
          "age": 49
        },
        {
          "name": "Peter",
          "age": 49,
          "birthday": "07-08-2023"
        }
      ]
    },
    "history": [
      [
        0,
        4,
        null,
        null,
        "Peter",
        0.4234,
        null
      ],
      {
        "name": "Peter",
        "age": 49
      },
      {
        "name": "Peter",
        "age": 49,
        "birthday": "07-08-2023"
      }
    ],
    "locale": "en",
    "stepRef": {
      "current": {
        "answerType": "multiple choice",
        "question": "How much do you enjoy working here?"
      }
    }
  }
}
```

enum: info warn error


key: Organization

description: An organization groups a set of users, apps, themes, and permissions together


key: id

description: The unique identifier for the organization.


key: name

description: The display name for the organization.


description: The description of the organization.


key: email

description: The email address of the organization.


key: website

description: The website of the organization.


key: iconUrl

description: The URL used to fetch the organization’s icon.


key: PageDefinition

description:
The list of blocks that are displayed on the page.

Each page requires at least one block. Blocks are displayed in the order that they are defined in
the list.

required: blocks name

type: boolean


key: blocks

description: The blocks that make up a page.


description:
The name of an app.

This field is always required and must be unique within the app, meaning that it is not possible to
have two pages with the same name. The name of the page is displayed at the *app bar* of each page as well as in the side navigational menu.

> **Note**: The URL used to navigate to pages is determined by this property.


key: hideName

description: Whether or not the page name should be displayed in the *app bar*.


key: navTitle

description:
The name of the page when displayed in the navigation menu.

  Context property `name` can be used to access the name of the page.


key: hideNavTitle

description:
Whether or not the page should be displayed in navigational menus.

  By default all pages without parameters are added to navigational menus. Set to `true` to hide the
  page from menus.


key: navigation

description:
The type of navigation displayed on the page.

This overrides the navigation property of the app itself. Defaults to `left-menu` if navigation or
App navigation are not set.

Set to `bottom` to use a navigation pane at the bottom of the screen instead of the default side
menu. Set to `hidden` to display no navigational menus at all.


key: icon

description:
An optional icon from the fontawesome icon set

This will be displayed in the navigation menu.


key: parameters

description:
Page parameters can be used for linking to a page that should display a single resource.

This defined as a list of strings representing the properties to pass through. More often than not
passing `id` through is sufficient, depending on the block.


key: roles

description:
The list of roles that are allowed to view this page.

If the user doesn’t have any of the roles in the list the page will be unavailable to them. An empty
list can be used to specify that users need to log in but do not need a specific role.

Users trying to visit a page without having the correct roles will be redirected to the first page
that they are allowed to view. If there aren’t any accessible pages, the user will be logged out and
instructed to contact the app owner to get permissions.


key: Rating

description: A representation of an App rating.


key: rating

description: A value ranging from 1 to 5 stars rating of the App.


key: description

description: An optional explanation of the given rating.


description: The name of the user who submitted the rating.


key: RemapperDefinition

description: A boolean remapper is always returned directly.


description: A null remapper is always returned directly.


description: A numeric remapper is always returned directly.


description: A string remapper is always returned directly.


key: type

description:
Performs an HTTP request.

This can be used to call the Appsemble API or an external API in order to fetch data or send data.
When sending `POST`, `PUT`, `DELETE` and `PATCH` calls the data that is currently available
in the block gets passed through.

If the content type of the request is `text/xml` or `application/xml`, the data will be
converted to JSON.


key: url

description:
A remapper that results in the URL to send the request to.

Can be a relative URL (E.g. `/api/health`) for usage with the Appsemble API, or an absolute URL
(E.g. `https://example.com`) for usage with external sites.


key: method

description: The type of request to make.

enum: delete get patch post put

default: get


key: query

description: A remapper that results in either an object containing each property of the query string, or a string that gets passed through as-is.


key: body

description:
remapper that results in the request body to send.

If not specified, the raw input data is used.


key: proxy

description:
By default requests will be proxied through the Appsemble API.

This allows to protect user data and ensures
[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is enabled. This behavior can be
disabled by setting this to `false`


key: schema

description: The name of the schema to validate against before submitting data.


key: Resource

description: A resource can be anything defined as described in an app resource definition.

format: date-time


description: Count the number of resources a similar `resource.query` action would return.


key: resource

description: The type of the resource to count.


description: Create a resource.


description: The type of the resource to create.


key: ResourceDefinition

description: A definition of how this resource works.

enum: create update delete

default: id

default: GET

default: /api/apps/{appId}/{resource}/$count

default: POST

default: PUT

default: DELETE


key: expires

description:
A time string representing when a resource should expire.

Example: 1d 8h 30m


description: JSON schema definitions that may be used by the app.


key: references

description:
References to other resources.

The key is the property that references the other resource. The value is an object describing the
name of the resource and how it should behave.


key: additionalProperties

description: A reference to between two resource types.


key: create

description: To be documented.


key: update

description: To be documented.


key: delete

description: To be documented.


key: roles

description: The default roles that are allowed to perform all actions.


description: URL to use if not otherwise specified.


key: id

description: Name of the field used when accessing singular entities.


key: history

description: A definition of how versioning should happen for instances of this resource.


description: Setting this to `true` is the same as using an object with the property `data` set to `true`.


description: Overrides for 'query' requests.


description:
The list of roles that are allowed to use this action.

This will override the default roles that are assigned.


description: The query parameters to use in the request.


key: method

description: HTTP method to use for this type of request.


key: url

description: URL to use for this type of request.


key: get

description: Overrides for 'get' requests.


key: count

description: Overrides for 'count' requests.


description: URL to use for this type of request.


description: Overrides for 'create' requests.


description: Overrides for 'update' requests.


description: Overrides for 'delete' requests.


key: type

description: Delete a resource.


description: The type of the resource to delete.


description: The type of request to make.


key: query

description: A remapper that results in either an object containing each property of the query string, or a string that gets passed through as-is.


key: body

description:
remapper that results in the request body to send.

If not specified, the raw input data is used.


key: proxy

description:
By default requests will be proxied through the Appsemble API.

This allows to protect user data and ensures
[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is enabled. This behavior can be
disabled by setting this to `false`


key: schema

description: The name of the schema to validate against before submitting data.


description: Get a single resource.


key: resource

description: The type of the resource to get.


key: view

description: The view to use for the resource.


key: ResourceHistoryDefinition

description: A definition of how versioning works for instances of this resource


key: data

description: If set to `false`, edits are still tracked, but exactly what changed is lost.


key: ResourceHooksDefinition

description: Hooks that are triggered upon calling a resource action.


description: Patch a resource.


description: The type of the resource to patch.


description: Query a list of resources.


description: The type of the resource to query.


key: ResourceSubscription

description: This describes how a user is subscribed to a resource.


key: create

description: If true, the user is subscribed to any create actions for the resource type


key: update

description: If true, the user is subscribed to any update actions for the resource type


key: delete

description: If true, the user is subscribed to any delete actions for the resource type


key: subscriptions

description: A mapping of resource IDs to individual resource subscriptions


key: additionalProperties

description: The subscription status of a user for a single resource.


description: If true, the user is subscribed to update actions on this particular resource.


description: If true, the user will be notified when this particular resource is deleted.


description: Get the status of whether or not the user is subscriped to notifications for resource modifications.


description: The type of the resource to get the subscription state for.


key: action

description: The resource action type to get the subscription state for.

enum: create delete update


key: type

description: Subscribe to notifications on resource modifications.


description: The type of the resource to subscribe to.


description: The resource action type to subscribe to.


description: Toggle whether or not to receive notifications on resource modifications.


description: The type of the resource to toggle the subscription state for.


description: The resource action type to toggle the subscription state for.


description: Unsubscribe from notifications on resource modifications.


description: The type of the resource to unsubscribe from.


description: The resource action type to unsubscribe from.


description: Update a resource.


description: The type of the resource to update.


key: method

description: The type of request to make.


key: query

description: A remapper that results in either an object containing each property of the query string, or a string that gets passed through as-is.


key: body

description:
remapper that results in the request body to send.

If not specified, the raw input data is used.


key: proxy

description:
By default requests will be proxied through the Appsemble API.

This allows to protect user data and ensures
[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is enabled. This behavior can be
disabled by setting this to `false`


key: schema

description: The name of the schema to validate against before submitting data.


key: ResourceViewDefinition

description: Alternative views of a resource that are modified using remappers and support different sets of roles.


description: A custom view for a resource.


key: roles

description: The list of roles that are allowed to use this view.


key: remap

description: The modified view.


key: SSLSecret

description: The SSL secret of an app.


key: certificate

description: The public SSL certificate chain in PEM format.


key: key

description: The SSL private key in PEM format.


key: SSOConfiguration

description: A single sign on configuration which is exposed to users.

format: url


key: url

description: The URL users will be redirected to in the login process.


key: name

description: A user readable name for the configuration.


key: icon

description: A Font Awesome icon.


key: ScimPatchOp

description: A SCIM patch operation

required: schemas operations

required: op path value

enum: add replace

required: op path


key: operations

description: Patch operations to apply to the resource


key: items

description: A SCIM patch single replace operation


description: A SCIM patch bulk replace operation


key: ScimSecret

description: An app’s SCIM configuration.


key: enabled

description: Whether or not SCIM is enabled for the app.


key: token

description: The secret SCIM token


key: ScimUser

description: The definition of a user according to the SCIM documentation.

required: emails schemas userName

required: primary type value


key: userName

description: A unique identifier for the user (generally maps to the Azure AD user principal name)


key: meta

description: Read-only metadata maintained by the service provider


description: A user's email. By default, one of these should be of type 'work' and have 'primary' set to true. Value contains actual address


key: SecurityDefaultDefinition

description: The default role to apply to members.

enum: everyone organization invite

default: everyone


key: policy

description:
How the `default` role gets applied to users.

The following values are allowed:
- `everyone`: Every authenticated user gets the default role.
- `organization`: Every authenticated user gets the default role if they are in the same organization as the app.
- `invite`: The user has to manually get a role assigned.

> **Important**: When [OAuth2](../03-guide/oauth2) or [SAML2.0](../03-guide/saml) is used in the
> app, you must set the policy to `everyone`. This will specifically allow every configured
> authentication method on the secrets page to be used as login method. If you do not want other
> Appsemble user accounts to be able to log in, you must `disable` the `appsemble login` options
> (including the Appsemble OAuth2 option) in the secrets page. If this option is enabled, any
> Appsemble user account is able to log in to the app and will receive the default role.


key: role

description:
The default role to apply to members.

This must match with one of the roles defined within the security definition.


key: SecurityDefinition

description: This describes how the app is secured.

required: default roles


key: roles

description: This property defines the user roles that are available within the app.


key: teams

description: Define how teams are handled by the app.


key: SecurityRoleDefinition

description: This describes a security role.


key: description

description: The description of the role.


key: defaultPage

description: The default page to redirect users with this role to.


key: inherits

description:
The name of the role to inherit from.

Note that this role must exist and can not inherit itself via this field or the `inherits` field
of the referenced role.


key: type

description:
The `share` action can be used to display a prompt that allows the user to share something with others, primarily via social media.

Depending on whether the user’s browser supports a native share function it will either display a
native dialog for sharing links, or display a more limited fallback in a dialog.


key: url

description: The url that is being shared.


key: title

description: The title that should be shared.


key: text

description: The main body that should be shared.


description:
The `static` action returns static data defined in the action definition.

This is useful for example for stubbing data.


key: value

description: The static value to return.


description:
Append data to an existing array in storage.
      If the storage entry is a single object, it turns it into an array to append the data on.

For example:
```yaml
type: storage.append
key: temp
value: { root }
storage: localStorage
remapBefore:
  object.from:
    text:
      This is a new data item
    value:
      1
```


key: key

description: The key of the storage entry.


description: The data to write on top of the storage entry.


key: storage

description: The mechanism used to store the data.

enum: indexedDB localStorage sessionStorage appStorage

default: indexedDB


description:
Delete the item that is stored at the specified key.

For example:
```yaml
type: storage.delete
key: temp
storage: localStorage
```


description: The key of the storage entry to remove.


description: The mechanism used to remove the data from.


description:
Read data from the app’s local storage.

For example:
```yaml
type: storage.read
key: temp
storage: localStorage
```


description: The mechanism used to read the data from.


description:
Subtract last item from a storage entry.

      If the entry consists of only one item, turns it into a singular object.

      If the entry is a single item, the entry is removed entirely.

For example:
```yaml
type: storage.subtract
key: temp
storage: localStorage
```


description:
Update an existing item in storage, or update an item inside a stored array.

For example:
```yaml
type: storage.update
key: temp
item: 1
value: { root }
storage: localStorage
remapBefore:
  object.from:
    text: { prop: text }
    value: { prop: value }
    newField: "New field"
```


key: item

description: The key of the item in an array to update.


description: The data to update the specified item with.


description:
Write data to the app’s local storage.

For example:
```yaml
type: storage.write
key: temp
value: { root }
storage: localStorage
remapBefore:
  object.from:
    data:
      cool data
    value:
      1
```


description: The data to write to the storage entry.


key: SubPage

description: This describes what a sub page will look like in the app.


key: name

description: The name of the sub page.


key: blocks

description: The blocks that make up a page.


key: TabsPageDefinition

description: This describes what a page will look like in the app.

required: type tabs name


key: tabs

description: Each of the available tabs for the tabs page.


description:
The name of an app.

This field is always required and must be unique within the app, meaning that it is not possible to
have two pages with the same name. The name of the page is displayed at the *app bar* of each page as well as in the side navigational menu.

> **Note**: The URL used to navigate to pages is determined by this property.


key: hideName

description: Whether or not the page name should be displayed in the *app bar*.


key: navTitle

description:
The name of the page when displayed in the navigation menu.

  Context property `name` can be used to access the name of the page.


key: hideNavTitle

description:
Whether or not the page should be displayed in navigational menus.

  By default all pages without parameters are added to navigational menus. Set to `true` to hide the
  page from menus.


key: navigation

description:
The type of navigation displayed on the page.

This overrides the navigation property of the app itself. Defaults to `left-menu` if navigation or
App navigation are not set.

Set to `bottom` to use a navigation pane at the bottom of the screen instead of the default side
menu. Set to `hidden` to display no navigational menus at all.


key: icon

description:
An optional icon from the fontawesome icon set

This will be displayed in the navigation menu.


key: parameters

description:
Page parameters can be used for linking to a page that should display a single resource.

This defined as a list of strings representing the properties to pass through. More often than not
passing `id` through is sufficient, depending on the block.


key: roles

description:
The list of roles that are allowed to view this page.

If the user doesn’t have any of the roles in the list the page will be unavailable to them. An empty
list can be used to specify that users need to log in but do not need a specific role.

Users trying to visit a page without having the correct roles will be redirected to the first page
that they are allowed to view. If there aren’t any accessible pages, the user will be logged out and
instructed to contact the app owner to get permissions.


key: type

description: Get a list of all of the user’s teams.


key: id

description: The ID of the team to invite the user to.


key: email

description: The email address of the user to invite.


key: role

description: The role to invite the user as.

default: member


description: Get a list of a team's members


description: The ID of a specific team to get the members from


key: TeamsDefinition

description: This defines how teams are handled by an app.

required: join invite

enum: anyone invite


key: join

description: If this is set to `anyone`, any logged in user may join a team. If this is set to `invite`, only users may join who have been invited.


key: create

description:
A list of app roles which may create a team.

By default teams can only be created from Appsemble Studio.


key: invite

description:
The roles here determine which users may invite a team member.

The special roles `$team:member` and `$team:manager` mean that users who are already member of manager of the team may also invite new members.


key: Theme

description: A generic theme definition.

default: #ffffff

format: uri


key: themeColor

description:
The generic theme color of the app.

This is used for example in the URL bar on Android.


key: splashColor

description:
The background color of the PWA splash screen.

This defaults to the theme color.


key: primaryColor

description:
The primary color used within the app.

This is used in various elements like the navbar.


key: linkColor

description: The color used for links.


key: infoColor

description: The color used for informational messages.


key: successColor

description: The color used for successful actions.


key: warningColor

description: The color used for warning messages.


key: dangerColor

description: The color used for error messages.


key: tileLayer

description: The tileLayer to use for Leaflet maps.


key: font

description: The font to use in the app.


key: type

description:
This action throws a new exception based on the data that is passed through.

This can be used to create a custom error that ends up in the error action handler.


key: User

description: An object representing a user.

enum: Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmera Africa/Bamako Africa/Bangui Africa/Banjul Africa/Bissau Africa/Blantyre Africa/Brazzaville Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Ceuta Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam Africa/Djibouti Africa/Douala Africa/El_Aaiun Africa/Freetown Africa/Gaborone Africa/Harare Africa/Johannesburg Africa/Juba Africa/Kampala Africa/Khartoum Africa/Kigali Africa/Kinshasa Africa/Lagos Africa/Libreville Africa/Lome Africa/Luanda Africa/Lubumbashi Africa/Lusaka Africa/Malabo Africa/Maputo Africa/Maseru Africa/Mbabane Africa/Mogadishu Africa/Monrovia Africa/Nairobi Africa/Ndjamena Africa/Niamey Africa/Nouakchott Africa/Ouagadougou Africa/Porto-Novo Africa/Sao_Tome Africa/Tripoli Africa/Tunis Africa/Windhoek America/Adak America/Anchorage America/Anguilla America/Antigua America/Araguaina America/Argentina/La_Rioja America/Argentina/Rio_Gallegos America/Argentina/Salta America/Argentina/San_Juan America/Argentina/San_Luis America/Argentina/Tucuman America/Argentina/Ushuaia America/Aruba America/Asuncion America/Bahia America/Bahia_Banderas America/Barbados America/Belem America/Belize America/Blanc-Sablon America/Boa_Vista America/Bogota America/Boise America/Buenos_Aires America/Cambridge_Bay America/Campo_Grande America/Cancun America/Caracas America/Catamarca America/Cayenne America/Cayman America/Chicago America/Chihuahua America/Ciudad_Juarez America/Coral_Harbour America/Cordoba America/Costa_Rica America/Creston America/Cuiaba America/Curacao America/Danmarkshavn America/Dawson America/Dawson_Creek America/Denver America/Detroit America/Dominica America/Edmonton America/Eirunepe America/El_Salvador America/Fort_Nelson America/Fortaleza America/Glace_Bay America/Godthab America/Goose_Bay America/Grand_Turk America/Grenada America/Guadeloupe America/Guatemala America/Guayaquil America/Guyana America/Halifax America/Havana America/Hermosillo America/Indiana/Knox America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Tell_City America/Indiana/Vevay America/Indiana/Vincennes America/Indiana/Winamac America/Indianapolis America/Inuvik America/Iqaluit America/Jamaica America/Jujuy America/Juneau America/Kentucky/Monticello America/Kralendijk America/La_Paz America/Lima America/Los_Angeles America/Louisville America/Lower_Princes America/Maceio America/Managua America/Manaus America/Marigot America/Martinique America/Matamoros America/Mazatlan America/Mendoza America/Menominee America/Merida America/Metlakatla America/Mexico_City America/Miquelon America/Moncton America/Monterrey America/Montevideo America/Montserrat America/Nassau America/New_York America/Nipigon America/Nome America/Noronha America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem America/Ojinaga America/Panama America/Pangnirtung America/Paramaribo America/Phoenix America/Port-au-Prince America/Port_of_Spain America/Porto_Velho America/Puerto_Rico America/Punta_Arenas America/Rainy_River America/Rankin_Inlet America/Recife America/Regina America/Resolute America/Rio_Branco America/Santa_Isabel America/Santarem America/Santiago America/Santo_Domingo America/Sao_Paulo America/Scoresbysund America/Sitka America/St_Barthelemy America/St_Johns America/St_Kitts America/St_Lucia America/St_Thomas America/St_Vincent America/Swift_Current America/Tegucigalpa America/Thule America/Thunder_Bay America/Tijuana America/Toronto America/Tortola America/Vancouver America/Whitehorse America/Winnipeg America/Yakutat America/Yellowknife Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Macquarie Antarctica/Mawson Antarctica/McMurdo Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Arctic/Longyearbyen Asia/Aden Asia/Almaty Asia/Amman Asia/Anadyr Asia/Aqtau Asia/Aqtobe Asia/Ashgabat Asia/Atyrau Asia/Baghdad Asia/Bahrain Asia/Baku Asia/Bangkok Asia/Barnaul Asia/Beirut Asia/Bishkek Asia/Brunei Asia/Calcutta Asia/Chita Asia/Choibalsan Asia/Colombo Asia/Damascus Asia/Dhaka Asia/Dili Asia/Dubai Asia/Dushanbe Asia/Famagusta Asia/Gaza Asia/Hebron Asia/Hong_Kong Asia/Hovd Asia/Irkutsk Asia/Jakarta Asia/Jayapura Asia/Jerusalem Asia/Kabul Asia/Kamchatka Asia/Karachi Asia/Katmandu Asia/Khandyga Asia/Krasnoyarsk Asia/Kuala_Lumpur Asia/Kuching Asia/Kuwait Asia/Macau Asia/Magadan Asia/Makassar Asia/Manila Asia/Muscat Asia/Nicosia Asia/Novokuznetsk Asia/Novosibirsk Asia/Omsk Asia/Oral Asia/Phnom_Penh Asia/Pontianak Asia/Pyongyang Asia/Qatar Asia/Qostanay Asia/Qyzylorda Asia/Rangoon Asia/Riyadh Asia/Saigon Asia/Sakhalin Asia/Samarkand Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Srednekolymsk Asia/Taipei Asia/Tashkent Asia/Tbilisi Asia/Tehran Asia/Thimphu Asia/Tokyo Asia/Tomsk Asia/Ulaanbaatar Asia/Urumqi Asia/Ust-Nera Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yekaterinburg Asia/Yerevan Atlantic/Azores Atlantic/Bermuda Atlantic/Canary Atlantic/Cape_Verde Atlantic/Faeroe Atlantic/Madeira Atlantic/Reykjavik Atlantic/South_Georgia Atlantic/St_Helena Atlantic/Stanley Australia/Adelaide Australia/Brisbane Australia/Broken_Hill Australia/Currie Australia/Darwin Australia/Eucla Australia/Hobart Australia/Lindeman Australia/Lord_Howe Australia/Melbourne Australia/Perth Australia/Sydney Europe/Amsterdam Europe/Andorra Europe/Astrakhan Europe/Athens Europe/Belgrade Europe/Berlin Europe/Bratislava Europe/Brussels Europe/Bucharest Europe/Budapest Europe/Busingen Europe/Chisinau Europe/Copenhagen Europe/Dublin Europe/Gibraltar Europe/Guernsey Europe/Helsinki Europe/Isle_of_Man Europe/Istanbul Europe/Jersey Europe/Kaliningrad Europe/Kiev Europe/Kirov Europe/Lisbon Europe/Ljubljana Europe/London Europe/Luxembourg Europe/Madrid Europe/Malta Europe/Mariehamn Europe/Minsk Europe/Monaco Europe/Moscow Europe/Oslo Europe/Paris Europe/Podgorica Europe/Prague Europe/Riga Europe/Rome Europe/Samara Europe/San_Marino Europe/Sarajevo Europe/Saratov Europe/Simferopol Europe/Skopje Europe/Sofia Europe/Stockholm Europe/Tallinn Europe/Tirane Europe/Ulyanovsk Europe/Uzhgorod Europe/Vaduz Europe/Vatican Europe/Vienna Europe/Vilnius Europe/Volgograd Europe/Warsaw Europe/Zagreb Europe/Zaporozhye Europe/Zurich Indian/Antananarivo Indian/Chagos Indian/Christmas Indian/Cocos Indian/Comoro Indian/Kerguelen Indian/Mahe Indian/Maldives Indian/Mauritius Indian/Mayotte Indian/Reunion Pacific/Apia Pacific/Auckland Pacific/Bougainville Pacific/Chatham Pacific/Easter Pacific/Efate Pacific/Enderbury Pacific/Fakaofo Pacific/Fiji Pacific/Funafuti Pacific/Galapagos Pacific/Gambier Pacific/Guadalcanal Pacific/Guam Pacific/Honolulu Pacific/Johnston Pacific/Kiritimati Pacific/Kosrae Pacific/Kwajalein Pacific/Majuro Pacific/Marquesas Pacific/Midway Pacific/Nauru Pacific/Niue Pacific/Norfolk Pacific/Noumea Pacific/Pago_Pago Pacific/Palau Pacific/Pitcairn Pacific/Ponape Pacific/Port_Moresby Pacific/Rarotonga Pacific/Saipan Pacific/Tahiti Pacific/Tarawa Pacific/Tongatapu Pacific/Truk Pacific/Wake Pacific/Wallis


key: id

description: The ID of the user.


key: name

description: The display name of the user.


key: email

description: The primary email used for communication.


key: locale

description: The locale of the user.


key: timezone

description: The time zone of the user.


key: UserEmail

description:
    An email address that is linked to a user.

    Users may use any of their email addresses to login.

format: email


description: The email address that is registered


key: verified

description: Wether or not the email address has been verified by the user.


description:
Allows the user to login using an email address and a password.

Does nothing if the user is already logged in.


key: password

description: The password to login with.


description: The email to login with.


description:
Allows the user to register a new account using an email address and a password.

Does nothing if the user is already logged in.


key: displayName

description: The display name of the user.


key: picture

description: The image to use for the profile picture of the user.


key: properties

description:
The custom properties for the user.

Every value will be converted to a string.


description:
Allows the user to update their existing account.

Does nothing if the user isn’t logged in.


description: The new password.


description: The new email address.


description: The new display name of the user.


description: The new profile picture of the user.


key: app

description:
    OAuth2 login for apps.

    The authorization code flow is recommended. The password flow exists for legacy apps and will be
    removed in the future.

email: Read the user email address.

openid: Login the user to the requesting app using OpenID.

profile: Read the user profile, including the display name and profile picture.

resources:manage: Manage app resources on behalf of a user.

teams:read: Read the teams the user is a part of.

teams:write: Add new members to a team.


key: basic

description: Used for logging in to the web interface

type: http

scheme: basic


key: cli

description:
    OAuth2 login for client credentials.

    For example the Appsemble CLI uses this.

apps:write: Create and update apps

blocks:write: Register and update blocks, and publish new block versions.

organizations:write: Create and manage organizations.

resources:read: Read app resources on behalf of a user.

resources:write: Modify app resources on behalf of a user.

assets:write: Create app assets on behalf of a user.

teams:read: Read information about the user’s teams.


key: scim

description: Used SCIM clients

scheme: bearer


key: studio

description: Used for authenticating requests made using Appsemble studio interface.

bearerFormat: jwt


key: externalDocs

description: Appsemble developer documentation


key: info

description:
Welcome to the Appsemble API.

The app studio can be found on
> https://appsemble.app

The OpenAPI explorer can be found on
> https://appsemble.app/api-explorer


A list of the OAuth2 secrets for the app.


description:
            Get a partial app OAuth2 secret

            Only public facing values are output on this endpoint.


The updated OAuth2 secret.


The deleted OAuth2 secret.


key: post

description: Create a new app

operationId: createApp

dryRun

in: query

required: OrganizationId yaml

format: binary

contentType: text/css


key: parameters

description: Validate whether an app could be created without actually creating one. Must be set to ‘true’.


key: yaml

description: The original YAML definition used to define the app.


key: icon

description: The app icon.


key: maskableIcon

description: The app icon.


key: iconBackground

description: The background color to use for the maskable icon.


key: coreStyle

description: The custom style to apply to the core app.


key: sharedStyle

description: The custom style to apply to all parts of app.


key: screenshots

description: Screenshots to showcase in the store


The app that was created.


key: get

description: Get all existing apps.

operationId: queryApps


description: The language to include the translations of, if available


description: The list of all apps.


description: Get a single app

operationId: getAppById


The app that matches the given id.


key: patch

description: Update parts of an existing app

operationId: patchApp


key: force

description: Whether the locked property should be ignored.


key: showAppsembleLogin

description: Whether the Appsemble login method should be shown.


description: Whether the Appsemble OAuth2 login method should be shown.


key: emailName

description: The name used for emails.


key: emailHost

description: The hostname of the SMTP server.


key: emailPassword

description: The password to use for SMTP authentication. This gets encrypted when stored.


key: emailUser

description: The username used to authenticate against the SMTP server.


key: emailPort

description: The port used for the SMTP server.


key: emailSecure

description: Whether TLS is being used.


The updated app.


key: delete

description: Delete an existing app

operationId: deleteApp


The app was successfully deleted.


key: post

description: Update the locked property an app.

operationId: setAppLock


key: locked

description: Whether the app should be locked.


Lock status successfully changed


description: Get the app’s email settings.

operationId: getAppEmailSettings


description: The current app email settings


description: Whether a password is set.


description: Get the current app icon.

operationId: getAppIcon


The icon of the app that matches the given id.


description: Delete the current app icon.

operationId: deleteAppIcon


The icon has been successfully removed


description: Delete the current app’s maskable icon.

operationId: deleteAppMaskableIcon


description: Fetch all subscription settings of an app.

operationId: getSubscription


The subscription settings.


description: Subscribe to an app’s push notifications

operationId: addSubscription

required: endpoint keys


key: schema

description: A serialized PushSubscription object


The subscription has successfully been registered.


description: Subscribe to an app’s push notifications. If value isn’t set it will toggle between subscribing and unsubscribing.

operationId: updateSubscription

required: endpoint resource action


The subscription has successfully been updated.


description: Fetch all members of an app.

operationId: getAppMembers


description: The list of app members.


key: parameters

description: The ID of the member on which to perform an operation

memberId

in: path


description: Get an app member.

operationId: getAppMember


The resulting app member.


description: Assign an app role to a member.

operationId: setAppMember


key: role

description: The role to assign.


key: properties

description: Any additional properties that are allowed to be set for members.


description: Delete an app member.

operationId: deleteAppMember


The app member was deleted successfully.


key: get

description:
Get an app member’s profile picture.

This will return a 404 if the user has not uploaded one.

operationId: getAppMemberPicture


The profile picture of the app member.


description: Fetch all ratings of an app.

operationId: getAppRatings


description: The list of apps ratings.


description: Submit an app rating.

operationId: submitAppRating


The submitted app rating.


description: Broadcast a push notification to every subscriber of the app.

operationId: broadcast


description: The data to include in the notification


key: title

description: The title of the notification. This defaults to the name of the app if not otherwise specified.


key: body

description: The content of the notification


The notification has been successfully broadcasted.


description: Get a list of snapshots made of the app.

operationId: getAppSnapshots


description: The available snapshots


key: id

description: The ID of the snapshot.


key: $created

description: The creation date of the snapshot.


description: The ID of the snapshot


description: The ID of the snapshot.


description: Get a single snapshot made of the app.

operationId: getAppSnapshot


description: The snapshot


description: The ID of the snapshot.


key: yaml

description: The app definition.


description: Add one or multiple screenshots of an app.

operationId: createAppScreenshot


key: screenshots

description: Screenshots to showcase in the store


description: The screenshots have been successfully created.


key: items

description: The ID of the newly created screenshot.


description: Get a screenshot of an app.

operationId: getAppScreenshot


The app screenshot


description: Delete an existing screenshot.

operationId: deleteAppScreenshot


The screenshot has been successfully deleted.


description: Get the core style for this app.

operationId: getAppCoreStyle


The core stylesheet associated with this app.


description: Get the shared style for this app.

operationId: getAppSharedStyle


The shared stylesheet associated with this app.


description: Get the app style for a block.

operationId: getAppBlockStyle


The stylesheet associated with this block for this app.


description: Upload a block stylesheet for this app.

operationId: setAppBlockStyle


key: requestBody

description: The new app block stylesheet.


key: force

description: If this is true, the app lock is ignored.


The block style has been updated successfully.


description: Get a list of app teams.

operationId: getTeams


description: The list of all teams.

enum: member manager


description: An app team


description: The role of the user requesting the list of teams


description: Create a new team.

operationId: createTeam


description: The team to create.


description: The created team


description: The role of the user who created the team


description: The ID of the team


description: Fetch an existing team.

operationId: getTeam


description: The requested team


description: The role of the user who requested the team


key: patch

description: Update an existing team.

operationId: patchTeam


description: The team to update.


description: The updated team


description: The role of the user who updated the team


key: delete

description: Delete an existing team.

operationId: deleteTeam


The team has successfully been deleted.


description: Fetch the members of a team and their roles within the team.

operationId: getTeamMembers


description: The list of all members.


key: post

description: Add an app member member to a team.

operationId: addTeamMember


description: The team to update.


The added member


description: The ID of the team member


description: Get a certain team member from a team

operationId: getTeamMember


The specified team member


key: put

description: Update the role of a team member.

operationId: updateTeamMember


description: The team to update.


The updated member


description: Remove a member from a team.

operationId: removeTeamMember


The team member has been removed successfully.


key: parameters

description: The ID of the team


description: Invite a new user to a team.

operationId: inviteTeamMember


description: The team invite to create.


key: email

description: The email address of the user to invite.


key: role

description: The role to invite the user as.


key: get

description: Get details of a team invite.

operationId: getTeamInvite


description: The ID code of the team invite


The team invite


The created member


A list of the SAML secrets for the app.


description: A list of the SAML secrets for the app.


The updated SAML secret.


The deleted SAML secret.


description: Get app SCIM secret configuration

operationId: getAppScimSecret


The app SCIM configuration


description: Update app SCIM secret configuration

operationId: updateAppScimSecret


The SCIM Schema


SCIM user


Integrated SCIM user schema


description: The ID of the member to perform the operation on


description: Get a list of all languages with messages.

operationId: getAppsembleLanguages


description: The list of supported languages


description: Get the Appsemble messages for this language.

operationId: getStudioMessages


The app messages for the selected language.


description: Get the SSL certificate of an app

operationId: getSSLSecret


The SSL secret of the app.


description: Update the app’s SSL secret

operationId: updateSSLSecret


The updated SSL secret.


description: Email quota for an app


key: used

description: Number of emails sent today


key: limit

description: Maximum number of emails that can be sent today


key: reset

description: Date and time when the quota resets


description: Get all of the app’s assets.

operationId: getAssets


The assets associated with the app.


description: Upload a new asset.

operationId: createAsset


description: The asset to upload.


key: schema

description: The request body for creating an asset.


key: file

description: The binary data of the asset. This may include a filename.


key: name

description: The given name of the asset. Assets may be referenced by their name or ID in the API.


The asset that was created.


description: Delete multiple app assets.

operationId: deleteAssets


description: An array of asset IDs to remove.


The app assets have been deleted successfully.


description: Get the number of assets in the app.

operationId: countAssets


description: The number of assets in the app.


description: Get a single asset

operationId: getAssetById


The asset that matches the given id.


description: Remove an existing asset

operationId: deleteAsset


The asset was successfully deleted.


description: Publish a block.

operationId: publishBlock


description: The new block version to publish.


description: Get all block’s latest definitions.

operationId: queryBlocks


description: The list of all latest block versions.


description: Get a single block

operationId: getBlock


The latest version of the block that matches the given id.


description: Retrieves all available versions of a block.

operationId: getBlockVersions


description: A list of versions of a block.


description: Retrieve a single block version.

operationId: getBlockVersion


description: The file name of the block asset to download


description: Download a single block asset

operationId: getBlockAsset


The asset that has been requested.


description: The language to get messages for.


description: Get internationalized messages for a block.

operationId: getBlockMessages


description: A key/value mapping of block messages.


description: A key/value mapping of block messages.


key: additionalProperties

description: A translated block message.


description: Get the icon of a block version.

operationId: getBlockIcon


The icon that represents the block.


description: Register a new account using an email address and a password.

operationId: registerEmail

required: email password


key: requestBody

description: The user account to register.


The account that was created.


description: Verify the email address of a registered user.

operationId: verifyEmail


description: The user account to register.


The account was successfully verified.


description: Resend the verification code for a registered email.

operationId: resendEmailVerification


The verification email was sent if an account was found in the database.


description: Request a reset token for resetting passwords.

operationId: requestResetPassword


The request has been received and an email was sent if it exists.


description: Reset a password using a password reset token.

operationId: resetPassword

required: password token


The password has been reset.


description: Check whether or not the API is healthy

operationId: checkHealth


An indication the server is healthy.


description: Check the SSL certificate status for the given domain names.

operationId: getSSLStatus

domains

format: hostname


description: A mapping of domain name to their SSL status

enum: error missing pending ready unknown


description: Get a list of timezones supported by the API

operationId: getTimezones


description: A list of timezones supported by the API


description: The token of the invite.


description: Fetch information about an invite.

operationId: getInvitation


An invite response


description: Register new OAuth2 client credentials for the authenticated user.


description: The OAuth2 client credentials


The newly created client credentials


description: Get a list of client credentials for the authenticated user


description: A list of client credentials entities.


description: The client id of the OAuth2 client credentials on which to perform an operation


description: Revoke the client credentials


The client credentials have been revoked successfully.


description: asd

required: authorizationUrl code


description: Create an account using an OAuth2 authorization.

required: code authorizationUrl timezone


description: The OAuth2 client credentials


description: An access token response.


description: Get a list of the user’s connected OAuth2 accounts.

operationId: getConnectedAccounts


description: An access token response.


description: Unlink a linked account from the logged in user.

operationId: unlinkConnectedAccount


The account was unlinked successfully.


description:
        Get the user information formatted as OpenID user info.

        See https://connect2id.com/products/server/docs/api/userinfo

operationId: getUserInfo


description: OpenID compatible user information


key: sub

description: The subject (end-user) identifier.


description: The full name of the end-user


key: picture

description: The URL of the profile page for the end-user.


description: The end-user’s preferred email address.


description: True if the end-user’s email address has been verified, else false.


description: Verify if the user has previously agreed to the requested OAuth2 consent.


description: Create a new OAuth2 consent.


description: Fetch the list of organizations.

operationId: getOrganizations


description: The list of of organizations


description: Create a new organization.

operationId: createOrganization


description: The organization to create


key: icon

description: The organization icon.


description: Get a single organization.

operationId: getOrganization


key: patch

description: Update an organization

operationId: patchOrganization


description: Get the organization icon.

operationId: getOrganizationIcon


The icon that represents the organization.


description: Get a list of organization members.

operationId: getMembers


description: The list of all members.


key: post

description: Request to resend an invitation.

operationId: resendInvitation


description: The email of the person to resend the invitation to.


The invite has been sent.


description: Respond to a given invitation.

operationId: respondInvitation

required: response token


description:
The response of the invitation.

        If response is true, user will join the organization. If response is false, the user declines the invite and the invite is removed.


The response has been processed.


description: Get a list of invited organization members.

operationId: getInvites

enum: Member Translator APIReader APIUser AppEditor Maintainer Owner


description: The list of all invites.

enum: Member Translator APIReader APIUser AppEditor Maintainer Owner


description: Invite a new member to the organization that matches the given id.

operationId: inviteMembers

required: email role


description: The member to invite.


The newly invited member.


key: delete

description: Revoke a member invitation.

operationId: removeInvite


description: The email address to revoke the invite of.


The invitation has been successfully revoked.


key: parameters

description: The ID of the member to remove


description: Remove a member from the organization that matches the given id, or leave the organization if the member id matches the user’s member id

operationId: removeMember


The member has been successfully removed.


description: The ID of the member


key: put

description: Set the role of the member within the organization.

operationId: setRole


description: The role to set.


The member’s role has been successfully updated.


key: get

description: Get a list of an organization’s apps. Private apps are excluded unless the user is in the organization.

operationId: getOrganizationApps


description: The language to include the translations of, if available


description: The list of this organization’s apps.


description: Get a list of an organization’s blocks.

operationId: getOrganizationBlocks


description: The list of this organization’s blocks.


description: The path to the action to execute.


description: Proxy a GET request action

operationId: proxyGet

app: email profile


key: default

description: The proxied response


description: The data that was passed to the action


description: Proxy a DELETE request action

operationId: proxyDelete


description: Proxy a PATCH request action

operationId: proxyPatch


description: The data that was passed to the action


description: Proxy a POST request action

operationId: proxyPost


description: Proxy a PUT request action

operationId: proxyPut


description: Get the known history of a resource

operationId: getResourceHistory


description: The resource that matches the given id.


description: Get all resources of this app.

operationId: queryResources


description: The list of all this app’s resources of this type.


description: Create a new resource for this app.

operationId: createResource


description: The resource to create


description: A `multipart/form-data` representation of a resource.


key: assets

description: A list of assets that should be linked to the resource.


The resource that was created.


description: Update existing app resources.

operationId: updateResources


description: The resources to update


description: A list of assets that should be linked to the resources.


The updated resources.


description: Delete multiple app resources.

operationId: deleteResources


description: An array of resource IDs to remove.


The app resources have been deleted successfully.


description: Get a count of all resources of this app.

operationId: countResources


description: The count of all this app’s resources of this type.


description: Get the current subscription status of this resource.

operationId: getResourceTypeSubscription


The subscription status for this resource.


description: Get a single app resource.

operationId: getResourceById


The resource that matches the given id.


description: Update an existing app resource.

operationId: updateResource


The updated resource.


description: Patch an existing app resource.

operationId: patchResource


The patched resource.


description: Delete an existing app resource.

operationId: deleteResource


The app resource has been deleted successfully.


description: Get the subscription status of a resource.

operationId: getResourceSubscription


description: The subscription status of the resource that matches the given id.


A list of the SAML secrets for the app.


Get the SAML entity ID metadata


description: Continue SAML login in case of an email conflict


description: Fetch a list of all available templates.

operationId: getAppTemplates


description: The list of all available templates.


key: template

description: The name of the template.


key: description

description: The description of the template.


key: resources

description: Whether this template supports pre-made resources


description: Register a new app using a template.

operationId: createTemplateApp

required: templateId organizationId


description: The template to use for app creation.


key: templateId

description: The ID of the template.


description: Include example resources.


description: Get a list of all languages with messages.

operationId: getLanguages


description: The list of supported languages


description: Upload messages for the given language.

operationId: createMessages


The translation was created.


description: Whether the language’s messages should be merged with its base language.


description: Whether the app’s language overrides should be included and merged.

override

default: true


description: Get the app’s messages for this language.

operationId: getMessages


The app messages for the selected language.


description: Delete the app’s messages for this language.

operationId: deleteMessages


The messages have successfully been deleted.


The created app service secret.


description: The list of app service secrets.


The updated app service secret.


The deleted app service secret.


description: Login using the Appsemble studio.

operationId: emailLogin


Logged in successfully.


description: Get all apps that are editable by the user.

operationId: queryMyApps


description: The language to include the translations of, if available


description: The list of all editable apps.


description: Refresh an access token using the Appsemble studio

operationId: refreshToken


description: The refresh token to use for refreshing the session.


The token has been refreshed successfully.


description: Fetch the logged in user's profile.

operationId: getUser


The user's profile.


description: Update the logged in user's profile.

operationId: updateUser


description: Fetch the logged in user's organizations.

operationId: getUserOrganizations


description: The organizations the logged in user is a member of.


description: List email addresses registered to logged in user's account.

operationId: listEmails


description: The email address has been added successfully.


description: Register a new email to logged in user's account.

operationId: addEmail


description: Remove an existing email to logged in user's account.

operationId: removeEmail


The email address has been removed successfully.


description: Get the accounts that have been linked to an app and the user

operationId: getAppAccounts


description: A list of linked accounts


description: Get a single account that has been linked to an app and the current user

operationId: getAppAccount


A list of linked accounts


description: Register a new app account using an email address and a password.

operationId: registerMemberEmail

required: email password timezone


description: The user account to register.


description: The account’s profile picture.


key: properties

description: The member’s custom properties.


The account that was created.


description: Update user data for a specific app

operationId: patchAppAccount


description: The member’s profile picture.


key: locale

description: The preferred locale of the user.


A linked app account


description: Verify the email address of a registered user.

operationId: verifyMemberEmail


key: requestBody

description: The user account to register.


The account was successfully verified.


description: Resend the verification code for a registered email.

operationId: resendMemberEmailVerification


The verification email was sent if an account was found in the database.


description: Request a reset token for resetting passwords.

operationId: requestMemberResetPassword


The request has been received and an email was sent if it exists.


description: Reset a password using a password reset token.

operationId: resetMemberPassword


The password has been reset.


key: tags

description: Operations related to the App definition


description: Operations related to Assets


description: Operations related to the Authentication


description: Operations related to App translations


description: Operations related to organizations


description: Operations related to the Resources definition


description: Operations related to a user.


key: files

description: The file names of the individual files to copy to the project.


key: library

description: The unique identifier of the library.


key: destination

description: The relative folder path from this config file to the location where the files should be copied to.


key: provider

description: The unique identifier of the provider


key: defaultProvider

description: The unique identifier of the provider to use as default.


key: defaultDestination

description: The default destination to place library files.


key: libraries

description: A list of library references.


key: version

description: The syntax version of this config file. Can only be 1.0


key: autoUpdateSlugs

description: Automatically update slugs of all sub pages. Default: true


key: autoCreateRedirects

description: Automatically create redirects for pages with a new slug (works only in LIVE workspace). Default: true


key: redirectTTL

description: Time To Live in days for redirect records to be created - `0` disables TTL, no expiration. Default: 0


key: httpStatusCode

description: HTTP status code for the redirect, see https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections#Temporary_redirections. Default: 307


key: errorCode

description: Make sure to have at least 0 (not defined otherwise) configured in order to serve helpful error messages to your visitors.


key: errorHandler

description: How to handle Errors

default: Page

enum: Page Fluid PHP


key: errorPhpClassFQCN

description: Fully qualified class name to a class that implements the PageErrorHandlerInterface.


key: errorFluidTemplate

description: Path to the fluid template file given by absolute, relative path (from site root) or by referring the template file inside an extension with "EXT:" prefix.


key: errorContentSource

description: Show Content from Page


key: route

description: Static Route Name


key: type

description: Route Type

enum: uri staticText


key: source

description: Page, File or URL


key: content

description: Static Text


key: title

description: Title


key: enabled

description: Visible in Frontend


key: languageId

description: ID of the related sys_language record


key: base

description: Use a full qualified domain "https://www.mydomain.fr/" or "/fr/". Use "/" to keep the main URL for the default language. Add language specific suffixes to use those, or configure complete URLs for independent domains.


description: Select the language to be used from translation files. Keep default if no translation files are available. Deprecated with TYPO3 12.3

default: default

enum: default af ar bs bg ca ch cs da de el eo es et eu fa fi fo fr fr_CA gl he hi hr hu is it ja ka kl km ko lt lv mi mk ms nl no pl pt pt_BR ro ru rw sk sl sq sr sv th tr uk vi zh


key: locale

description: Used for localized date and currency formats. E.g. "de_DE" or "en_US.UTF-8".


description: ISO 639-1 code of the Language

enum: ab aa af ak sq am ar an hy as av ae ay az bm ba eu be bn bh bi bs br bg my ca ch ce ny zh cv kw co cr hr cs da dv nl dz en eo et ee fo fj fi fr ff gl ka de el gn gu ht ha he hz hi ho hu ia id ie ga ig ik io is it iu ja jv kl kn kr ks kk km ki rw ky kv kg ko ku kj la lb lg li ln lo lt lu lv gv mk mg ms ml mt mi mr mh mn na nv nd ne ng nb nn no ii nr oc oj cu om or os pa pi fa pl ps pt qu rm rn ro ru sa sc sd se sm sg sr gd sn si sk sl so st es su sw ss sv ta te tg th ti bo tk tl tn to tr ts tt tw ty ug uk ur uz ve vi vo wa cy wo fy xh yi yo za zu


key: navigationTitle

description: Used within language-related menus


key: hreflang

description: Used within for "lang" and "hreflang" attributes


key: direction

description: Language direction for "dir" attribute

enum: ltr rtl


key: websiteTitle

description: With this language based Website title, you can override the Website title for this language


key: fallbackType

description: Fallback Type

enum: strict fallback free

default: strict


key: fallbacks

description: Fallback to other Language(s) - order is important! Comma separated list


description: Base URL. This is the URL under which this site is available


key: rootPageId

description: ID of the page where this site begins


description: Default website title


key: routeEnhancers

description: routeEnhancers transform arguments into nice urls. Docs can be found at https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Routing/Index.html

enum: Simple Plugin Extbase PageType

enum: LocaleModifier PersistedAliasMapper PersistedPatternMapper StaticRangeMapper StaticValueMapper

const: PersistedAliasMapper

required: type routeFieldName tableName

const: PersistedPatternMapper

const: LocaleModifier

required: type default localeMap

const: StaticRangeMapper

required: type start end

const: StaticValueMapper

required: type map

const: Simple

required: type routePath _arguments

const: Plugin

required: type namespace requirements

const: Extbase

required: type extension plugin defaultController


key: additionalProperties

description: Each enhancer must have a type


key: sitePackage

description: Extension key for site setup (used by EXT:bolt)


description: EXT:solr default core for read


description: EXT:solr enable default solr read


description: EXT:solr default host for read


description: EXT:solr password for read


description: EXT:solr username for read


description: EXT:solr port for read


description: EXT:solr scheme for read

enum: http https %env(SOLR_SCHEME)%


description: EXT:solr use write connection


key: filename

description: Fully qualified filename


key: checksum

description: This field should always have the value specified by Talisman message


description: Disable specific detectors for a particular file

enum: filecontent filename filesize


description: Keywords to ignore to reduce the number of false positives


key: scopeconfig

description: Talisman is configured to ignore certain files based on the specified scopes


description: You can specify custom regex patterns to look for in the current repository


description: Custom detectors severities

enum: low medium high

required: detector severity


key: threshold

description: Default minimal threshold


key: version

description: .talismanrc version


description: Kontinuous component

const: app

const: jobs


key: then

description: Common to all charts


key: global

description: Global variables


key: repositoryName

description: Application name, default to GIT repository name


key: namespace

description: Default namespace


key: registry

description: Default docker registry URL, it is recommended tu use .kontinuous/config.yaml file to setup registry instead of using values


key: rancherProjectId

description: Rancher project ID to put on the


key: imageProject

description: Default docker project name. ex registry/[imageProject]/image:tag


key: imageRepository

description: Default docker image repository name. ex registry/project/[imageRepository]image:tag


key: imageTag


key: ttl

description: Dev environments janitor namespaces time-to-live. see https://codeberg.org/hjacobs/kube-janitor


key: replicas

description: Default number of deployment replicas


key: host

description: Default host name


key: pgDatabase

description: Default PG database name, defaults to `application-branch`


key: pgSecretName

description: Default PG secret name, defaults to `pg-user-branch`


key: pgUser

description: Default PG user name, defaults to `user-branch`


key: registrySecretRefName

description: Secret name that hold the docker registry to push images to


key: ~chart

description: Kontinuous Chart for this component. see https://github.com/SocialGouv/kontinuous/tree/master/plugins/contrib/charts

examples: app maildev hasura metabase


key: ~needs

description: Job or deployment dependencies


description: build-info

required: name version


key: properties

description: Environment variables and properties collected from the CI server


key: version

description: Build info schema version


key: name

description: Build name


key: number

description: Build number


key: type

description: Build type


key: buildAgent

description: Build tool information


description: Build tool type


description: Build tool version


key: agent

description: CI server information


description: CI server type


description: CI server version


key: started

description: Build start time


key: durationMillis

description: Build duration in milliseconds


key: url

description: CI server URL


key: vcs

description: List of VCS used for the build


description: VCS URL


key: branch

description: Branch


key: revision

description: Last commit hash


key: message

description: Last commit message


key: modules

description: Build-info modules


description: Module properties


key: id

description: Module ID


description: Module type


key: artifacts

description: List of module artifacts


key: dependencies

description: List of module dependencies


key: requestedBy

description: List of ancestor dependencies, which caused this dependency to be imported into the build


key: items

description: List of ancestor dependencies, which caused this dependency to be imported into the build. The first item in the list is the direct ancestor


description: Dependency ID


key: issues

description: List of issues related to the build


key: aggregateBuildIssues

description: Whether issues have appeared in previous builds


key: aggregated

description: Whether this specific issue already appeared in previous builds


key: dismissOnTouchOutside

description: Signals that a popup should close when a user clicks outside of it. This is used for closing modals/popups


key: funcName

description: A name/identifier for a function. This is used mainly for builtIn actions, where applications implement their own behavior and binds it to some object in the noodl

examples: redraw goto saveSignature


key: popUpView

description: A binding between a popUp or popUpDismiss component to a popUp action.


key: reload

description: When set to true, this signals that a page should run its "init" operation upon visiting from the user. If it is false, a page will not run it, which can be used to  persist values when navigating pages


key: timer

description: A timer is useful for situations such as chat rooms where users will have a time limit before being getting out


key: wait

description: Used to prevent further actions from happening. For example, a popUp action with "wait: true" will open a pop up in the page and will not run actions that are next in the call stack. This can be used to restrict access to pages when authenticating


key: ActionChain

description: A chain of actions in sequential order


key: ActionType

description: An identifier/name for an action

examples: openCamera openPhotoLibrary openDocumentManager pageJump popUpDismiss refresh register removeSignature saveObject saveSignature updateObject popUp builtIn evalObject


key: AwaitReference

description: A reference that returns its result after the value at the referenced path is received


key: Boolean

description: A boolean value is either one of "true", true, "false", or false


key: Border

description: Border styles

examples: dashed solid


description: Removes border including the radius


description: Removes border from all sides (including radius) except the bottom. This will create an underline effect


description: Applies a solid border to all sides


description: Sets the border to be a dashed border


description: Removes border from all sides


description: Sets the border to be a solid border. This will also remove border radius from all sides


key: BorderStylePreset

description: A set of border presets, each applying a different style


key: BuiltInEval

description: Objects that become built in functions when parsed/serialized


key: Component

description: Components are the building blocks that construct to user interfaces

examples: true false


key: itemObject

description: This is a common value used for iteratorVar


key: poster

description: A cover image used on video components. When a video has not been interacted with by a user, a cover image is displayed. This value can be used for the cover image


key: text=func

description: A function to transform a component's text. A component must have the 'text' property.


key: ContentType

description: Determines the content type of the component. For example, a textField component may be a date textField if it has contentType: date, or a password textField with contentType: password, etc

examples: countryCode email date file formattedDate formattedDuration hidden listObject messageHidden number password passwordHidden phone phoneNumber tel text timer videoSubStream


key: DataIn

description: Argument(s) to the surrounding built in function


key: DataKey

description: A value/pointer to a a property of an object


key: DataKeyObject

description: Data key in the emit object


key: DataKeyString

description: The path to a data object or value. It might provide a different behavior depending on where it is placed. For example, a dataKey set on a textField component will bind its value to the path in the dataKey, enabling it to mutate the value while updating textField's value


key: DataObject

description: An object that contains data. It is most commonly used in actions such as updateObject as a way to update its data values


key: DataOut

description: Return value(s) to the surrounding built in function


key: Emit

description: An emit is a special type of action that usually contains a dataKey paired with a list of actions that are called in order. Some emits can contain just a list of actions. When paired with a dataKey it is usually mutating the value at the path in the dataKey


key: Empty

description: Empty value (empty string)


key: Goto

description: The destination the user should navigate to


key: If

description: If objects contain an array with three items used for conditional checks. The first item is used as a test for truthiness which can be in the form of any data type such as a string, number, boolean, object, etc. Either the second or third item is returned depending on the result of the truthiness test


key: Init

description: One or more action(s) which will occur when entering a page


key: LocalEvalReference

description: Mutates the value at the referenced path after receiving its result


key: LocalReference

description: A reference whose scope is within the page object, making them invisible to the objects outside of its scope


key: MixedActionChain

description: An ActionChain but also includes the BuiltInEval objects =.builtIn.* as well as await/eval references


key: NoodlUnit

description: A measurement adaptive to the size of the viewport


key: Page

description: A page object

examples: top center bottom


key: title

description: Titles can be used to represent the page


key: viewPort

description: Determines the initial scroll position for the user


key: PageNumber

description: A page number may help distinguish between pages with similar names


key: Path

description: A path can be in the form of a string, an if object, or an emit object


key: Reference

description: Placeholder values that obtain their real values at a later time


key: Root

description: The root/base object. It is global to all descendants


key: Global

description: This can be accessed and mutated by any object at any time


key: RootEvalReference

description: Mutates the value at the root referenced path after receiving its result


key: RootReference

description: A reference whose scope is at the global level


key: SelectOptions

description: Options for a select component. These are the items that appear in the drop down menu when interacting with a select component


key: align

description: The alignment in a block. If align is horizontal, siblings will align horizontally, vice versa. This is functionally equivalent to the "axis" keyword

examples: centerX centerY


key: axis

description: The axis in a block. If axis is horizontal, siblings will align horizontally, vice versa. This was previously used in list/listItem components

examples: horizontal vertical


key: boxShadow

description: Applies a box shadow style effect


key: fontWeight

description: Applies a thickness style effect


key: isHidden

description: Used for hiding/showing components


key: left

description: Left position. The greater the value, the further away from the left position


key: letterSpacing

description: Spacing between each letter


key: lineHeight

description: Spacing between each line


key: opacity

description: Applies a transparenct style effect. The lower the opacity, the more the transparent effect is applied


key: overflow

description: If hidden, any styles flowing outside of a component's bounds will be invisible


key: shadow

description: Applies a box shadow effect


key: top

description: Top position. The greater the value, the further away from the top position


key: zIndex

description: Applies a level of precedence/importance to a component. The higher the zIndex the higher level the component will be placed. For example, if a child 3 levels down applies a higher zIndex than the parent, then the child will appear to be on top in the page


key: Text

description: Used to display text in the user interface. Most commonly used in label components


key: TextBoard

description: A component that contains children of text that are positioned inline (side by side)


key: UserEvent

description: An event in the form of an ActionChain that triggers from user interactions, like onClick and onFocus


key: Value

description: A valid value in accordance to the noodl specification


key: ViewTag

description: An identifier which is used to bind a component and an action together. Actions can define a viewTag that invokes certain behavior towards a component. The component must also contain the same viewTag key/value. If multiple components have the same viewTag, then the action will effect multiple components


description: JSON schema for zcodeformat.yaml or zcodeformat.json code formatter preferences files. Version 0.0.1 -- Licensed Materials - Property of IBM - (c) Copyright IBM Corporation 2022. All Rights Reserved.

enum: upper lower

enum: none upper lower mixed

default: upper

default: wrapToNextLine

enum: wrapToNextLine noIndent indentToAreaB indentPastAreaB


key: enableIndentation

description:
Enable indentation of record descriptions
If false, startOfAreaA and indentLength are not allowed


key: indentation

description: Indentation objects based on enableIndentation


key: alignPictureClauses

description: Align PICTURE Clauses


key: alignValueClauses

description: Align VALUE Clauses


description: Enable indentation of procedure divisions


key: reservedWordCase

description: Reserved words


key: userDefinedWordCase

description: User-defined words