Platform Release 28 August 2020

Custom objects can now be created, updated, and deleted using the GraphQL API.

Introduced the following changes to the GraphQL schema (in SDL format):

extend type Query {
  customObject(
    "Queries with specified ID"
    id: String,

    "Queries with specified key"
    key: String, container: String): CustomObject
  customObjects(where: String, sort: [String!], limit: Int, offset: Int, container: String!): CustomObjectQueryResult!
}

extend type Mutation {
  createOrUpdateCustomObject(draft: CustomObjectDraft!): CustomObject
  deleteCustomObject(version: Long,

    "Queries with specified ID"
    id: String,

    "Queries with specified key"
    key: String, container: String, personalDataErasure: Boolean = false): CustomObject
}

type CustomObject implements Versioned {
  container: String!
  key: String!
  value: Json!
  id: String!
  version: Long!
  createdAt: DateTime!
  lastModifiedAt: DateTime!
  createdBy: Initiator
  lastModifiedBy: Initiator
}

input CustomObjectDraft {
  key: String!
  container: String!

  "The value should be passed in a form of escaped JSON"
  value: String!
  version: Long
}

type CustomObjectQueryResult {
  offset: Int!
  count: Int!
  total: Long!
  results: [CustomObject!]!
}