Here's a quick summary of everything we released in Q1 2024.
Hygraph
Docs

You are currently reading the Studio Docs. If you were looking for the Classic Docs check here

Management SDK field examples

#Models

#Create models

client.createModel({
apiId: '<your_api_id>',
apiIdPlural: '<your_api_id_plural>',
description: `<your_model_description>`,
displayName: '<Your model name>',
});
  • apiId: String. The model apiId.
  • apiIdPlural: String. The models plural apiId. This is used for lists.
  • description: Optional - String. Description of the model.
  • displayName: String. Display name that is used to render the model in the webapp.

#Update models

client.updateModel({
apiId: '<your_api_id>',
apiIdPlural: '<your_api_id_plural>',
description: `<your_model_description>`,
displayName: '<Your model name>',
newApiId: `<your_new_api_id>`,
});
  • apiId: String. The model apiId.
  • apiIdPlural: Optional - String. The model's plural apiId. This is used for lists.
  • description: Optional - String. Description of the model.
  • displayName: Optional - String. Display name that is used to render the model in the webapp.
  • newApiId: Optional - String. The model's new apiId.

#Delete models

client.deleteModel({
apiId: '<your_api_id>',
});
  • apiId: String. The apiId of the model you wish to delete.

#Simple fields

#Create simple fields

client.createSimpleField({
apiId: `<your_api_id>`,
description: `<your_description>`,
displayName: `<your_display_name>`,
embeddableModels: `<embeddable_models>`,
embedsEnabled: `<boolean>`,
formConfig: `<form_config_json>`,
formExtension: `<form_extension>`,
formRenderer: `<form_renderer>`,
isHidden: `<boolean>`,
isList: `<boolean>`,
isLocalized: `<boolean>`,
isRequired: `<boolean>`,
isTitle: `<boolean>`,
isUnique: `<boolean>`,
migrationValue: `<migration_value>`,
modelApiId: `<model_api_id>`,
parentApiId: `<parent_api_id>`,
position: `<int>`,
tableConfig: `<table_config_json>`,
tableExtension: `<table_extension>`,
tableRenderer: `<table_renderer>`,
type: SimpleFieldType,
validations: `<SimpleFieldValidationsInput>`,
visibility: `<VisibilityTypes>`,
});
  • apiId: String Your simple field apiId.
  • description: Optional - String. Simple field description.
  • displayName: String. Display name that is used to render the field in the webapp.
  • embeddableModels: Optional - String.
  • embedsEnabled: Optional - Boolean.
  • formConfig: Optional - JSON.
  • formExtension: Optional - String.
  • formRenderer: Optional - String.
  • isHidden: Optional - Boolean. Makes the field hidden if true.
  • isList: Optional - Boolean.
  • isLocalized: Optional - Boolean.
  • isRequired: Optional - Boolean. Makes the field required if true.
  • isTitle: Optional - Boolean. Makes the field a title if true.
  • isUnique: Optional - Boolean. Makes the field unique if true.
  • migrationValue: Optional - String. Value which will go in place of null if the field is later made required.
  • modelApiId: Optional - String. Model apiId.
  • parentApiId: Optional - String. Parent apiId.
  • position: Optional - Integer.
  • tableConfig: Optional - JSON.
  • tableExtension: Optional - String.
  • tableRenderer: Optional - String.
  • type: SimpleFieldType,
  • validations: Field validations.
  • visibility: Field visibility, for example VisibilityTypes.ReadWrite.

#Update simple field

client.updateSimpleField({
apiId: `<your_api_id>`,
description: `<your_description>`,
displayName: `<your_display_name>`,
embeddableModels: `<embeddable_models>`,
embedsEnabled: `<boolean>`,
formConfig: `<form_config_json>`,
formExtension: `<form_extension>`,
formRenderer: `<form_renderer>`,
initialValue: `<initial_value>`,
isHidden: `<boolean>`,
isList: `<boolean>`,
isLocalized: `<boolean>`,
isRequired: `<boolean>`,
isTitle: `<boolean>`,
isUnique: `<boolean>`,
migrationValue: `<migration_value>`,
modelApiId: `<model_api_id>`,
newApiId: `<new_api_id>`,
parentApiId: `<parent_api_id>`,
position: `<int>`,
tableConfig: `<table_config_json>`,
tableExtension: `<table_extension>`,
tableRenderer: `<table_renderer>`,
validations: `<SimpleFieldValidationsInput>`,
visibility: `<VisibilityTypes>`,
});
  • apiId: String Your simple field apiId.
  • description: Optional - String. Simple field description.
  • displayName: String. Display name that is used to render the field in the webapp.
  • embeddableModels: Optional - String.
  • embedsEnabled: Optional - Boolean.
  • formConfig: Optional - JSON.
  • formExtension: Optional - String.
  • formRenderer: Optional - String.
  • initialValue: Optional - String.
  • isHidden: Optional - Boolean. Makes the field hidden if true.
  • isList: Optional - Boolean.
  • isLocalized: Optional - Boolean.
  • isRequired: Optional - Boolean. Makes the field required if true.
  • isTitle: Optional - Boolean. Makes the field a title if true.
  • isUnique: Optional - Boolean. Makes the field unique if true.
  • migrationValue: Optional - String. Value which will go in place of null if the field is later made required.
  • modelApiId: Optional - String. Model apiId.
  • newApiId: Optional - String. New apiId.
  • parentApiId: Optional - String. Parent apiId.
  • position: Optional - Integer.
  • tableConfig: Optional - JSON.
  • tableExtension: Optional - String.
  • tableRenderer: Optional - String.
  • validations: Field validations.
  • visibility: Field visibility, for example VisibilityTypes.ReadWrite.

#Delete field

client.deleteField({
apiId: `<your_api_id>`,
modelApiId: `<model_api_id>`,
parentApiId: `<parent_api_id>`,
});
  • apiId: String. Thr apiId of the field you wish to delete.
  • modelApiId: Optional - String. The modelApiId of the field you wish to delete.
  • parentApiId: Optional - String. The parentApiId of the field you wish to delete.

#Specific examples

Title field of type string

client.createSimpleField({
parentApiId: '<parent_api_id>',
type: SimpleFieldType.String,
apiId: '<your_title>',
displayName: '<Your Title>',
isTitle: true,
isRequired: true,
visibility: VisibilityTypes.ReadWrite,
});

Simple field of type string

client.createSimpleField({
parentApiId: '<parent_api_id>',
type: SimpleFieldType.String,
apiId: '<your_api_id>',
displayName: '<Your Display Name>',
isRequired: true,
visibility: VisibilityTypes.ReadWrite,
});

Slug field

client.createSimpleField({
parentApiId: '<parent_api_id>',
type: SimpleFieldType.String,
apiId: '<your_api_id>',
displayName: '<Your Display Name>',
description:
'<Enter the slug for this page, such as about, blog, or contact>',
isRequired: true,
isUnique: true,
tableRenderer: 'GCMS_SLUG',
formRenderer: 'GCMS_SLUG',
});

Hidden integer field with custom field validation

client.createSimpleField({
parentApiId: '<parent_api_id>',
type: SimpleFieldType.Int,
apiId: '<api_id>',
displayName: '<Your Display Name>',
visibility: VisibilityTypes.Hidden,
validations: {
Int: {
range: {
max: 1000,
min: 0,
errorMessage: '<Counter has to be between 0 and 1000>',
},
},
},
});

Required & unique string field with custom regex validation for emails

client.createSimpleField({
parentApiId: '<parent_api_id>',
type: SimpleFieldType.String,
apiId: '<email>',
displayName: '<Email>',
isRequired: true,
isUnique: true,
validations: {
String: {
matches: {
regex: '^([a-z0-9_\\.\\+-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$',
},
},
},
});

Richtext field

client.createSimpleField({
parentApiId: '<parent_api_id>',
type: SimpleFieldType.Richtext,
apiId: '<api_id>',
displayName: '<Your Display Name>',
description:
'<Enter the content for this page. The content uses the rich-text editor, giving you a better visual representation.>',
isRequired: true,
});

Richtext with embeds and single allowed embeddable model

client.createSimpleField({
parentApiId: '<parent_api_id>',
type: SimpleFieldType.Richtext,
apiId: '<api_id>',
displayName: '<Your Display Name>',
embedsEnabled: true,
embeddableModels: ['<model>'],
});

List of date times

client.createSimpleField({
parentApiId: '<parent_api_id>',
type: SimpleFieldType.Datetime,
apiId: '<api_id>',
displayName: '<Your Display Name>',
isRequired: true,
isList: true,
});

#Relational fields

#Create relational field

client.createRelationalField({
apiId: '<api_id>',
description: `<your_description>`,
displayName: '<Your Display Name>',
formExtension: `<form_extension>`,
formRenderer: `<form_renderer>`,
isHidden: `<boolean>`,
isList: `<boolean>`,
isRequired: `<boolean>`,
modelApiId: `<model_api_id>`,
parentApiId: '<parent_api_id>',
reverseField: {
apiId: '<api_id>',
description: `<description>`,
displayName: '<Your Display Name>',
isHidden: `<boolean>`,
isList: `<boolean>`,
isUnidirectional: `<boolean>`,
modelApiId: '<model_api_id>',
visibility: `<visibility_types>`,
},
tableExtension: `<table_extension>`,
tableRenderer: `<table_renderer>`,
type: `<relational_field_type>`,
visibility: `<visibility_types>`,
});
  • apiId: String. Your relational field apiId.
  • description: Optional - String. Relational field description.
  • displayName: String. Display name that is used to render the relational field in the webapp.
  • formExtension: Optional - String.
  • formRenderer: Optional - String.
  • isHidden: Optional - Boolean. The relational field is hidden if true.
  • isList: Optional - Boolean.
  • isRequired: Optional - Boolean. The relational field is required if true. Only supported for RelationalFieldType.Asset.
  • modelApiId: Optional - String. Model apiId.
  • parentApiId: Optional - String. Parent apiId.
  • reverseField: Reverse relational field input.
    • apiId: String. Your reverse relational field apiId.
    • description: Optional - String. Description.
    • displayName: String. Reverse field display name.
    • isHidden: Optional - Boolean. The field is hidden if true.
    • isList: Optional - Boolean.
    • isUnidirectional: Optional - Boolean. The field is unidirectional if true.
    • modelApiId: String. Reverse field model apiId.
    • visibility: Visibility types.
  • tableExtension: Optional - String.
  • tableRenderer: Optional - String.
  • type: Relational field type. For example RelationalFieldType.Asset.
  • visibility: Optional. Visibility types.

#Update relational field

client.updateRelationalField({
apiId: '<api_id>',
description: `<your_description>`,
displayName: '<Your Display Name>',
formExtension: `<form_extension>`,
formRenderer: `<form_renderer>`,
isHidden: `<boolean>`,
isList: `<boolean>`,
isRequired: `<boolean>`,
modelApiId: `<model_api_id>`,
parentApiId: '<parent_api_id>',
reverseField: {
apiId: '<api_id>',
description: `<description>`,
displayName: '<Your Display Name>',
isHidden: `<boolean>`,
isList: `<boolean>`,
isUnidirectional: `<boolean>`,
modelApiId: '<model_api_id>',
visibility: `<visibility_types>`,
},
tableExtension: `<table_extension>`,
tableRenderer: `<table_renderer>`,
type: `<relational_field_type>`,
visibility: `<visibility_types>`,
});
  • apiId: String. Your relational field apiId.
  • description: Optional - String. Relational field description.
  • displayName: String. Display name that is used to render the relational field in the webapp.
  • formExtension: Optional - String.
  • formRenderer: Optional - String.
  • isHidden: Optional - Boolean. The relational field is hidden if true.
  • isList: Optional - Boolean.
  • isRequired: Optional - Boolean. The relational field is required if true. Only supported for RelationalFieldType.Asset.
  • modelApiId: Optional - String. Model apiId.
  • parentApiId: Optional - String. Parent apiId.
  • reverseField: Reverse relational field input.
    • apiId: String. Your reverse relational field apiId.
    • description: Optional - String. Description.
    • displayName: String. Reverse field display name.
    • isHidden: Optional - Boolean. The field is hidden if true.
    • isList: Optional - Boolean.
    • isUnidirectional: Optional - Boolean. The field is unidirectional if true.
    • modelApiId: String. Reverse field model apiId.
    • visibility: Visibility types.
  • tableExtension: Optional - String.
  • tableRenderer: Optional - String.
  • type: Relational field type. For example RelationalFieldType.Asset.
  • visibility: Optional. Visibility types.

#Delete relational field

Use deleteField method.

#Specific examples

Required uni-directional asset field

client.createRelationalField({
parentApiId: '<parent_api_id>',
apiId: '<api_id>',
displayName: '<Your Display Name>',
type: RelationalFieldType.Asset,
isRequired: true,
reverseField: {
isUnidirectional: true,
apiId: '<api_id>',
displayName: '<Your Display Name>',
modelApiId: '<model_api_id>',
},
});

M-n relation

client.createRelationalField({
parentApiId: '<parent_api_id>',
apiId: '<api_id>',
displayName: '<Your Display Name>',
type: RelationalFieldType.Relation,
isList: true,
reverseField: {
modelApiId: '<model_api_id>',
apiId: '<api_id>',
displayName: '<Your Display Name>',
isList: true,
},
});

#Union fields

#Create union field

client.createUnionField({
apiId: '<api_id>',
description: `<description>`,
displayName: '<Your Display Name>',
formExtension: `<form_extension>`,
formRenderer: `<form_renderer>`,
isHidden: `<boolean>`,
isList: `<boolean>`,
modelApiId: `<model_api_id>`,
parentApiId: '<parent_api_id>',
reverseField: {
apiId: '<api_id>',
description: `<description>`,
displayName: '<Your Display Name>',
isHidden: `<boolean>`,
isList: `<boolean>`,
modelApiIds: ['<model_api_id_1>', '<model_api_id_2>'],
visibility: `<visibility_types>`,
},
tableExtension: `<table_extension>`,
tableRenderer: `<table_renderer>`,
visibility: `<visibility_types>`,
});
  • apiId: String. Union field apiId.
  • description: Optional - String. Union field description.
  • displayName: String. Display name that is used to render the union field in the webapp.
  • formExtension: Optional - String.
  • formRenderer: Optional - String.
  • isHidden: Optional - Boolean. The relational field is hidden if true.
  • isList: Optional - Boolean.
  • modelApiId: Optional - String. Model apiId.
  • parentApiId: Optional - String. Parent apiId.
  • reverseField: Reverse union field input.
    • apiId: Optional - String.
    • description: Optional - String.
    • displayName: Optional - String.
    • isHidden: Optional - Boolean. The reverse relational field is hidden if true.
    • isList: Optional - Boolean.
    • modelApiIds: String. Model apiIds.
    • visibility: Visibility types.
  • tableExtension: Optional - String.
  • tableRenderer: Optional - String.
  • visibility: Visibility types.

#Update union field

client.updateUnionField({
apiId: '<api_id>',
description: `<description>`,
displayName: '<Your Display Name>',
modelApiId: `<model_api_id>`,
parentApiId: '<parent_api_id>',
reverseField: {
modelApiIds: ['<model_api_id_1>', '<model_api_id_2>'],
},
visibility: `<visibility_types>`,
});
  • apiId: String. Union field apiId.
  • description: Optional - String. Union field description.
  • displayName: String. Display name that is used to render the union field in the webapp.
  • modelApiId: Optional - String. Model apiId.
  • parentApiId: Optional - String. Parent apiId.
  • reverseField: updateReverseUnionField. Update reverse union field input.
    • modelApiIds: String. Model apiIds.
  • visibility: Visibility types.

#Delete union field

Use deleteField method.

#Components

#Create component

client.createComponent({
apiId: '<api_id>',
apiIdPlural: '<api_id_plural>',
description: `<your_description>`,
displayName: '<Your Display Name>',
});
  • apiId: String. Your component apiId.
  • apiIdPlural: String. The component's plural apiId. This is used for lists.
  • description: Optional - String. Your component description.
  • displayName: String. Display name that is used to render the component in the webapp.

#Update component

client.updateComponent({
apiId: '<api_id>',
apiIdPlural: '<api_id_plural>',
description: `<your_description>`,
displayName: '<Your Display Name>',
newApiId: `<new_api_id>`,
});
  • apiId: String. Your component apiId.
  • apiIdPlural: Optional - String. The component's plural apiId. This is used for lists.
  • description: Optional - String. Your component description.
  • displayName: Optional - String. Display name that is used to render the component in the webapp.
  • newApiId: Optional - String. New apiId.

#Delete component

client.deleteComponent({
apiId: '<api_id>',
});
  • apiId: String. The apiId of the component you wish to delete.

#Create component field

client.createComponentField({
apiId: '<api_id>',
componentApiId: `<component_api_id>`,
description: `<your_component_field_description>`,
displayName: '<Your Display Name>',
formExtension: `<form_extension>`,
formRenderer: `<form_renderer>`,
isList: `<boolean>`,
isRequired: `<boolean>`,
parentApiId: `<parent_api_id>`,
position: `<int>`,
tableExtension: `<table_extension>`,
tableRenderer: `<table_renderer>`,
visibility: `<visibility_types>`,
});
  • apiId: String. Your component field apiId.
  • componentApiId: String. Your component apiId.
  • description: Optional - String. Your component field description.
  • displayName: String. Display name that is used to render the component field in the webapp.
  • formExtension: Optional - String.
  • formRenderer: Optional - String.
  • isList: Optional - Boolean.
  • isRequired: Optional - Boolean. If true, the component field is required.
  • parentApiId: String. Parent apiId.
  • position: Optional - Integer.
  • tableExtension: Optional - String.
  • tableRenderer: Optional - String.
  • visibility: Optional. Visibility types.

#Update component field

client.updateComponentField({
apiId: '<api_id>',
description: `<your_component_field_description>`,
displayName: '<Your Display Name>',
isList: `<boolean>`,
isRequired: `<boolean>`,
newApiId: `<new_api_id>`,
parentApiId: `<parent_api_id>`,
visibility: `<visibility_types>`,
});
  • apiId: String. Your component field apiId.
  • description: Optional - String. Your component field description.
  • displayName: Optional - String. Display name that is used to render the component field in the webapp.
  • isList: Optional - Boolean.
  • isRequired: Optional - Boolean. If true, the component field is required.
  • newApiId: Optional - String. New apiId.
  • parentApiId: String. Parent apiId.
  • visibility: Optional. Visibility types.

#Delete component field

Use deleteField method.

#Specific examples

Add a field to a component

client.createSimpleField({
parentApiId: '<parent_api_id>',
type: SimpleFieldType.String,
apiId: '<api_id>',
displayName: '<Your Display Name>',
});

Create basic component field

client.createComponentField({
parentApiId: '<parent_api_id>',
apiId: '<api_id>',
displayName: '<Your Display Name>',
description: '<Your description>',
componentApiId: '<component_api_id>',
});

Create a component union field

client.createComponentUnionField({
parentApiId: '<parent_api_id>',
apiId: '<api_id>',
displayName: '<Your Display Name>',
componentApiIds: ['<component_api_id_1>', '<component_api_id_2>'],
});

Remove VideoBlock from a component union field

client.createComponentUnionField({
parentApiId: '<parent_api_id>',
apiId: '<api_id>',
displayName: '<Your Display Name>',
componentApiIds: [
'<contributor_component_api_id>',
'<videoblock_component_api_id>',
],
});

#Remote sources

#Create GraphQL remote sources

client.createGraphQlRemoteSource({
debugEnabled: `<boolean>`,
description: `<your_description>`,
displayName: `<Your Display Name>`,
headers: `<json>`,
introspectionHeaders: `<json>`,
introspectionMethod: `<get_or_post>`,
introspectionUrl: `<introspection_url>`,
prefix: `<prefix>`,
remoteTypeDefinitions: {
sdl: `<CreateRemoteTypeDefinition>`,
},
url: `<url>`,
});
  • debugEnabled: Optional - Boolean.
  • description: Optional - String. GraphQL remote source description.
  • displayName: String. Display name that is used to render the GraphQL remote source in the webapp.
  • headers: Optional - JSON.
  • introspectionHeaders: Optional - JSON. HTTP headers that will be used for introspection.
  • introspectionMethod: GraphQlRemoteSourceIntrospectionMethod. HTTP method that will be used for introspection.
  • introspectionUrl: Optional - String. Specific URL that will be used for introspection if the introspection is available on a URL other than the regular URL. Can be ignored if the introspection URL is the same as the URL of the remote source.
  • prefix: String.
  • remoteTypeDefinitions: Optional. CreateRemoteTypeDefinition. Custom GraphQL input types that can be used as arguments in remote fields that belong to this remoteSource.
    • sdl: String
  • url: String

#Update GraphQL remote sources

client.createGraphQlRemoteSource({
debugEnabled: `<boolean>`,
description: `<your_description>`,
displayName: `<Your Display Name>`,
headers: `<json>`,
introspectionHeaders: `<json>`,
introspectionMethod: `<get_or_post>`,
introspectionUrl: `<introspection_url>`,
prefix: `<prefix>`,
remoteTypeDefinitionsToUpsert: {
remoteTypeDefinitionsToCreate: `<remote_type_definitions_to_create>`,
remoteTypeDefinitionsToDelete: `<remote_type_definitions_to_delete>`,
remoteTypeDefinitionsToUpdate: `<remote_type_definitions_to_update>`,
},
url: `<url>`,
});
  • debugEnabled: Optional - Boolean.
  • description: Optional - String. GraphQL remote source description.
  • displayName: Optional - String. Display name that is used to render the GraphQL remote source in the webapp.
  • headers: Optional - JSON.
  • introspectionHeaders: Optional - JSON. HTTP headers that will be used for introspection.
  • introspectionMethod: GraphQlRemoteSourceIntrospectionMethod. HTTP method that will be used for introspection.
  • introspectionUrl: Optional - String. Specific URL that will be used for introspection if the introspection is available on a URL other than the regular URL. Can be ignored if the introspection URL is the same as the URL of the remote source.
  • prefix: String. Unique prefix that will be prepended to all of the remote types. This value cannot be changed.
  • remoteTypeDefinitionsToUpsert: Optional. CreateRemoteTypeDefinition. Custom GraphQL input types that can be used as arguments in remote fields that belong to this remoteSource.
    • remoteTypeDefinitionsToCreate: Optional Remote type definitions to create.
    • remoteTypeDefinitionsToDelete: Optional Remote type definitions to delete.
    • remoteTypeDefinitionsToUpdate: Optional Remote type definitions to update.
  • url: Optional - String

#Create REST remote sources

client.createRestRemoteSource({
debugEnabled: `<boolean>`,
description: `<your_description>`,
displayName: `<Your Display Name>`,
headers: `<json>`,
prefix: `<prefix>`,
remoteTypeDefinitions: {
sdl: `<CreateRemoteTypeDefinition>`,
},
url: `<url>`,
});
  • debugEnabled: Optional - Boolean.
  • description: Optional - String. REST remote source description.
  • displayName: String. Display name that is used to render the REST remote source in the webapp.
  • headers: Optional - JSON.
  • prefix: String. Unique prefix that will be prepended to all of the remote types. This value cannot be changed.
  • remoteTypeDefinitions: Optional. CreateRemoteTypeDefinition. Remote type definitions that the remote source supports, or input types that can be used by any remote field of this remote source.
    • sdl: String
  • url: String

#Update REST remote sources

client.updateRestRemoteSource({
debugEnabled: `<boolean>`,
description: `<your_description>`,
displayName: `<Your Display Name>`,
headers: `<json>`,
prefix: `<prefix>`,
remoteTypeDefinitionsToUpsert: {
remoteTypeDefinitionsToCreate: `<remote_type_definitions_to_create>`,
remoteTypeDefinitionsToDelete: `<remote_type_definitions_to_delete>`,
remoteTypeDefinitionsToUpdate: `<remote_type_definitions_to_update>`,
},
url: `<url>`,
});
  • debugEnabled: Optional - Boolean.
  • description: Optional - String. REST remote source description.
  • displayName: String. Display name that is used to render the REST remote source in the webapp.
  • headers: Optional - JSON.
  • prefix: String. Unique prefix that will be prepended to all of the remote types. This value cannot be changed.
  • remoteTypeDefinitionsToUpsert: Optional. CreateRemoteTypeDefinition. Remote type definitions that the remote source supports, or input types that can be used by any remote field of this remote source.
    • remoteTypeDefinitionsToCreate: Optional Remote type definitions to create.
    • remoteTypeDefinitionsToDelete: Optional Remote type definitions to delete.
    • remoteTypeDefinitionsToUpdate: Optional Remote type definitions to update.
  • url: String

#Delete remote source

client.deleteRemoteSource({
prefix: `<prefix>`,
});
  • prefix: String. The prefix of the remote source you wish to delete.

#Custom sidebar element

#Create custom sidebar element

client.createCustomSidebarElement({
appApiId: `<your_app_id>`,
appElementApiId: `<your_app_element_id>`,
config: `<JSON>`,
description: `<your_description>`,
displayName: `<Your Display Name>`,
modelApiId: `<model_api_id>`,
});
  • appApiId: String. Your App's apiId.
  • appElementApiId: String. apiId of the App element to create custom sidebar element with.
  • config: Optional - JSON. JSON metadata associated with the sidebar element.
  • description: Optional - String. Description for the sidebar element.
  • displayName: String. Display name that is used to render the sidebar element in the webapp.
  • modelApiId: String. apiId of the model associated with the custom sidebar element.

#Delete custom sidebar element

client.deleteCustomSidebarElement({
appApiId: `<your_app_id>`,
appElementApiId: `<your_app_element_id>`,
modelApiId: `<model_api_id>`,
});
  • appApiId: String. Your App's apiId.
  • appElementApiId: String. apiId of the App element associated with the custom sidebar element.
  • modelApiId: String. apiId of the model associated with the custom sidebar element.

#Enumerations

#Create enumeration

client.createEnumeration({
apiId: `<your_app_id>`,
description: `<description>`,
displayName: `<display_name>`,
values: {
apiId: `<api_id>`,
displayName: `<display_name>`,
},
});
  • apiId: String. Enumeration apiId.
  • description: Optional - String. Enumeration description.
  • displayName: String. Display name that is used to render the enumeration in the webapp.
  • values: CreateEnumerationValue. Enumeration values.
    • apiId: String. Enumeration value apiId.
    • displayName: String. Display name that is used to render the enumeration value in the webapp.

#Update enumeration

client.updateEnumeration({
apiId: `<your_app_id>`,
description: `<description>`,
displayName: `<display_name>`,
newApiId: `<new_api_id>`,
valuesToCreate: {
apiId: `<api_id>`,
displayName: `<display_name>`,
},
valuesToDelete: [`<value_1>`, `<value_2>`],
valuesToUpdate: {
apiId: `<api_id>`,
displayName: `<display_name>`,
newApiId: `<new_api_id>`,
},
});
  • apiId: String. Enumeration apiId.

  • description: Optional - String. Enumeration description.

  • displayName: String. Display name that is used to render the enumeration in the webapp.

  • newApiId: Optional - String. New apiId.

  • valuesToCreate: Optional - String. createEnumerationValue. Enumeration values to be created.

    • apiId: String. Enumeration value apiId.
    • displayName: String. Display name that is used to render the enumeration value in the webapp.
  • valuesToDelete: Optional - String. Values to delete.

  • valuesToUpdate: Optional - String. updateEnumerationValue. Enumeration values to be updated..

    • apiId: String. Enumeration value apiId.
    • displayName: Optional - String. Display name that is used to render the enumeration value in the webapp.
    • newApiId: Optional - String. New apiId.

#Delete enumeration

client.deleteEnumeration({
apiId: `<your_app_id>`,
});
  • apiId: String. apiId of the enumeration you wish to delete.

#Create enumerable field

client.createEnumerableField({
apiId: 'enumField',
description: 'Description',
displayName: 'Enum Field',
parentApiId: 'Post',
enumerationApiId: 'Variation',
});
  • apiId: String. Enumerable field apiId.
  • description: Optional - String. Enumerable field description.
  • displayName: String. Display name that is used to render the enumerable field in the webapp.
  • parentApiId: String. Parent apiId.
  • enumerationApiId: String. Enumeration apiId.

#Update enumerable field

client.updateEnumerableField({
apiId: 'enumField', // required
parentApiId: 'Test', // required
description: 'Description',
displayName: 'Enum Field Update',
initialValue: 'Value 1',
isHidden: false,
isList: false,
isLocalized: false,
isRequired: false,
isTitle: false,
isUnique: false,
migrationValue: 'Value 1',
position: 0,
visibility: 'READ_WRITE',
});
  • apiId: Required - String. Enumerable field apiId.
  • parentApiId: Required - String. Parent apiId.
  • description: Optional - String. Enumerable field description.
  • displayName: String. Display name that is used to render the enumerable field in the webapp.
  • initialValue: String. Initial value of the field.
  • isHidden: Optional - Boolean. Makes the field hidden if true.
  • isList: Optional - Boolean.
  • isLocalized: Optional - Boolean.
  • isRequired: Optional - Boolean. Makes the field required if true.
  • isTitle: Optional - Boolean.
  • isUnique: Optional - Boolean.
  • migrationValue: String. Migration value of the enumerable field.
  • position: Optional - Integer.
  • visibility: Field visibility, for example VisibilityTypes.ReadWrite.

#Delete enumerable field

Use deleteField method.

#Locales

#Create locale

client.createLocale({
apiId: `<your_app_id>`,
description: `<description>`,
displayName: `<Display Name>`,
});
  • apiId: String. Locale apiId.
  • description: Optional - String. Locale description.
  • displayName: String. Display name associated with the locale.

#Update locale

client.updateLocale({
apiId: `<your_app_id>`,
description: `<description>`,
displayName: `<Display Name>`,
isDefault: `<boolean>`,
newApiId: `<new_api_id>`,
});
  • apiId: String. Locale apiId.
  • description: Optional - String. Locale description.
  • displayName: Optional - String. Display name associated with the locale.
  • isDefault: Optional - Boolean. If true, this is the default locale.
  • newApiId: Optional - String. New apiId.

#Delete locale

client.deleteLocale({
apiId: `<your_app_id>`,
force: `<boolean>`,
});
  • apiId: String. Locale apiId.
  • force: Optional - Boolean. If true, deletion is forced.

#Stages

#Create stage

client.createStage({
apiId: `<your_app_id>`,
color: `<color>`,
description: `<description>`,
displayName: `<Display Name>`,
position: `<int>`,
});
  • apiId: String. Your stage apiId.
  • color: Select from ColorPalette.
  • description: Optional - String. Your stage description.
  • displayName: String. Display name associated with the stage.
  • position: Optional - Integer.

#Update stage

client.updateStage({
apiId: `<your_app_id>`,
color: `<color>`,
description: `<description>`,
displayName: `<Display Name>`,
newApiId: `<new_api_id>`,
position: `<int>`,
});
  • apiId: String. Your stage apiId.
  • color: Optional. Select from ColorPalette.
  • description: Optional - String. Your stage description.
  • display: Optional - String. Display name associated with the stage.
  • newApiId: Optional - String. New apiId.
  • position: Optional - Integer.

#Delete stage

client.deleteStage({
apiId: `<your_app_id>`,
});
  • apiId: String. apiId of the stage you wish to delete.