Merkmalservice API Reference

Description of all entity types on the MMS-Platform

API Endpoints
http://localhost:8080/graphql

Queries

feature

Description

Request a specific feature by id.

Response

Returns a Feature

Arguments
Name Description
id - ID! The unique identifier of the requested feature.

Example

Query
query feature($id: ID!) {
  feature(id: $id) {
    id
    private
    name
    description
    standard {
      ...StandardFragment
    }
    mappings {
      ...MappingFragment
    }
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    type {
      ... on StringType
      ... on BooleanType
      ... on LogicalType
      ... on NumericType {
        ...NumericTypeFragment
      }
      ... on ReferenceType
      ... on EnumerationType {
        ...EnumerationTypeFragment
      }
    }
    scopes
    copyOf {
      ...FeatureFragment
    }
    copyInfo
    versionOf {
      ...FeatureFragment
    }
    instanceValues {
      ...OptionValueFragment
    }
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "feature": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "private": true,
      "name": "abc123",
      "description": "xyz789",
      "standard": Standard,
      "mappings": [Mapping],
      "dateCreated": "xyz789",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "propertySets": [PropertySet],
      "featureGroups": [FeatureGroup],
      "type": StringType,
      "scopes": ["abc123"],
      "copyOf": Feature,
      "copyInfo": "UPTODATE",
      "versionOf": Feature,
      "instanceValues": [OptionValue]
    }
  }
}

featureGroup

Description

Request a specific feature group by id.

Response

Returns a FeatureGroup

Arguments
Name Description
id - ID! The unique identifier of the requested feature group.

Example

Query
query featureGroup($id: ID!) {
  featureGroup(id: $id) {
    id
    name
    description
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    parent {
      ...FeatureGroupFragment
    }
    children {
      ...FeatureGroupFragment
    }
    features {
      ...FeatureFragment
    }
    scopes
    standard {
      ...StandardFragment
    }
    copyOf {
      ...FeatureGroupFragment
    }
    copyInfo
    versionOf {
      ...FeatureGroupFragment
    }
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "featureGroup": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "xyz789",
      "description": "xyz789",
      "dateCreated": "abc123",
      "dateModified": "abc123",
      "creator": User,
      "editor": User,
      "parent": FeatureGroup,
      "children": [FeatureGroup],
      "features": [Feature],
      "scopes": ["xyz789"],
      "standard": Standard,
      "copyOf": FeatureGroup,
      "copyInfo": "UPTODATE",
      "versionOf": FeatureGroup
    }
  }
}

featureGroups

Description

Request all feature groups available on the MMS-Platform.

Response

Returns [FeatureGroup!]!

Example

Query
query featureGroups {
  featureGroups {
    id
    name
    description
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    parent {
      ...FeatureGroupFragment
    }
    children {
      ...FeatureGroupFragment
    }
    features {
      ...FeatureFragment
    }
    scopes
    standard {
      ...StandardFragment
    }
    copyOf {
      ...FeatureGroupFragment
    }
    copyInfo
    versionOf {
      ...FeatureGroupFragment
    }
  }
}
Response
{
  "data": {
    "featureGroups": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "name": "abc123",
        "description": "xyz789",
        "dateCreated": "abc123",
        "dateModified": "abc123",
        "creator": User,
        "editor": User,
        "parent": FeatureGroup,
        "children": [FeatureGroup],
        "features": [Feature],
        "scopes": ["xyz789"],
        "standard": Standard,
        "copyOf": FeatureGroup,
        "copyInfo": "UPTODATE",
        "versionOf": FeatureGroup
      }
    ]
  }
}

features

Description

Request a collection of features by ids.

Response

Returns [Feature!]!

Arguments
Name Description
ids - [ID!]! The collection of ids for the requested features.

Example

Query
query features($ids: [ID!]!) {
  features(ids: $ids) {
    id
    private
    name
    description
    standard {
      ...StandardFragment
    }
    mappings {
      ...MappingFragment
    }
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    type {
      ... on StringType
      ... on BooleanType
      ... on LogicalType
      ... on NumericType {
        ...NumericTypeFragment
      }
      ... on ReferenceType
      ... on EnumerationType {
        ...EnumerationTypeFragment
      }
    }
    scopes
    copyOf {
      ...FeatureFragment
    }
    copyInfo
    versionOf {
      ...FeatureFragment
    }
    instanceValues {
      ...OptionValueFragment
    }
  }
}
Variables
{"ids": [4]}
Response
{
  "data": {
    "features": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "private": false,
        "name": "xyz789",
        "description": "xyz789",
        "standard": Standard,
        "mappings": [Mapping],
        "dateCreated": "xyz789",
        "dateModified": "abc123",
        "creator": User,
        "editor": User,
        "propertySets": [PropertySet],
        "featureGroups": [FeatureGroup],
        "type": StringType,
        "scopes": ["abc123"],
        "copyOf": Feature,
        "copyInfo": "UPTODATE",
        "versionOf": Feature,
        "instanceValues": [OptionValue]
      }
    ]
  }
}

history

Description

Query the history for a specific entity.

Response

Returns [HistoryEntry!]!

Arguments
Name Description
entityId - ID! The unique identifier of the entity of which to query the history.

Example

Query
query history($entityId: ID!) {
  history(entityId: $entityId) {
    id
    entity {
      ... on Feature {
        ...FeatureFragment
      }
      ... on FeatureGroup {
        ...FeatureGroupFragment
      }
      ... on PropertySet {
        ...PropertySetFragment
      }
      ... on Mapping {
        ...MappingFragment
      }
      ... on Standard {
        ...StandardFragment
      }
      ... on Project {
        ...ProjectFragment
      }
      ... on Organization {
        ...OrganizationFragment
      }
    }
    target {
      ... on Feature {
        ...FeatureFragment
      }
      ... on FeatureGroup {
        ...FeatureGroupFragment
      }
      ... on PropertySet {
        ...PropertySetFragment
      }
      ... on Mapping {
        ...MappingFragment
      }
      ... on Standard {
        ...StandardFragment
      }
      ... on Project {
        ...ProjectFragment
      }
      ... on Organization {
        ...OrganizationFragment
      }
    }
    type
    user {
      ...UserFragment
    }
    date
  }
}
Variables
{"entityId": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "history": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "entity": Feature,
        "target": Feature,
        "type": "CREATE",
        "user": User,
        "date": "xyz789"
      }
    ]
  }
}

ifcBuiltElement

Description

Request a specific IFC building element by id.

Response

Returns an IfcBuiltElement

Arguments
Name Description
id - ID! The unique identifier of the requested IFC building element.

Example

Query
query ifcBuiltElement($id: ID!) {
  ifcBuiltElement(id: $id) {
    id
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{"data": {"ifcBuiltElement": {"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}}}

ifcBuiltElements

Description

Request all IFC building elements available on the MMS-Platform.

Response

Returns [IfcBuiltElement!]!

Example

Query
query ifcBuiltElements {
  ifcBuiltElements {
    id
  }
}
Response
{"data": {"ifcBuiltElements": [{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}]}}

job

Description

Request a specific job by id.

Response

Returns a Job

Arguments
Name Description
id - ID! The unique identifier of the requested job.
etag - String

Example

Query
query job(
  $id: ID!,
  $etag: String
) {
  job(
    id: $id,
    etag: $etag
  ) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "etag": "abc123"
}
Response
{
  "data": {
    "job": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "abc123"
    }
  }
}

jobs

Description

Request all jobs available on the MMS-Platform.

Response

Returns [Job!]!

Example

Query
query jobs {
  jobs {
    id
    userId
    status
    progress
    message
  }
}
Response
{
  "data": {
    "jobs": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "status": "CREATED",
        "progress": 0.89,
        "message": "abc123"
      }
    ]
  }
}

mapping

Description

Request a specific mapping by id.

Response

Returns a Mapping

Arguments
Name Description
id - ID! The unique identifier of the requested mapping.

Example

Query
query mapping($id: ID!) {
  mapping(id: $id) {
    id
    name
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    condition {
      ... on SingleCondition {
        ...SingleConditionFragment
      }
      ... on ElementCondition {
        ...ElementConditionFragment
      }
      ... on ConditionGroup {
        ...ConditionGroupFragment
      }
    }
    scopes
    actions {
      ... on ConvertAction {
        ...ConvertActionFragment
      }
      ... on ExtractAction {
        ...ExtractActionFragment
      }
      ... on DeleteAction {
        ...DeleteActionFragment
      }
      ... on AddAction {
        ...AddActionFragment
      }
      ... on ChangeAction {
        ...ChangeActionFragment
      }
    }
    state
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "mapping": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "xyz789",
      "dateCreated": "xyz789",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "project": Project,
      "condition": SingleCondition,
      "scopes": ["abc123"],
      "actions": [ConvertAction],
      "state": "VALID"
    }
  }
}

organization

Description

Request a specific organization by id.

Response

Returns an Organization

Arguments
Name Description
id - ID! The unique identifier of the requested organization.

Example

Query
query organization($id: ID!) {
  organization(id: $id) {
    id
    name
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    standards {
      ...StandardFragment
    }
    scopes
    groups {
      ...GroupFragment
    }
    users {
      ...UserFragment
    }
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "organization": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "abc123",
      "dateCreated": "abc123",
      "dateModified": "abc123",
      "creator": User,
      "editor": User,
      "standards": [Standard],
      "scopes": ["edit"],
      "groups": [Group],
      "users": [User]
    }
  }
}

organizations

Description

Request all publicly visible organizations on currently available on the MMS-Platform.

Response

Returns [PublicOrganization!]!

Example

Query
query organizations {
  organizations {
    id
    name
    scopes
  }
}
Response
{
  "data": {
    "organizations": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "name": "abc123",
        "scopes": ["xyz789"]
      }
    ]
  }
}

project

Description

Request a specific project by id.

Response

Returns a Project

Arguments
Name Description
id - ID! The unique identifier of the requested project.
featureNameFilter - String

Example

Query
query project(
  $id: ID!,
  $featureNameFilter: String
) {
  project(
    id: $id,
    featureNameFilter: $featureNameFilter
  ) {
    id
    name
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    users {
      ...UserFragment
    }
    standards {
      ...StandardFragment
    }
    groups {
      ...GroupFragment
    }
    description
    scopes
    mappings {
      ...MappingFragment
    }
  }
}
Variables
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "featureNameFilter": "abc123"
}
Response
{
  "data": {
    "project": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "xyz789",
      "dateCreated": "xyz789",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "users": [User],
      "standards": [Standard],
      "groups": [Group],
      "description": "xyz789",
      "scopes": ["abc123"],
      "mappings": [Mapping]
    }
  }
}

projects

Description

Request all publicly visible projects on currently available on the MMS-Platform.

Response

Returns [PublicProject!]!

Example

Query
query projects {
  projects {
    id
    name
    scopes
  }
}
Response
{
  "data": {
    "projects": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "name": "xyz789",
        "scopes": ["abc123"]
      }
    ]
  }
}

propertySet

Description

Request a specific property set by id.

Response

Returns a PropertySet

Arguments
Name Description
id - ID! The unique identifier of the requested property set.

Example

Query
query propertySet($id: ID!) {
  propertySet(id: $id) {
    id
    name
    description
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    features {
      ...FeatureFragment
    }
    scopes
    standard {
      ...StandardFragment
    }
    copyOf {
      ...PropertySetFragment
    }
    copyInfo
    mappings {
      ...MappingFragment
    }
    versionOf {
      ...PropertySetFragment
    }
    usedInElementClasses
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "propertySet": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "xyz789",
      "description": "xyz789",
      "dateCreated": "abc123",
      "dateModified": "abc123",
      "creator": User,
      "editor": User,
      "features": [Feature],
      "scopes": ["xyz789"],
      "standard": Standard,
      "copyOf": PropertySet,
      "copyInfo": "UPTODATE",
      "mappings": [Mapping],
      "versionOf": PropertySet,
      "usedInElementClasses": [4]
    }
  }
}

propertySets

Description

Request all property sets available on the MMS-Platform.

Response

Returns [PropertySet!]!

Example

Query
query propertySets {
  propertySets {
    id
    name
    description
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    features {
      ...FeatureFragment
    }
    scopes
    standard {
      ...StandardFragment
    }
    copyOf {
      ...PropertySetFragment
    }
    copyInfo
    mappings {
      ...MappingFragment
    }
    versionOf {
      ...PropertySetFragment
    }
    usedInElementClasses
  }
}
Response
{
  "data": {
    "propertySets": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "name": "abc123",
        "description": "abc123",
        "dateCreated": "abc123",
        "dateModified": "xyz789",
        "creator": User,
        "editor": User,
        "features": [Feature],
        "scopes": ["xyz789"],
        "standard": Standard,
        "copyOf": PropertySet,
        "copyInfo": "UPTODATE",
        "mappings": [Mapping],
        "versionOf": PropertySet,
        "usedInElementClasses": ["4"]
      }
    ]
  }
}

quantityKind

Description

Request a specific quantity kind by id.

Response

Returns a QuantityKind

Arguments
Name Description
id - ID! The unique identifier of the requested quantity kind.

Example

Query
query quantityKind($id: ID!) {
  quantityKind(id: $id) {
    id
    label
    description
    units {
      ...UnitFragment
    }
    scopes
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "quantityKind": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "label": "abc123",
      "description": "xyz789",
      "units": [Unit],
      "scopes": ["xyz789"]
    }
  }
}

quantityKinds

Description

Request all quantity kinds available on the MMS-Platform.

Response

Returns [QuantityKind!]!

Example

Query
query quantityKinds {
  quantityKinds {
    id
    label
    description
    units {
      ...UnitFragment
    }
    scopes
  }
}
Response
{
  "data": {
    "quantityKinds": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "label": "xyz789",
        "description": "abc123",
        "units": [Unit],
        "scopes": ["xyz789"]
      }
    ]
  }
}

searchUsers

Description

Search for a specific string in a collection of all users currently registered on the MMS-Platform.

Response

Returns [User!]!

Arguments
Name Description
search - String! The phrase after which to search.
exact - Boolean! A flag to indicate whether or not the searched phrase must match exactly.

Example

Query
query searchUsers(
  $search: String!,
  $exact: Boolean!
) {
  searchUsers(
    search: $search,
    exact: $exact
  ) {
    id
    username
    email
    firstName
    lastName
    groups {
      ...GroupFragment
    }
  }
}
Variables
{"search": "xyz789", "exact": true}
Response
{
  "data": {
    "searchUsers": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "username": "bobthebuilder",
        "email": "bob@thebuilder.com",
        "firstName": "Bob",
        "lastName": "Builder",
        "groups": [Group]
      }
    ]
  }
}

standard

Description

Request a specific standard by id.

Response

Returns a Standard

Arguments
Name Description
id - ID! The unique identifier of the requested standard.

Example

Query
query standard($id: ID!) {
  standard(id: $id) {
    id
    name
    features {
      ...FeatureFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    organization {
      ...OrganizationFragment
    }
    project {
      ...ProjectFragment
    }
    description
    public
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    scopes
    copyOf {
      ...StandardFragment
    }
    copyInfo
    versionOf {
      ...StandardFragment
    }
    version
    versions {
      ...StandardFragment
    }
    allVersions {
      ...StandardFragment
    }
    locked
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "standard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "abc123",
      "features": [Feature],
      "featureGroups": [FeatureGroup],
      "propertySets": [PropertySet],
      "organization": Organization,
      "project": Project,
      "description": "xyz789",
      "public": false,
      "dateCreated": "abc123",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "scopes": ["abc123"],
      "copyOf": Standard,
      "copyInfo": "UPTODATE",
      "versionOf": Standard,
      "version": "xyz789",
      "versions": [Standard],
      "allVersions": [Standard],
      "locked": true
    }
  }
}

standards

Description

Request all standard on the MMS-Platform.

Response

Returns [Standard!]!

Example

Query
query standards {
  standards {
    id
    name
    features {
      ...FeatureFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    organization {
      ...OrganizationFragment
    }
    project {
      ...ProjectFragment
    }
    description
    public
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    scopes
    copyOf {
      ...StandardFragment
    }
    copyInfo
    versionOf {
      ...StandardFragment
    }
    version
    versions {
      ...StandardFragment
    }
    allVersions {
      ...StandardFragment
    }
    locked
  }
}
Response
{
  "data": {
    "standards": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "name": "xyz789",
        "features": [Feature],
        "featureGroups": [FeatureGroup],
        "propertySets": [PropertySet],
        "organization": Organization,
        "project": Project,
        "description": "xyz789",
        "public": false,
        "dateCreated": "xyz789",
        "dateModified": "xyz789",
        "creator": User,
        "editor": User,
        "scopes": ["xyz789"],
        "copyOf": Standard,
        "copyInfo": "UPTODATE",
        "versionOf": Standard,
        "version": "abc123",
        "versions": [Standard],
        "allVersions": [Standard],
        "locked": true
      }
    ]
  }
}

unit

Description

Request a specific unit by id.

Response

Returns a Unit

Arguments
Name Description
id - ID! The unique identifier of the requested unit.

Example

Query
query unit($id: ID!) {
  unit(id: $id) {
    id
    label
    description
    quantityKinds {
      ...QuantityKindFragment
    }
    scopes
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "unit": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "label": "xyz789",
      "description": "xyz789",
      "quantityKinds": [QuantityKind],
      "scopes": ["xyz789"]
    }
  }
}

units

Description

Request all units available on the MMS-Platform.

Response

Returns [Unit!]!

Example

Query
query units {
  units {
    id
    label
    description
    quantityKinds {
      ...QuantityKindFragment
    }
    scopes
  }
}
Response
{
  "data": {
    "units": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "label": "abc123",
        "description": "xyz789",
        "quantityKinds": [QuantityKind],
        "scopes": ["xyz789"]
      }
    ]
  }
}

user

Description

Request a single user entity from the database.

Response

Returns a User

Arguments
Name Description
id - ID! The unique identifier of the requested user.

Example

Query
query user($id: ID!) {
  user(id: $id) {
    id
    username
    email
    firstName
    lastName
    groups {
      ...GroupFragment
    }
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "user": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "username": "bobthebuilder",
      "email": "bob@thebuilder.com",
      "firstName": "Bob",
      "lastName": "Builder",
      "groups": [Group]
    }
  }
}

userOrganizations

Description

Request all organizations a certain user is part of.

Response

Returns [Organization!]!

Arguments
Name Description
userId - ID! The unique identifier of the user for the requested organizations.

Example

Query
query userOrganizations($userId: ID!) {
  userOrganizations(userId: $userId) {
    id
    name
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    standards {
      ...StandardFragment
    }
    scopes
    groups {
      ...GroupFragment
    }
    users {
      ...UserFragment
    }
  }
}
Variables
{"userId": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "userOrganizations": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "name": "abc123",
        "dateCreated": "xyz789",
        "dateModified": "xyz789",
        "creator": User,
        "editor": User,
        "standards": [Standard],
        "scopes": ["edit"],
        "groups": [Group],
        "users": [User]
      }
    ]
  }
}

userProjects

Description

Request all projects a certain user is part of.

Response

Returns [Project!]!

Arguments
Name Description
userId - ID! The unique identifier of the user for the requested projects.

Example

Query
query userProjects($userId: ID!) {
  userProjects(userId: $userId) {
    id
    name
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    users {
      ...UserFragment
    }
    standards {
      ...StandardFragment
    }
    groups {
      ...GroupFragment
    }
    description
    scopes
    mappings {
      ...MappingFragment
    }
  }
}
Variables
{"userId": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "userProjects": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "name": "xyz789",
        "dateCreated": "xyz789",
        "dateModified": "abc123",
        "creator": User,
        "editor": User,
        "users": [User],
        "standards": [Standard],
        "groups": [Group],
        "description": "abc123",
        "scopes": ["abc123"],
        "mappings": [Mapping]
      }
    ]
  }
}

users

Description

Request all users currently registered on the MMS-Platform.

Response

Returns [User!]!

Example

Query
query users {
  users {
    id
    username
    email
    firstName
    lastName
    groups {
      ...GroupFragment
    }
  }
}
Response
{
  "data": {
    "users": [
      {
        "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
        "username": "bobthebuilder",
        "email": "bob@thebuilder.com",
        "firstName": "Bob",
        "lastName": "Builder",
        "groups": [Group]
      }
    ]
  }
}

Mutations

cancelJob

Description

Stop a currently running job.

Response

Returns a Job!

Arguments
Name Description
id - ID! The unique identifier of the job to cancel.

Example

Query
mutation cancelJob($id: ID!) {
  cancelJob(id: $id) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "cancelJob": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "xyz789"
    }
  }
}

copyFeatureGroupsToStandard

Description

Copy multiple feature groups into a standard.

Response

Returns a Job!

Arguments
Name Description
featureGroupIds - [ID!]! The feature groups to copy.
toStandardId - ID! The standard into which the feature groups should be copied.

Example

Query
mutation copyFeatureGroupsToStandard(
  $featureGroupIds: [ID!]!,
  $toStandardId: ID!
) {
  copyFeatureGroupsToStandard(
    featureGroupIds: $featureGroupIds,
    toStandardId: $toStandardId
  ) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "featureGroupIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "toStandardId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{
  "data": {
    "copyFeatureGroupsToStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "xyz789"
    }
  }
}

copyFeaturesToStandard

Description

Copy multiple features into a standard.

Response

Returns a Job!

Arguments
Name Description
featureIds - [ID!]! The features to copy.
toStandardId - ID! The standard into which the features should be copied.

Example

Query
mutation copyFeaturesToStandard(
  $featureIds: [ID!]!,
  $toStandardId: ID!
) {
  copyFeaturesToStandard(
    featureIds: $featureIds,
    toStandardId: $toStandardId
  ) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "featureIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "toStandardId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{
  "data": {
    "copyFeaturesToStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "abc123"
    }
  }
}

copyPropertySetsToStandard

Description

Copy multiple property sets into a standard.

Response

Returns a Job!

Arguments
Name Description
propertySetIds - [ID!]! The property sets to copy.
toStandardId - ID! The standard into which the property sets should be copied.

Example

Query
mutation copyPropertySetsToStandard(
  $propertySetIds: [ID!]!,
  $toStandardId: ID!
) {
  copyPropertySetsToStandard(
    propertySetIds: $propertySetIds,
    toStandardId: $toStandardId
  ) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "propertySetIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "toStandardId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{
  "data": {
    "copyPropertySetsToStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "abc123"
    }
  }
}

copyStandardsToOrganization

Description

Copy multiple standards into an organization.

Response

Returns a Job!

Arguments
Name Description
standardIds - [ID!]! The standards to copy.
toOrganizationId - ID! The organization into which the standards should be copied.

Example

Query
mutation copyStandardsToOrganization(
  $standardIds: [ID!]!,
  $toOrganizationId: ID!
) {
  copyStandardsToOrganization(
    standardIds: $standardIds,
    toOrganizationId: $toOrganizationId
  ) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "standardIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "toOrganizationId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{
  "data": {
    "copyStandardsToOrganization": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "xyz789"
    }
  }
}

copyStandardsToProject

Description

Copy multiple standards into a project.

Response

Returns a Job!

Arguments
Name Description
standardIds - [ID!]! The standards to copy.
toProjectId - ID! The project into which the standards should be copied.

Example

Query
mutation copyStandardsToProject(
  $standardIds: [ID!]!,
  $toProjectId: ID!
) {
  copyStandardsToProject(
    standardIds: $standardIds,
    toProjectId: $toProjectId
  ) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "standardIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "toProjectId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{
  "data": {
    "copyStandardsToProject": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "abc123"
    }
  }
}

createVersionOfStandard

Description

Creates a new Version of this standard.

Response

Returns a Job!

Arguments
Name Description
standardId - ID!
version - String!
public - Boolean
locked - Boolean
excludedIds - [ID!]

Example

Query
mutation createVersionOfStandard(
  $standardId: ID!,
  $version: String!,
  $public: Boolean,
  $locked: Boolean,
  $excludedIds: [ID!]
) {
  createVersionOfStandard(
    standardId: $standardId,
    version: $version,
    public: $public,
    locked: $locked,
    excludedIds: $excludedIds
  ) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "standardId": 4,
  "version": "abc123",
  "public": false,
  "locked": false,
  "excludedIds": ["4"]
}
Response
{
  "data": {
    "createVersionOfStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "abc123"
    }
  }
}

deleteFeature

Description

Delete a specific feature by id.

Response

Returns an ID!

Arguments
Name Description
id - ID! The unique identifier of the feature to delete.

Example

Query
mutation deleteFeature($id: ID!) {
  deleteFeature(id: $id)
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{"data": {"deleteFeature": 4}}

deleteFeatureGroup

Description

Delete a specific feature group by id.

Response

Returns an ID!

Arguments
Name Description
id - ID! The unique identifier of the feature group to delete.

Example

Query
mutation deleteFeatureGroup($id: ID!) {
  deleteFeatureGroup(id: $id)
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{"data": {"deleteFeatureGroup": "4"}}

deleteFeatureGroups

Description

Delete a collection of feature groups by ids.

Response

Returns a Boolean

Arguments
Name Description
ids - [ID!]! The unique identifiers of the feature groups to delete.

Example

Query
mutation deleteFeatureGroups($ids: [ID!]!) {
  deleteFeatureGroups(ids: $ids)
}
Variables
{
  "ids": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"deleteFeatureGroups": false}}

deleteFeatures

Description

Delete a collection of features by ids.

Response

Returns a Boolean

Arguments
Name Description
ids - [ID!]! The unique identifiers of the features to delete.

Example

Query
mutation deleteFeatures($ids: [ID!]!) {
  deleteFeatures(ids: $ids)
}
Variables
{
  "ids": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"deleteFeatures": false}}

deleteMappings

Description

Delete a specific mapping by id.

Response

Returns a Boolean

Arguments
Name Description
ids - [ID!]! The unique identifier of the mapping to delete.

Example

Query
mutation deleteMappings($ids: [ID!]!) {
  deleteMappings(ids: $ids)
}
Variables
{
  "ids": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"deleteMappings": false}}

deleteOrganization

Description

Delete a specific organization by id.

Response

Returns a Job!

Arguments
Name Description
id - ID! The unique identifier of the organization to delete.

Example

Query
mutation deleteOrganization($id: ID!) {
  deleteOrganization(id: $id) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "deleteOrganization": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "abc123"
    }
  }
}

deleteOrganizations

Description

Delete a collection of organizations by ids.

Response

Returns a Job!

Arguments
Name Description
ids - [ID!]! The unique identifiers of the organizations to delete.

Example

Query
mutation deleteOrganizations($ids: [ID!]!) {
  deleteOrganizations(ids: $ids) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "ids": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{
  "data": {
    "deleteOrganizations": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "abc123"
    }
  }
}

deleteProject

Description

Delete a specific project by id.

Response

Returns a Job!

Arguments
Name Description
id - ID! The unique identifier of the project to delete.

Example

Query
mutation deleteProject($id: ID!) {
  deleteProject(id: $id) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "deleteProject": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "xyz789"
    }
  }
}

deleteProjects

Description

Delete a collection of projects by ids.

Response

Returns a Job!

Arguments
Name Description
ids - [ID!]! The unique identifiers of the projects to delete.

Example

Query
mutation deleteProjects($ids: [ID!]!) {
  deleteProjects(ids: $ids) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "ids": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{
  "data": {
    "deleteProjects": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "abc123"
    }
  }
}

deletePropertySet

Description

Delete a specific property set by id.

Response

Returns an ID!

Arguments
Name Description
id - ID! The unique identifier of the property set to delete.

Example

Query
mutation deletePropertySet($id: ID!) {
  deletePropertySet(id: $id)
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{"data": {"deletePropertySet": 4}}

deletePropertySets

Description

Delete a collection of property sets by ids.

Response

Returns a Boolean

Arguments
Name Description
ids - [ID!]! The unique identifiers of the property sets to delete.

Example

Query
mutation deletePropertySets($ids: [ID!]!) {
  deletePropertySets(ids: $ids)
}
Variables
{
  "ids": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"deletePropertySets": true}}

deleteStandard

Description

Delete a specific standard by id.

Response

Returns a Job!

Arguments
Name Description
id - ID! The unique identifier of the standard to delete.

Example

Query
mutation deleteStandard($id: ID!) {
  deleteStandard(id: $id) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "deleteStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "xyz789"
    }
  }
}

deleteStandards

Description

Delete a collection of standards by ids.

Response

Returns a Job!

Arguments
Name Description
ids - [ID!]! The unique identifiers of the standards to delete.

Example

Query
mutation deleteStandards($ids: [ID!]!) {
  deleteStandards(ids: $ids) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{
  "ids": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{
  "data": {
    "deleteStandards": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "xyz789"
    }
  }
}

lockStandard

Description

Lock a specific standard by id. No further deletions/modifications possible

Response

Returns a Standard!

Arguments
Name Description
id - ID!

Example

Query
mutation lockStandard($id: ID!) {
  lockStandard(id: $id) {
    id
    name
    features {
      ...FeatureFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    organization {
      ...OrganizationFragment
    }
    project {
      ...ProjectFragment
    }
    description
    public
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    scopes
    copyOf {
      ...StandardFragment
    }
    copyInfo
    versionOf {
      ...StandardFragment
    }
    version
    versions {
      ...StandardFragment
    }
    allVersions {
      ...StandardFragment
    }
    locked
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "lockStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "xyz789",
      "features": [Feature],
      "featureGroups": [FeatureGroup],
      "propertySets": [PropertySet],
      "organization": Organization,
      "project": Project,
      "description": "xyz789",
      "public": false,
      "dateCreated": "xyz789",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "scopes": ["abc123"],
      "copyOf": Standard,
      "copyInfo": "UPTODATE",
      "versionOf": Standard,
      "version": "xyz789",
      "versions": [Standard],
      "allVersions": [Standard],
      "locked": false
    }
  }
}

publishStandard

Description

Publish a specific standard by id. Every User will have at least read access to it now

Response

Returns a Standard!

Arguments
Name Description
id - ID!

Example

Query
mutation publishStandard($id: ID!) {
  publishStandard(id: $id) {
    id
    name
    features {
      ...FeatureFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    organization {
      ...OrganizationFragment
    }
    project {
      ...ProjectFragment
    }
    description
    public
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    scopes
    copyOf {
      ...StandardFragment
    }
    copyInfo
    versionOf {
      ...StandardFragment
    }
    version
    versions {
      ...StandardFragment
    }
    allVersions {
      ...StandardFragment
    }
    locked
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "publishStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "abc123",
      "features": [Feature],
      "featureGroups": [FeatureGroup],
      "propertySets": [PropertySet],
      "organization": Organization,
      "project": Project,
      "description": "xyz789",
      "public": true,
      "dateCreated": "abc123",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "scopes": ["abc123"],
      "copyOf": Standard,
      "copyInfo": "UPTODATE",
      "versionOf": Standard,
      "version": "abc123",
      "versions": [Standard],
      "allVersions": [Standard],
      "locked": true
    }
  }
}

putFeature

Description

Create or update a feature.

Response

Returns a Feature!

Arguments
Name Description
id - ID The unique identifier of the feature to update.

Example

Query
mutation putFeature($id: ID) {
  putFeature(id: $id) {
    id
    private
    name
    description
    standard {
      ...StandardFragment
    }
    mappings {
      ...MappingFragment
    }
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    type {
      ... on StringType
      ... on BooleanType
      ... on LogicalType
      ... on NumericType {
        ...NumericTypeFragment
      }
      ... on ReferenceType
      ... on EnumerationType {
        ...EnumerationTypeFragment
      }
    }
    scopes
    copyOf {
      ...FeatureFragment
    }
    copyInfo
    versionOf {
      ...FeatureFragment
    }
    instanceValues {
      ...OptionValueFragment
    }
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "putFeature": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "private": false,
      "name": "abc123",
      "description": "xyz789",
      "standard": Standard,
      "mappings": [Mapping],
      "dateCreated": "xyz789",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "propertySets": [PropertySet],
      "featureGroups": [FeatureGroup],
      "type": StringType,
      "scopes": ["abc123"],
      "copyOf": Feature,
      "copyInfo": "UPTODATE",
      "versionOf": Feature,
      "instanceValues": [OptionValue]
    }
  }
}

putFeatureGroups

Description

Update a feature group.

Response

Returns [ID!]!

Example

Query
mutation putFeatureGroups {
  putFeatureGroups
}
Response
{"data": {"putFeatureGroups": [4]}}

putFeaturesInFeatureGroup

Description

Add a collection of features to a feature group.

Response

Returns a Boolean

Arguments
Name Description
featureIds - [ID!]! The unique identifiers of the features to add.
featureGroupId - ID! The unique identifier of the feature group to add the features to.

Example

Query
mutation putFeaturesInFeatureGroup(
  $featureIds: [ID!]!,
  $featureGroupId: ID!
) {
  putFeaturesInFeatureGroup(
    featureIds: $featureIds,
    featureGroupId: $featureGroupId
  )
}
Variables
{
  "featureIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "featureGroupId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{"data": {"putFeaturesInFeatureGroup": false}}

putFeaturesInPropertySet

Description

Add a collection of features to a property set.

Response

Returns a Boolean

Arguments
Name Description
featureIds - [ID!]! The unique identifiers of the features to add.
propertySetId - ID! The unique identifier of the property set to add the features to.

Example

Query
mutation putFeaturesInPropertySet(
  $featureIds: [ID!]!,
  $propertySetId: ID!
) {
  putFeaturesInPropertySet(
    featureIds: $featureIds,
    propertySetId: $propertySetId
  )
}
Variables
{
  "featureIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "propertySetId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{"data": {"putFeaturesInPropertySet": false}}

putMapping

Description

Create or update a mapping.

Response

Returns a Mapping!

Arguments
Name Description
id - ID The unique identifier of the mapping to update.

Example

Query
mutation putMapping($id: ID) {
  putMapping(id: $id) {
    id
    name
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    condition {
      ... on SingleCondition {
        ...SingleConditionFragment
      }
      ... on ElementCondition {
        ...ElementConditionFragment
      }
      ... on ConditionGroup {
        ...ConditionGroupFragment
      }
    }
    scopes
    actions {
      ... on ConvertAction {
        ...ConvertActionFragment
      }
      ... on ExtractAction {
        ...ExtractActionFragment
      }
      ... on DeleteAction {
        ...DeleteActionFragment
      }
      ... on AddAction {
        ...AddActionFragment
      }
      ... on ChangeAction {
        ...ChangeActionFragment
      }
    }
    state
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "putMapping": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "abc123",
      "dateCreated": "xyz789",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "project": Project,
      "condition": SingleCondition,
      "scopes": ["xyz789"],
      "actions": [ConvertAction],
      "state": "VALID"
    }
  }
}

putNewFeatures

Description

Bulk create multiple features.

Response

Returns a Job!

Example

Query
mutation putNewFeatures {
  putNewFeatures {
    id
    userId
    status
    progress
    message
  }
}
Response
{
  "data": {
    "putNewFeatures": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "xyz789"
    }
  }
}

putOrganization

Description

Create or update an organization.

Response

Returns an Organization!

Arguments
Name Description
id - ID The unique identifier of the organization to update.

Example

Query
mutation putOrganization($id: ID) {
  putOrganization(id: $id) {
    id
    name
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    standards {
      ...StandardFragment
    }
    scopes
    groups {
      ...GroupFragment
    }
    users {
      ...UserFragment
    }
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "putOrganization": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "xyz789",
      "dateCreated": "abc123",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "standards": [Standard],
      "scopes": ["edit"],
      "groups": [Group],
      "users": [User]
    }
  }
}

putProject

Description

Create or update a project.

Response

Returns a Project!

Arguments
Name Description
id - ID The unique identifier of the project to update.

Example

Query
mutation putProject($id: ID) {
  putProject(id: $id) {
    id
    name
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    users {
      ...UserFragment
    }
    standards {
      ...StandardFragment
    }
    groups {
      ...GroupFragment
    }
    description
    scopes
    mappings {
      ...MappingFragment
    }
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "putProject": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "xyz789",
      "dateCreated": "xyz789",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "users": [User],
      "standards": [Standard],
      "groups": [Group],
      "description": "xyz789",
      "scopes": ["abc123"],
      "mappings": [Mapping]
    }
  }
}

putPropertySets

Description

Create or update a property set.

Response

Returns [ID!]!

Example

Query
mutation putPropertySets {
  putPropertySets
}
Response
{"data": {"putPropertySets": ["4"]}}

putStandard

Description

Create or update a standard.

Response

Returns a Standard!

Arguments
Name Description
id - ID The unique identifier of the standard to update.

Example

Query
mutation putStandard($id: ID) {
  putStandard(id: $id) {
    id
    name
    features {
      ...FeatureFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    organization {
      ...OrganizationFragment
    }
    project {
      ...ProjectFragment
    }
    description
    public
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    scopes
    copyOf {
      ...StandardFragment
    }
    copyInfo
    versionOf {
      ...StandardFragment
    }
    version
    versions {
      ...StandardFragment
    }
    allVersions {
      ...StandardFragment
    }
    locked
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "putStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "xyz789",
      "features": [Feature],
      "featureGroups": [FeatureGroup],
      "propertySets": [PropertySet],
      "organization": Organization,
      "project": Project,
      "description": "abc123",
      "public": true,
      "dateCreated": "xyz789",
      "dateModified": "abc123",
      "creator": User,
      "editor": User,
      "scopes": ["xyz789"],
      "copyOf": Standard,
      "copyInfo": "UPTODATE",
      "versionOf": Standard,
      "version": "xyz789",
      "versions": [Standard],
      "allVersions": [Standard],
      "locked": true
    }
  }
}

putStandardsIntoOrganization

Description

Copy multiple standards into an organization.

Response

Returns a Job!

Arguments
Name Description
organizationId - ID! The organization into which the standards should be copied.

Example

Query
mutation putStandardsIntoOrganization($organizationId: ID!) {
  putStandardsIntoOrganization(organizationId: $organizationId) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{"organizationId": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "putStandardsIntoOrganization": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "abc123"
    }
  }
}

putStandardsIntoProject

Description

Copy multiple standards into a project.

Response

Returns a Job!

Arguments
Name Description
projectId - ID! The project into which the standards should be copied.

Example

Query
mutation putStandardsIntoProject($projectId: ID!) {
  putStandardsIntoProject(projectId: $projectId) {
    id
    userId
    status
    progress
    message
  }
}
Variables
{"projectId": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "putStandardsIntoProject": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "status": "CREATED",
      "progress": 0.89,
      "message": "xyz789"
    }
  }
}

putUsedElementClassesInPropertySet

Response

Returns a Boolean

Arguments
Name Description
elementClassIds - [ID!]!
propertySetID - ID!

Example

Query
mutation putUsedElementClassesInPropertySet(
  $elementClassIds: [ID!]!,
  $propertySetID: ID!
) {
  putUsedElementClassesInPropertySet(
    elementClassIds: $elementClassIds,
    propertySetID: $propertySetID
  )
}
Variables
{
  "elementClassIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "propertySetID": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{"data": {"putUsedElementClassesInPropertySet": false}}

putUsersInOrganizationGroups

Response

Returns a Boolean

Arguments
Name Description
userIds - [ID!]!
organizationId - ID!
groupIds - [ID!]!

Example

Query
mutation putUsersInOrganizationGroups(
  $userIds: [ID!]!,
  $organizationId: ID!,
  $groupIds: [ID!]!
) {
  putUsersInOrganizationGroups(
    userIds: $userIds,
    organizationId: $organizationId,
    groupIds: $groupIds
  )
}
Variables
{
  "userIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "organizationId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "groupIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"putUsersInOrganizationGroups": true}}

putUsersInOrganizationGroupsExclusively

Response

Returns a Boolean

Arguments
Name Description
userIds - [ID!]!
organizationId - ID!
groupIds - [ID!]!

Example

Query
mutation putUsersInOrganizationGroupsExclusively(
  $userIds: [ID!]!,
  $organizationId: ID!,
  $groupIds: [ID!]!
) {
  putUsersInOrganizationGroupsExclusively(
    userIds: $userIds,
    organizationId: $organizationId,
    groupIds: $groupIds
  )
}
Variables
{
  "userIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "organizationId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "groupIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"putUsersInOrganizationGroupsExclusively": false}}

putUsersInProjectGroups

Response

Returns a Boolean

Arguments
Name Description
userIds - [ID!]!
projectId - ID!
groupIds - [ID!]!

Example

Query
mutation putUsersInProjectGroups(
  $userIds: [ID!]!,
  $projectId: ID!,
  $groupIds: [ID!]!
) {
  putUsersInProjectGroups(
    userIds: $userIds,
    projectId: $projectId,
    groupIds: $groupIds
  )
}
Variables
{
  "userIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "projectId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "groupIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"putUsersInProjectGroups": true}}

putUsersInProjectGroupsExclusively

Response

Returns a Boolean

Arguments
Name Description
userIds - [ID!]!
projectId - ID!
groupIds - [ID!]!

Example

Query
mutation putUsersInProjectGroupsExclusively(
  $userIds: [ID!]!,
  $projectId: ID!,
  $groupIds: [ID!]!
) {
  putUsersInProjectGroupsExclusively(
    userIds: $userIds,
    projectId: $projectId,
    groupIds: $groupIds
  )
}
Variables
{
  "userIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "projectId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "groupIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"putUsersInProjectGroupsExclusively": true}}

removeFeaturesFromFeatureGroup

Description

Remove multiple features from a feature group.

Response

Returns a Boolean

Arguments
Name Description
featureIds - [ID!]! The features to be removed.
featureGroupId - ID! The feature group from which to remove the features.

Example

Query
mutation removeFeaturesFromFeatureGroup(
  $featureIds: [ID!]!,
  $featureGroupId: ID!
) {
  removeFeaturesFromFeatureGroup(
    featureIds: $featureIds,
    featureGroupId: $featureGroupId
  )
}
Variables
{
  "featureIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "featureGroupId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{"data": {"removeFeaturesFromFeatureGroup": false}}

removeFeaturesFromPropertySet

Description

Remove multiple features from a property set.

Response

Returns a Boolean

Arguments
Name Description
featureIds - [ID!]! The features to be removed.
propertySetId - ID! The property set from which to remove the features.

Example

Query
mutation removeFeaturesFromPropertySet(
  $featureIds: [ID!]!,
  $propertySetId: ID!
) {
  removeFeaturesFromPropertySet(
    featureIds: $featureIds,
    propertySetId: $propertySetId
  )
}
Variables
{
  "featureIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "propertySetId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{"data": {"removeFeaturesFromPropertySet": false}}

removeJob

Response

Returns a Boolean

Arguments
Name Description
id - ID!
cancelIfNotFinished - Boolean!

Example

Query
mutation removeJob(
  $id: ID!,
  $cancelIfNotFinished: Boolean!
) {
  removeJob(
    id: $id,
    cancelIfNotFinished: $cancelIfNotFinished
  )
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff", "cancelIfNotFinished": false}
Response
{"data": {"removeJob": true}}

removeUsedElementClassesFromPropertySet

Response

Returns a Boolean

Arguments
Name Description
elementClassIds - [ID!]!
propertySetID - ID!

Example

Query
mutation removeUsedElementClassesFromPropertySet(
  $elementClassIds: [ID!]!,
  $propertySetID: ID!
) {
  removeUsedElementClassesFromPropertySet(
    elementClassIds: $elementClassIds,
    propertySetID: $propertySetID
  )
}
Variables
{
  "elementClassIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "propertySetID": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{"data": {"removeUsedElementClassesFromPropertySet": false}}

removeUsersFromOrganization

Description

Remove a collection of users from a specific organization.

Response

Returns a Boolean

Arguments
Name Description
userIds - [ID!]! The collection of users to remove.
organizationId - ID! The organization from which to remove users.

Example

Query
mutation removeUsersFromOrganization(
  $userIds: [ID!]!,
  $organizationId: ID!
) {
  removeUsersFromOrganization(
    userIds: $userIds,
    organizationId: $organizationId
  )
}
Variables
{
  "userIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "organizationId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{"data": {"removeUsersFromOrganization": false}}

removeUsersFromOrganizationGroups

Response

Returns a Boolean

Arguments
Name Description
userIds - [ID!]!
organizationId - ID!
groupIds - [ID!]!

Example

Query
mutation removeUsersFromOrganizationGroups(
  $userIds: [ID!]!,
  $organizationId: ID!,
  $groupIds: [ID!]!
) {
  removeUsersFromOrganizationGroups(
    userIds: $userIds,
    organizationId: $organizationId,
    groupIds: $groupIds
  )
}
Variables
{
  "userIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "organizationId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "groupIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"removeUsersFromOrganizationGroups": false}}

removeUsersFromProject

Description

Remove a collection of users from a specific project.

Response

Returns a Boolean

Arguments
Name Description
userIds - [ID!]! The collection of users to remove.
projectId - ID! The project from which to remove users.

Example

Query
mutation removeUsersFromProject(
  $userIds: [ID!]!,
  $projectId: ID!
) {
  removeUsersFromProject(
    userIds: $userIds,
    projectId: $projectId
  )
}
Variables
{
  "userIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "projectId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
Response
{"data": {"removeUsersFromProject": true}}

removeUsersFromProjectGroups

Response

Returns a Boolean

Arguments
Name Description
userIds - [ID!]!
projectId - ID!
groupIds - [ID!]!

Example

Query
mutation removeUsersFromProjectGroups(
  $userIds: [ID!]!,
  $projectId: ID!,
  $groupIds: [ID!]!
) {
  removeUsersFromProjectGroups(
    userIds: $userIds,
    projectId: $projectId,
    groupIds: $groupIds
  )
}
Variables
{
  "userIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ],
  "projectId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "groupIds": [
    "ffffffff-ffff-ffff-ffff-ffffffffffff",
    "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
    "..."
  ]
}
Response
{"data": {"removeUsersFromProjectGroups": false}}

touchMapping

Description

Touch a Mapping. Sets the LastModifiedDate to the current time and creates a HistoryEntry (Can be used to signal that a MappingRule is still valid)

Response

Returns a Mapping!

Arguments
Name Description
id - ID! The unique identifier of the mapping to touch.

Example

Query
mutation touchMapping($id: ID!) {
  touchMapping(id: $id) {
    id
    name
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    project {
      ...ProjectFragment
    }
    condition {
      ... on SingleCondition {
        ...SingleConditionFragment
      }
      ... on ElementCondition {
        ...ElementConditionFragment
      }
      ... on ConditionGroup {
        ...ConditionGroupFragment
      }
    }
    scopes
    actions {
      ... on ConvertAction {
        ...ConvertActionFragment
      }
      ... on ExtractAction {
        ...ExtractActionFragment
      }
      ... on DeleteAction {
        ...DeleteActionFragment
      }
      ... on AddAction {
        ...AddActionFragment
      }
      ... on ChangeAction {
        ...ChangeActionFragment
      }
    }
    state
  }
}
Variables
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}
Response
{
  "data": {
    "touchMapping": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "abc123",
      "dateCreated": "xyz789",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "project": Project,
      "condition": SingleCondition,
      "scopes": ["abc123"],
      "actions": [ConvertAction],
      "state": "VALID"
    }
  }
}

unlockStandard

Description

Unlock a specific standard by id. Deletions/modifications possible again, Warning: This call will be removed in the Future

Response

Returns a Standard!

Arguments
Name Description
id - ID!

Example

Query
mutation unlockStandard($id: ID!) {
  unlockStandard(id: $id) {
    id
    name
    features {
      ...FeatureFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    organization {
      ...OrganizationFragment
    }
    project {
      ...ProjectFragment
    }
    description
    public
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    scopes
    copyOf {
      ...StandardFragment
    }
    copyInfo
    versionOf {
      ...StandardFragment
    }
    version
    versions {
      ...StandardFragment
    }
    allVersions {
      ...StandardFragment
    }
    locked
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "unlockStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "abc123",
      "features": [Feature],
      "featureGroups": [FeatureGroup],
      "propertySets": [PropertySet],
      "organization": Organization,
      "project": Project,
      "description": "abc123",
      "public": false,
      "dateCreated": "abc123",
      "dateModified": "abc123",
      "creator": User,
      "editor": User,
      "scopes": ["xyz789"],
      "copyOf": Standard,
      "copyInfo": "UPTODATE",
      "versionOf": Standard,
      "version": "abc123",
      "versions": [Standard],
      "allVersions": [Standard],
      "locked": false
    }
  }
}

unpublishStandard

Description

Unpublish a specifc standard by id. Only Users who have been granted Access explicitly will be able to view/modify this Standard

Response

Returns a Standard!

Arguments
Name Description
id - ID!

Example

Query
mutation unpublishStandard($id: ID!) {
  unpublishStandard(id: $id) {
    id
    name
    features {
      ...FeatureFragment
    }
    featureGroups {
      ...FeatureGroupFragment
    }
    propertySets {
      ...PropertySetFragment
    }
    organization {
      ...OrganizationFragment
    }
    project {
      ...ProjectFragment
    }
    description
    public
    dateCreated
    dateModified
    creator {
      ...UserFragment
    }
    editor {
      ...UserFragment
    }
    scopes
    copyOf {
      ...StandardFragment
    }
    copyInfo
    versionOf {
      ...StandardFragment
    }
    version
    versions {
      ...StandardFragment
    }
    allVersions {
      ...StandardFragment
    }
    locked
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "unpublishStandard": {
      "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "name": "xyz789",
      "features": [Feature],
      "featureGroups": [FeatureGroup],
      "propertySets": [PropertySet],
      "organization": Organization,
      "project": Project,
      "description": "xyz789",
      "public": true,
      "dateCreated": "xyz789",
      "dateModified": "xyz789",
      "creator": User,
      "editor": User,
      "scopes": ["xyz789"],
      "copyOf": Standard,
      "copyInfo": "UPTODATE",
      "versionOf": Standard,
      "version": "xyz789",
      "versions": [Standard],
      "allVersions": [Standard],
      "locked": true
    }
  }
}

Types

Action

Description

A type that includes all possible types for an Action.

Example
ConvertAction

AddAction

Fields
Field Name Description
id - ID!
feature - Feature!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "feature": Feature
}

Boolean

Description

The Boolean scalar type represents true or false.

BooleanType

Description

Represents the type of a feature that has a boolean value.

Example
{}

ChangeAction

Fields
Field Name Description
id - ID!
feature - Feature!
name - String
type - FeatureType
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "feature": Feature,
  "name": "xyz789",
  "type": StringType
}

ChangeType

Description

The Type of a HistoryEntry.

Values
Enum Value Description

CREATE

When Entity is created

MODIFY

When Entity is modified

ADD

When Entity Relation to a Target is added

REMOVE

When Entity Relation to a Target is removed

TOUCH

Log a touch(sets the lastModifiedDate to the current time) on the Entity

LOCK

When a Standard is locked, no further modification or delete possible

UNLOCK

When a Standard is unlocked, modification or delete are possible (default state of a Standard)

PUBLISH

When a Standard is published, every User of MMS has at least read access to this standard

UNPUBLISH

When a Standard is unpublished, only Users who are explicitly added have access to it (default state of a Standard)

UNKNOWN

For Old HistoryEntries which did not have a type yet deprecated
Example
"CREATE"

Condition

Example
SingleCondition

ConditionGroup

Fields
Field Name Description
id - ID!
conditions - [Condition!]!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "conditions": [SingleCondition]
}

ConvertAction

Fields
Field Name Description
id - ID!
inputFeature - Feature!
outputFeature - Feature!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "inputFeature": Feature,
  "outputFeature": Feature
}

CopyInfo

Description

CopyInfo describes the current status of a copied entity.

Values
Enum Value Description

UPTODATE

The copy is equal to its original.

OUTDATED

The copy does not contain the latest changes from the original.

CONFLICTED

Both the copy and the original were changed independently from each other.

NEWER

The original does not contain changes from the copy.
Example
"UPTODATE"

DeleteAction

Fields
Field Name Description
id - ID!
feature - Feature!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "feature": Feature
}

ElementCondition

Fields
Field Name Description
id - ID!
predicate - Predicate!
Example
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff", "predicate": "NOT"}

EntityState

Description

EntityState describes whether an entity (Mapping) is currently valid has been possibly compromised

Values
Enum Value Description

VALID

Default State

CHECK

Entity needs to be checked because related Entities have been Modified (when LastModifiedDate of the entity (Mapping) is older than ONE LastModifiedDate of a related Entity (Property))

FAULTY

Entity is faulty when the validation of an entity (Mapping) fails according to a rule set
Example
"VALID"

EnumerationType

Description

Represents the type of a feature that has a Enumeration value.

Fields
Field Name Description
id - ID! The unique identifier for the EnumerationType. This ID is a UUID and is used to uniquely identify each EnumerationType in the system.
options - [OptionValue!]! A collection that contains all options this EnumerationType includes.
allowMultiple - Boolean! A flag that describes if this EnumerationType allows multiple options to be selected.
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "options": [OptionValue],
  "allowMultiple": false
}

ExtractAction

Fields
Field Name Description
id - ID!
outputFeature - Feature!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "outputFeature": Feature
}

Feature

Description

The 'Feature' type represents a Feature entity on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the Feature. This ID is a UUID and is used to uniquely identify each Feature in the system.
private - Boolean!
name - String! The name of the Feature.
description - String A description of the Feature.
standard - Standard! The Standard the feature belongs to.
mappings - [Mapping!]! A collection of all Mappings the Feature is a part of.
dateCreated - String!
dateModified - String!
creator - User! The user entity of the user that created the Feature.
editor - User! The user entity of the user that last edited the Feature.
propertySets - [PropertySet!]! A collection of PropertySets the Feature is contained in.
featureGroups - [FeatureGroup!]! A collection of FeatureGroups the Feature is contained in.
type - FeatureType! The type of the Feature.
scopes - [String!]!
copyOf - Feature
copyInfo - CopyInfo
versionOf - Feature Feature which this Feature is based on (parent-version)
instanceValues - [OptionValue!]!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "private": false,
  "name": "abc123",
  "description": "abc123",
  "standard": Standard,
  "mappings": [Mapping],
  "dateCreated": "xyz789",
  "dateModified": "xyz789",
  "creator": User,
  "editor": User,
  "propertySets": [PropertySet],
  "featureGroups": [FeatureGroup],
  "type": StringType,
  "scopes": ["abc123"],
  "copyOf": Feature,
  "copyInfo": "UPTODATE",
  "versionOf": Feature,
  "instanceValues": [OptionValue]
}

FeatureGroup

Description

The 'FeatureGroup' type represents a FeatureGroup entity on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the FeatureGroup. This ID is a UUID and is used to uniquely identify each FeatureGroup in the system.
name - String! The name of the feature group.
description - String A description of the FeatureGroup.
dateCreated - String!
dateModified - String!
creator - User! The user entity of the user that created the feature group.
editor - User! The user entity of the user that last edited the feature group.
parent - FeatureGroup
children - [FeatureGroup!]!
features - [Feature!]! A collection of features contained in the feature group.
scopes - [String!]!
standard - Standard!
copyOf - FeatureGroup
copyInfo - CopyInfo
versionOf - FeatureGroup
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "name": "xyz789",
  "description": "xyz789",
  "dateCreated": "abc123",
  "dateModified": "xyz789",
  "creator": User,
  "editor": User,
  "parent": FeatureGroup,
  "children": [FeatureGroup],
  "features": [Feature],
  "scopes": ["xyz789"],
  "standard": Standard,
  "copyOf": FeatureGroup,
  "copyInfo": "UPTODATE",
  "versionOf": FeatureGroup
}

FeatureType

Description

A type that includes all possible types for a Feature.

Example
StringType

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

Group

Description

The 'Group' type represents a group entity on the MMS-Platform. A group is a collection of users.

Fields
Field Name Description
id - ID! The unique identifier for the Group. This ID is a UUID and is used to uniquely identify each Group in the system.
name - String! The name of the group entity.
users - [User!]! A collection of users that are members of the group.
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "name": "abc123",
  "users": [User]
}

HistoryEntry

Description

A HistoryEntry represents an element that is displayed in the Change History on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the HistoryEntry. This ID is a UUID and is used to uniquely identify each HistoryEntry in the system.
entity - SearchResultEntity! The Entity that was modified and is now associated with this Change History Entry.
target - SearchResultEntity The Entity(currently FeatureGroup or PropertySet) that was added/removed from the entity (optional)
type - ChangeType The Type of Change that has been logged
user - User! The user that changed the entity.
date - String! The date on which the change was made.
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "entity": Feature,
  "target": Feature,
  "type": "CREATE",
  "user": User,
  "date": "xyz789"
}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
4

IfcBuiltElement

Fields
Field Name Description
id - ID! The unique identifier for the IfcBuildingElement. This ID is a UUID and is used to uniquely identify each IfcBuildingElement in the system.
Example
{"id": "ffffffff-ffff-ffff-ffff-ffffffffffff"}

Job

Description

A Job describes an asynchronous action that will eventually resolve with an IDValue as result.

Fields
Field Name Description
id - ID! The unique identifier for the job. This ID is a UUID and is used to uniquely identify each job in the system.
userId - ID! The unique identifier for the user that started the job.
status - JobStatus! The current status of the job this can be one of: CREATED, RUNNING, SUCCESSFUL, FAILED, CANCELLED.
progress - Float! The current progress of the job returned as a float value.
message - String!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "userId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "status": "CREATED",
  "progress": 0.89,
  "message": "xyz789"
}

JobStatus

Description

The status required by a Job entity. The status can have one of the following values:

Values
Enum Value Description

CREATED

The job will have this value once it was successfully created.

RUNNING

The job will have this value while it is running.

SUCCESSFUL

The job will have this value once it successfully finished.

FAILED

The job will have this value if it failed.

CANCELLED

The job will have this value if it was cancelled.
Example
"CREATED"

LogicalType

Description

Represents the type of a feature that has a logical value.

Example
{}

Mapping

Description

The 'Mapping' type represents a Mapping entity on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the Feature. This ID is a UUID and is used to uniquely identify each Feature in the system.
name - String! The name of the Mapping.
dateCreated - String!
dateModified - String!
creator - User! The user entity of the user that created the Mapping.
editor - User! The user entity of the user that last edited the Mapping.
project - Project! The Project the Mapping belongs to.
condition - Condition
scopes - [String!]!
actions - [Action!]!
state - EntityState Calculates the State in which the Mapping Rule is in
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "name": "xyz789",
  "dateCreated": "abc123",
  "dateModified": "abc123",
  "creator": User,
  "editor": User,
  "project": Project,
  "condition": SingleCondition,
  "scopes": ["xyz789"],
  "actions": [ConvertAction],
  "state": "VALID"
}

NumericType

Description

Represents the type of a feature that has a numeric value.

Fields
Field Name Description
quantityKind - QuantityKind! Defines what quantity is described with the feature.
unit - Unit! Defines what unit the described quantity is measured in.
Example
{
  "quantityKind": QuantityKind,
  "unit": Unit
}

OptionValue

Description

The type for the value associated with the OptionType.

Fields
Field Name Description
id - ID! The unique identifier for the OptionValue. This ID is a UUID and is used to uniquely identify each OptionValue in the system.
description - String A description of the Option Value.
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "description": "xyz789"
}

Organization

Description

The 'Organization' type represents an organization entity on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the Organization. This ID is a UUID and is used to uniquely identify each Organization in the system.
name - String! The name of the Organization.
dateCreated - String!
dateModified - String!
creator - User! The user entity of the user that created the organization.
editor - User! The user entity of the user that last edited the organization.
standards - [Standard!]! A collection of standards which are contained in the organization.
scopes - [String!]!
groups - [Group!]! A collection of groups which are contained in the organization.
users - [User!]! A collection of all users which have access to the organization.
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "name": "xyz789",
  "dateCreated": "xyz789",
  "dateModified": "abc123",
  "creator": User,
  "editor": User,
  "standards": [Standard],
  "scopes": ["edit"],
  "groups": [Group],
  "users": [User]
}

Predicate

Description

The Predicate for a Mapping Condition.

Values
Enum Value Description

NOT

EQUALS

CONTAINS

CONTAINS_NOT

MATCHES

PRESENT

NOT_PRESENT

HAS

HAS_NOT

LESS_THAN

LESS_OR_EQUALS

GREATER_THAN

GREATER_OR_EQUALS

Example
"NOT"

Project

Description

The 'Project' type represents a project entity on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the Project. This ID is a UUID and is used to uniquely identify each Project in the system.
name - String! The name of the Project.
dateCreated - String!
dateModified - String!
creator - User! The user entity of the user that created the project.
editor - User! The user entity of the user that last edited the project.
users - [User!]! A collection of all users which have access to the project.
standards - [Standard!]! A collection of standards which are contained in the project.
groups - [Group!]! A collection of groups which are contained in the project.
description - String The description of the project.
scopes - [String!]!
mappings - [Mapping!]! A collection of Mappings that are contained in the project.
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "name": "xyz789",
  "dateCreated": "xyz789",
  "dateModified": "abc123",
  "creator": User,
  "editor": User,
  "users": [User],
  "standards": [Standard],
  "groups": [Group],
  "description": "abc123",
  "scopes": ["abc123"],
  "mappings": [Mapping]
}

PropertySet

Description

The 'PropertySet' type represents a PropertySet entity on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the PropertySet. This ID is a UUID and is used to uniquely identify each PropertySet in the system.
name - String! The name of the PropertySet.
description - String A description of the PropertySet.
dateCreated - String!
dateModified - String!
creator - User! The user entity of the user that created the PropertySet.
editor - User! The user entity of the user that last edited the PropertySet.
features - [Feature!]! A collection of all Features contained in this PropertySet.
scopes - [String!]!
standard - Standard!
copyOf - PropertySet
copyInfo - CopyInfo
mappings - [Mapping!]! A collection of all Mappings this PropertySet is used in.
versionOf - PropertySet PropertySet which this PropertySet is based on (parent-version)
usedInElementClasses - [ID!]!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "name": "abc123",
  "description": "xyz789",
  "dateCreated": "abc123",
  "dateModified": "abc123",
  "creator": User,
  "editor": User,
  "features": [Feature],
  "scopes": ["xyz789"],
  "standard": Standard,
  "copyOf": PropertySet,
  "copyInfo": "UPTODATE",
  "mappings": [Mapping],
  "versionOf": PropertySet,
  "usedInElementClasses": [4]
}

PublicOrganization

Description

Public Organizations are organization entities that are visible and available to all users on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the Public Organization. This ID is a UUID and is used to uniquely identify each Public Organization in the system.
name - String! The name of the Public Organization.
scopes - [String!]!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "name": "xyz789",
  "scopes": ["abc123"]
}

PublicProject

Description

Public Projects are organization entities that are visible and available to all users on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the Public Project. This ID is a UUID and is used to uniquely identify each Public Project in the system.
name - String! The name of the Public Project.
scopes - [String!]!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "name": "xyz789",
  "scopes": ["xyz789"]
}

QuantityKind

Description

The 'QuantityKind' type represents a certain way a quantity can be interpreted as.

Fields
Field Name Description
id - ID! The unique identifier for the QuantityKind. This ID is a UUID and is used to uniquely identify each QuantityKind in the system.
label - String! The way this QuantityKind is represented in text form.
description - String A description of the QuantityKind.
units - [Unit!]! A collection of Units that are associated with this QuantityKind.
scopes - [String!]!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "label": "xyz789",
  "description": "xyz789",
  "units": [Unit],
  "scopes": ["xyz789"]
}

ReferenceType

Description

Represents the type of a feature that has a reference value (This is similar to a text value).

Example
{}

SearchResultEntity

Description

The entity that is returned from a search. This entity can be one of the following types:

Example
Feature

SingleCondition

Fields
Field Name Description
id - ID!
feature - Feature!
predicate - Predicate!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "feature": Feature,
  "predicate": "NOT"
}

Standard

Description

The 'Standard' type represents a standard entity on the MMS-Platform.

Fields
Field Name Description
id - ID! The unique identifier for the Standard. This ID is a UUID and is used to uniquely identify each Standard in the system.
name - String! The name of the Standard.
features - [Feature!]! A collection of features contained in the Standard.
featureGroups - [FeatureGroup!]! A collection of feature groups contained in the Standard.
propertySets - [PropertySet!]! A collection of property sets contained in the Standard.
organization - Organization
project - Project
description - String The description of the Standard.
public - Boolean! A flag that describes if the standard is publicly visible.
dateCreated - String!
dateModified - String!
creator - User! The user entity of the user that created the standard.
editor - User! The user entity of the user that last edited the standard.
scopes - [String!]!
copyOf - Standard
copyInfo - CopyInfo
versionOf - Standard
version - String
versions - [Standard]
allVersions - [Standard]
locked - Boolean
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "name": "xyz789",
  "features": [Feature],
  "featureGroups": [FeatureGroup],
  "propertySets": [PropertySet],
  "organization": Organization,
  "project": Project,
  "description": "xyz789",
  "public": true,
  "dateCreated": "abc123",
  "dateModified": "abc123",
  "creator": User,
  "editor": User,
  "scopes": ["abc123"],
  "copyOf": Standard,
  "copyInfo": "UPTODATE",
  "versionOf": Standard,
  "version": "abc123",
  "versions": [Standard],
  "allVersions": [Standard],
  "locked": true
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

StringType

Description

Represents the type of a feature that has a text value.

Example
{}

Unit

Description

The 'Unit' type represents a SI Unit.

Fields
Field Name Description
id - ID! The unique identifier for the Unit. This ID is a UUID and is used to uniquely identify each Unit in the system.
label - String! The way this Unit is represented in text form.
description - String A description of the SI Unit.
quantityKinds - [QuantityKind!]! A collection of QuantityKinds that are associated with this SI Unit.
scopes - [String!]!
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "label": "abc123",
  "description": "xyz789",
  "quantityKinds": [QuantityKind],
  "scopes": ["xyz789"]
}

User

Description

The 'User' type represents a user entity on the MMS-Platform. This type defines the structure of user-related data that can be queried and manipulated using GraphQL queries and mutations.

Fields
Field Name Description
id - ID! The unique identifier for the user. This ID is a UUID and is used to uniquely identify each user in the system.
username - String The username chosen by the user for their account. Usernames are used for display and identification purposes.
email - String The email address associated with the user's account. This field is used for communication and account management.
firstName - String The first name of the user. This field can be used for personalized interactions and display purposes.
lastName - String The last name of the user. Similar to the firstName field, this can also be used for personalization and display.
groups - [Group!]! A list of groups that the user is a member of. This field establishes a many-to-many relationship between users and groups.
Example
{
  "id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "username": "bobthebuilder",
  "email": "bob@thebuilder.com",
  "firstName": "Bob",
  "lastName": "Builder",
  "groups": [Group]
}