Preview a configuration change

Configurable CRM record contract. Record references contain both typeId and recordId. Workspace scope comes from authentication. Decimal values are strings. Reads change nothing and return only what the caller may read.

Requires: data-model management; role management suffices when every operation is setTypeGrants or putAccessPreset.

POST
/v1/model/preview

Authorization

apiKeyAuth
x-api-key<token>

API key authentication. Create an API key in your user profile and include it in the x-api-key header.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://customermates.com/api/v1/model/preview" \  -H "Content-Type: application/json" \  -d '{    "expectedRevision": 9007199254740991,    "idempotencyKey": "stringst",    "operations": [      {        "operation": "createType",        "reference": "2ddb20b8-e0e3-45ae-a638-42610b990a6a",        "label": "string",        "pluralLabel": "string",        "description": "string",        "icon": "string",        "embedded": true,        "accessPresetId": "79d322bd-713a-4082-9399-bb072877b356"      }    ]  }'
{
  "expectedRevision": -9007199254740991,
  "nextRevision": -9007199254740991,
  "valid": true,
  "execution": "synchronous",
  "dataValidation": "complete",
  "affectedRecords": -9007199254740991,
  "hiddenRecords": true,
  "references": [
    {
      "reference": "string",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    }
  ],
  "issues": [
    {
      "code": "string",
      "fieldId": "string",
      "typeId": "string",
      "relationId": "string",
      "viewKind": "view",
      "viewId": "string",
      "viewName": "string",
      "columnId": "string",
      "columnLabel": "string",
      "count": 9007199254740991,
      "examples": [
        "string"
      ]
    }
  ],
  "calculations": [
    {
      "fieldId": "84922011-b03d-4966-bc95-c5b49bc2e342",
      "dependencyHash": "string"
    }
  ],
  "deletion": {
    "blockers": [
      {
        "reason": "calculation",
        "source": {
          "kind": "type",
          "id": "string",
          "typeId": "caab7c42-4ce7-4bd5-bbab-6017cec730b7",
          "label": "string"
        },
        "target": {
          "kind": "type",
          "id": "string",
          "typeId": "caab7c42-4ce7-4bd5-bbab-6017cec730b7",
          "label": "string"
        }
      }
    ],
    "cleaned": [
      {
        "consumer": {
          "kind": "type",
          "id": "string",
          "typeId": "caab7c42-4ce7-4bd5-bbab-6017cec730b7",
          "label": "string"
        },
        "target": {
          "kind": "type",
          "id": "string",
          "typeId": "caab7c42-4ce7-4bd5-bbab-6017cec730b7",
          "label": "string"
        },
        "replacement": {
          "kind": "type",
          "id": "string",
          "typeId": "caab7c42-4ce7-4bd5-bbab-6017cec730b7",
          "label": "string"
        },
        "effect": "countsRecords"
      }
    ],
    "removed": {
      "records": -9007199254740991,
      "values": -9007199254740991,
      "links": -9007199254740991,
      "relationships": -9007199254740991,
      "views": -9007199254740991,
      "grants": -9007199254740991,
      "identifiers": -9007199254740991,
      "identifierRecords": -9007199254740991
    }
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
{
  "error": {
    "kind": "validation",
    "issues": [
      {
        "code": "string",
        "path": [
          "string"
        ],
        "message": "string",
        "customCode": "recordNotFound",
        "entitlement": "string"
      }
    ],
    "retryable": true
  }
}
Empty