echonovum Docs Help

Profile Schemas

Profile Schema Structure

Here is an example profile schema followed by a full list of the attributes that are available for a profile schema:

{ "type": "ProfileSchemaV1", "id": "/en/v1/profile-schemas/05a15800-718d-4fc2-8423-c5343421cdb7", "attributes": { "uuid": "05a15800-718d-4fc2-8423-c5343421cdb7", "name": "Echonovian", "description": "Echonovum Employee Schema", "icon": "SCHEMA_TYPE_EMPLOYEE", "additionalAttributesAllowed": true, "attributeDefinitions": [ { "name": "Department", "description": "", "type": "string", "optional": false, "personalData": false, "identifier": false, "descriptor": false, "excludedFromSnapshots": false, "sendoutRelated": false }, { "name": "E-Mail", "description": "", "type": "string", "optional": false, "personalData": true, "identifier": false, "descriptor": false, "excludedFromSnapshots": true, "sendoutRelated": true }, { "name": "Employee ID", "type": "string", "optional": false, "personalData": true, "identifier": true, "descriptor": false, "excludedFromSnapshots": false, "sendoutRelated": false }, { "name": "Mobile", "description": "", "type": "string", "optional": false, "personalData": true, "identifier": false, "descriptor": false, "excludedFromSnapshots": true, "sendoutRelated": true }, { "name": "Name", "type": "string", "optional": false, "personalData": true, "identifier": false, "descriptor": true, "excludedFromSnapshots": false, "sendoutRelated": false }, { "name": "Role", "description": "", "type": "string", "optional": false, "personalData": false, "identifier": false, "descriptor": false, "excludedFromSnapshots": false, "sendoutRelated": false } ] } }

Available Properties

UUID

The unique identifier of the profile schema.

Property: uuid

Type: string

Required: true

Name

The name of the profile schema.

Property: name

Type: string

Required: true

Description

A way to describe the profile schema further.

Property: description

Type: string

Required: false

Icon

A icon that represents the profile schema in the Survey App.

Property: icon

Type: string

Required: true

Additional Attributes Allowed

Whether additional attributes are allowed when creating a profile with this schema.

Property: additionalAttributesAllowed

Type: boolean

Required: true

Attribute Definitions

A list of attribute definitions that are part of the profile schema.

Property: attributeDefinitions

Type: array

Required: true

Attribute Definitions

Example:

"attributeDefinitions": [ { "type": "string", "name": "first_name", "description": "The VIP customer's first name", "defaultValue": null, "identifier": false, "descriptor": false, "optional": false, "personalData": true, "sendoutRelated": false, } ]

Each attribute that is defined in a profile schema has a set of properties that define the attribute. The following properties are available:

Type

The data type of the attribute.

Property: type

Type: string

Possible values: string|date|integer

Required: true

Example: string

Name

The name of the attribute.

Property: name

Type: string

Required: true

Example: Email

Description

A way to describe the attribute further.

Property: description

Type: string

Required: false

Example: The attribute that describes the VIP customer's first name

Default Value

A default value that is set when the attribute is not given during creation of profiles.

Property: defaultValue

Type: string

Required: false

Example: Switzerland (default country)

Identifier

Whether the attribute serves as unique identifier when using this schema.

Property: identifier

Type: boolean

Required: true

Example: true

Descriptor

Whether the attribute is the descriptor. The descriptor attribute is the attribute that defines the field that is used to name a profile.

Property: descriptor

Type: boolean

Required: true

Example: true

Personal Data

Whether the attribute contains personal information. Content that is flagged personal will be rendered anonymous when a profile attached to this schema is deleted.

Property: personalData

Type: boolean

Required: true

Example: true

Optional

Whether the attribute is optional or mandatory when a profile is created with a profile schema.

Property: optional

Type: boolean

Required: true

Example: true

Sendout Related

Whether the attribute contains data that can be used to send a survey to in a sendout. Mostly used for email addresses or mobile numbers.

Property: sendoutRelated

Type: boolean

Required: true

Example: true

Current Limitations

Currently, Profile Schemas can not be created through the API. To create profile schemas please use the echonovum Survey App.

Last modified: 29 May 2024