{
  "package": {
    "name": "@teamgrid/mcp-server",
    "sourceCommit": "b0e4b3dfa4afd74822a73b8b5e8b647236f273ce",
    "sourceRepository": "TeamGrid/developer-platform",
    "version": "1.2.2"
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "contract": {
    "domain": "catalog-write",
    "concurrency": "unconditional",
    "idempotency": true,
    "coreCas": false
  },
  "outputSchema": {
    "type": "object",
    "anyOf": [
      {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/$defs/CustomFieldDefinition"
          },
          "meta": {
            "additionalProperties": false,
            "properties": {
              "requestId": {
                "type": "string",
                "description": "Unique identifier assigned to the API request for tracing and support."
              },
              "privateResource": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "uri",
                  "maxBytes",
                  "readMethod"
                ],
                "properties": {
                  "uri": {
                    "type": "string",
                    "pattern": "^teamgrid://(?:files|exports)/[A-Za-z0-9_.:%-]+$"
                  },
                  "maxBytes": {
                    "const": 1048576
                  },
                  "readMethod": {
                    "const": "resources/read"
                  }
                }
              },
              "etag": {
                "type": "string",
                "pattern": "^\"[\\x21\\x23-\\x7e]{1,256}\"$"
              },
              "resume": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "tool",
                  "arguments"
                ],
                "properties": {
                  "tool": {
                    "enum": [
                      "teamgrid_project_lifecycle_operation_get",
                      "teamgrid_planned_work_operation_get",
                      "teamgrid_task_recurrence_operation_get",
                      "teamgrid_export_get"
                    ]
                  },
                  "arguments": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      }
                    }
                  }
                }
              },
              "outcome": {
                "enum": [
                  "completed",
                  "accepted",
                  "partial",
                  "unknown",
                  "failed"
                ]
              },
              "omittedFields": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "contentReadTool": {
                "const": "teamgrid_document_get"
              },
              "contentPage": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "unit": {
                    "const": "utf16"
                  },
                  "offset": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "nextOffset": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "totalLength": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "complete": {
                    "type": "boolean"
                  },
                  "revision": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "unit",
                  "offset",
                  "nextOffset",
                  "totalLength",
                  "complete",
                  "revision"
                ]
              },
              "search": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "complete": {
                    "const": false
                  },
                  "indexed": {
                    "const": true
                  },
                  "returned": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50
                  },
                  "continuation": {
                    "const": "narrow-query-or-list"
                  },
                  "verification": {
                    "const": "read-by-id"
                  }
                },
                "required": [
                  "complete",
                  "indexed",
                  "returned",
                  "limit",
                  "continuation",
                  "verification"
                ]
              }
            },
            "required": [
              "requestId"
            ],
            "type": "object",
            "description": "Public API representation of meta."
          }
        },
        "required": [
          "data",
          "meta"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/$defs/CustomFieldDefinition"
          },
          "meta": {
            "additionalProperties": false,
            "properties": {
              "requestId": {
                "type": "string",
                "description": "Unique identifier assigned to the API request for tracing and support."
              },
              "privateResource": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "uri",
                  "maxBytes",
                  "readMethod"
                ],
                "properties": {
                  "uri": {
                    "type": "string",
                    "pattern": "^teamgrid://(?:files|exports)/[A-Za-z0-9_.:%-]+$"
                  },
                  "maxBytes": {
                    "const": 1048576
                  },
                  "readMethod": {
                    "const": "resources/read"
                  }
                }
              },
              "etag": {
                "type": "string",
                "pattern": "^\"[\\x21\\x23-\\x7e]{1,256}\"$"
              },
              "resume": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "tool",
                  "arguments"
                ],
                "properties": {
                  "tool": {
                    "enum": [
                      "teamgrid_project_lifecycle_operation_get",
                      "teamgrid_planned_work_operation_get",
                      "teamgrid_task_recurrence_operation_get",
                      "teamgrid_export_get"
                    ]
                  },
                  "arguments": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      }
                    }
                  }
                }
              },
              "outcome": {
                "enum": [
                  "completed",
                  "accepted",
                  "partial",
                  "unknown",
                  "failed"
                ]
              },
              "omittedFields": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "contentReadTool": {
                "const": "teamgrid_document_get"
              },
              "contentPage": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "unit": {
                    "const": "utf16"
                  },
                  "offset": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "nextOffset": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "totalLength": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "complete": {
                    "type": "boolean"
                  },
                  "revision": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "unit",
                  "offset",
                  "nextOffset",
                  "totalLength",
                  "complete",
                  "revision"
                ]
              },
              "search": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "complete": {
                    "const": false
                  },
                  "indexed": {
                    "const": true
                  },
                  "returned": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50
                  },
                  "continuation": {
                    "const": "narrow-query-or-list"
                  },
                  "verification": {
                    "const": "read-by-id"
                  }
                },
                "required": [
                  "complete",
                  "indexed",
                  "returned",
                  "limit",
                  "continuation",
                  "verification"
                ]
              }
            },
            "required": [
              "requestId"
            ],
            "type": "object",
            "description": "Public API representation of meta."
          }
        },
        "required": [
          "data",
          "meta"
        ],
        "type": "object"
      }
    ],
    "$defs": {
      "CustomFieldDefinition": {
        "additionalProperties": false,
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "properties": {
              "archived": {
                "type": "boolean",
                "description": "Whether this resource is archived."
              },
              "compatibility": {
                "enum": [
                  "invalid",
                  "readOnlyLegacy",
                  "unsupported",
                  "writable"
                ],
                "type": "string",
                "description": "Canonical compatibility value for this custom field definition attributes."
              },
              "configuration": {
                "description": "Type-specific, validated configuration for this resource.",
                "$ref": "#/$defs/CustomFieldDefinitionConfiguration"
              },
              "createdAt": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ],
                "description": "Timestamp at which the resource was created."
              },
              "defaultEnabled": {
                "type": "boolean",
                "description": "Whether default enabled applies to this custom field definition attributes."
              },
              "description": {
                "maxLength": 5000,
                "type": "string",
                "description": "Human-readable description of the resource."
              },
              "fieldType": {
                "enum": [
                  "contact",
                  "date",
                  "dropdown",
                  "number",
                  "project",
                  "switcher",
                  "tag",
                  "text",
                  "textarea",
                  "user",
                  "unsupported"
                ],
                "type": "string",
                "description": "Canonical type used to validate and interpret the custom field."
              },
              "legacyTargetType": {
                "maxLength": 128,
                "readOnly": true,
                "type": "string",
                "description": "The legacy target type associated with this custom field definition attributes."
              },
              "legacyType": {
                "maxLength": 128,
                "readOnly": true,
                "type": "string",
                "description": "The legacy type associated with this custom field definition attributes."
              },
              "required": {
                "type": "boolean",
                "description": "Whether required applies to this custom field definition attributes."
              },
              "targetType": {
                "enum": [
                  "contact",
                  "project",
                  "projectJournalEntry",
                  "task",
                  "unsupported"
                ],
                "type": "string",
                "description": "Canonical type of the target resource."
              },
              "title": {
                "maxLength": 500,
                "type": "string",
                "description": "Human-readable title of the resource."
              },
              "updatedAt": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ],
                "description": "Timestamp of the most recent successful update."
              }
            },
            "required": [
              "archived",
              "compatibility",
              "configuration",
              "createdAt",
              "defaultEnabled",
              "description",
              "fieldType",
              "required",
              "targetType",
              "title",
              "updatedAt"
            ],
            "type": "object",
            "description": "The attributes associated with this custom field definition."
          },
          "id": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string",
            "description": "Stable TeamGrid identifier for this resource."
          },
          "type": {
            "const": "customFieldDefinition",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "attributes",
          "id",
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field definition."
      },
      "CustomFieldDefinitionConfiguration": {
        "oneOf": [
          {
            "$ref": "#/$defs/CustomFieldContactConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldDateConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldDropdownConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldNumberConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldProjectConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldSwitcherConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldTagConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldTextConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldTextareaConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldUserConfiguration"
          },
          {
            "$ref": "#/$defs/CustomFieldUnsupportedConfiguration"
          }
        ],
        "description": "Public API representation of custom field definition configuration."
      },
      "CustomFieldContactConfiguration": {
        "additionalProperties": false,
        "properties": {
          "groupId": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string",
            "description": "Identifier of the related workspace group."
          },
          "multi": {
            "type": "boolean",
            "description": "Whether multi applies to this custom field contact configuration."
          },
          "placeholder": {
            "maxLength": 500,
            "type": "string",
            "description": "The placeholder associated with this custom field contact configuration."
          },
          "type": {
            "const": "contact",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field contact configuration."
      },
      "CustomFieldDateConfiguration": {
        "additionalProperties": false,
        "properties": {
          "placeholder": {
            "maxLength": 500,
            "type": "string",
            "description": "The placeholder associated with this custom field date configuration."
          },
          "type": {
            "const": "date",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field date configuration."
      },
      "CustomFieldDropdownConfiguration": {
        "additionalProperties": false,
        "properties": {
          "multi": {
            "type": "boolean",
            "description": "Whether multi applies to this custom field dropdown configuration."
          },
          "options": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "label": {
                  "maxLength": 500,
                  "minLength": 1,
                  "type": "string",
                  "description": "The label associated with this custom field dropdown configuration options."
                },
                "value": {
                  "maxLength": 500,
                  "minLength": 1,
                  "type": "string",
                  "description": "Canonical value represented by this field."
                }
              },
              "required": [
                "label",
                "value"
              ],
              "type": "object"
            },
            "maxItems": 200,
            "type": "array",
            "description": "The options associated with this custom field dropdown configuration."
          },
          "placeholder": {
            "maxLength": 500,
            "type": "string",
            "description": "The placeholder associated with this custom field dropdown configuration."
          },
          "type": {
            "const": "dropdown",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "options",
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field dropdown configuration."
      },
      "CustomFieldNumberConfiguration": {
        "additionalProperties": false,
        "properties": {
          "decimalSeparator": {
            "type": "boolean",
            "description": "Whether decimal separator applies to this custom field number configuration."
          },
          "max": {
            "type": "number",
            "description": "The max associated with this custom field number configuration."
          },
          "min": {
            "type": "number",
            "description": "The min associated with this custom field number configuration."
          },
          "placeholder": {
            "maxLength": 500,
            "type": "string",
            "description": "The placeholder associated with this custom field number configuration."
          },
          "thousandSeparator": {
            "type": "boolean",
            "description": "Whether thousand separator applies to this custom field number configuration."
          },
          "unit": {
            "maxLength": 100,
            "type": "string",
            "description": "The unit associated with this custom field number configuration."
          },
          "type": {
            "const": "number",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field number configuration."
      },
      "CustomFieldProjectConfiguration": {
        "additionalProperties": false,
        "properties": {
          "multi": {
            "type": "boolean",
            "description": "Whether multi applies to this custom field project configuration."
          },
          "placeholder": {
            "maxLength": 500,
            "type": "string",
            "description": "The placeholder associated with this custom field project configuration."
          },
          "type": {
            "const": "project",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field project configuration."
      },
      "CustomFieldSwitcherConfiguration": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "switcher",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field switcher configuration."
      },
      "CustomFieldTagConfiguration": {
        "additionalProperties": false,
        "properties": {
          "multi": {
            "type": "boolean",
            "description": "Whether multi applies to this custom field tag configuration."
          },
          "placeholder": {
            "maxLength": 500,
            "type": "string",
            "description": "The placeholder associated with this custom field tag configuration."
          },
          "type": {
            "const": "tag",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field tag configuration."
      },
      "CustomFieldTextConfiguration": {
        "additionalProperties": false,
        "properties": {
          "maxChars": {
            "maximum": 100000,
            "minimum": 1,
            "type": "integer",
            "description": "The max chars associated with this custom field text configuration."
          },
          "placeholder": {
            "maxLength": 500,
            "type": "string",
            "description": "The placeholder associated with this custom field text configuration."
          },
          "type": {
            "const": "text",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field text configuration."
      },
      "CustomFieldTextareaConfiguration": {
        "additionalProperties": false,
        "properties": {
          "maxChars": {
            "maximum": 100000,
            "minimum": 1,
            "type": "integer",
            "description": "The max chars associated with this custom field textarea configuration."
          },
          "placeholder": {
            "maxLength": 500,
            "type": "string",
            "description": "The placeholder associated with this custom field textarea configuration."
          },
          "type": {
            "const": "textarea",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field textarea configuration."
      },
      "CustomFieldUserConfiguration": {
        "additionalProperties": false,
        "properties": {
          "multi": {
            "type": "boolean",
            "description": "Whether multi applies to this custom field user configuration."
          },
          "placeholder": {
            "maxLength": 500,
            "type": "string",
            "description": "The placeholder associated with this custom field user configuration."
          },
          "type": {
            "const": "user",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field user configuration."
      },
      "CustomFieldUnsupportedConfiguration": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "unsupported",
            "type": "string",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Public API representation of custom field unsupported configuration."
      }
    }
  },
  "profileOutputSchemas": {},
  "exposure": "gated-write",
  "apiOperations": [
    {
      "href": "/api/v1/reference/operations/createcustomfielddefinition/",
      "method": "POST",
      "operationId": "createCustomFieldDefinition",
      "path": "/custom-field-definitions"
    }
  ],
  "availableIn": [
    "full",
    "catalog-write"
  ],
  "baseProfile": "full",
  "description": "Create a custom-field definition. Changes the selected workspace under current API permissions. Reuse the same idempotencyKey and payload for the same intent.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "workspaceId": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "Workspace returned by teamgrid_workspace_get and selected for this exact action."
      },
      "idempotencyKey": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[\\x21-\\x7e]+$",
        "description": "Stable key for this exact intent. Retain and reuse the same key and payload after a timeout; a timeout does not prove failure."
      },
      "data": {
        "additionalProperties": false,
        "description": "The configuration discriminator must equal fieldType.",
        "properties": {
          "configuration": {
            "oneOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "groupId": {
                    "maxLength": 128,
                    "minLength": 1,
                    "type": "string",
                    "description": "Identifier of the related workspace group."
                  },
                  "multi": {
                    "type": "boolean",
                    "description": "Whether multi applies to this custom field contact configuration."
                  },
                  "placeholder": {
                    "maxLength": 500,
                    "type": "string",
                    "description": "The placeholder associated with this custom field contact configuration."
                  },
                  "type": {
                    "const": "contact",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field contact configuration."
              },
              {
                "additionalProperties": false,
                "properties": {
                  "placeholder": {
                    "maxLength": 500,
                    "type": "string",
                    "description": "The placeholder associated with this custom field date configuration."
                  },
                  "type": {
                    "const": "date",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field date configuration."
              },
              {
                "additionalProperties": false,
                "properties": {
                  "multi": {
                    "type": "boolean",
                    "description": "Whether multi applies to this custom field dropdown configuration."
                  },
                  "options": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "label": {
                          "maxLength": 500,
                          "minLength": 1,
                          "type": "string",
                          "description": "The label associated with this custom field dropdown configuration options."
                        },
                        "value": {
                          "maxLength": 500,
                          "minLength": 1,
                          "type": "string",
                          "description": "Canonical value represented by this field."
                        }
                      },
                      "required": [
                        "label",
                        "value"
                      ],
                      "type": "object"
                    },
                    "maxItems": 200,
                    "minItems": 1,
                    "type": "array",
                    "description": "The options associated with this custom field dropdown configuration."
                  },
                  "placeholder": {
                    "maxLength": 500,
                    "type": "string",
                    "description": "The placeholder associated with this custom field dropdown configuration."
                  },
                  "type": {
                    "const": "dropdown",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "options",
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field dropdown configuration."
              },
              {
                "additionalProperties": false,
                "properties": {
                  "decimalSeparator": {
                    "type": "boolean",
                    "description": "Whether decimal separator applies to this custom field number configuration."
                  },
                  "max": {
                    "type": "number",
                    "description": "The max associated with this custom field number configuration."
                  },
                  "min": {
                    "type": "number",
                    "description": "The min associated with this custom field number configuration."
                  },
                  "placeholder": {
                    "maxLength": 500,
                    "type": "string",
                    "description": "The placeholder associated with this custom field number configuration."
                  },
                  "thousandSeparator": {
                    "type": "boolean",
                    "description": "Whether thousand separator applies to this custom field number configuration."
                  },
                  "unit": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The unit associated with this custom field number configuration."
                  },
                  "type": {
                    "const": "number",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field number configuration."
              },
              {
                "additionalProperties": false,
                "properties": {
                  "multi": {
                    "type": "boolean",
                    "description": "Whether multi applies to this custom field project configuration."
                  },
                  "placeholder": {
                    "maxLength": 500,
                    "type": "string",
                    "description": "The placeholder associated with this custom field project configuration."
                  },
                  "type": {
                    "const": "project",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field project configuration."
              },
              {
                "additionalProperties": false,
                "properties": {
                  "type": {
                    "const": "switcher",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field switcher configuration."
              },
              {
                "additionalProperties": false,
                "properties": {
                  "multi": {
                    "type": "boolean",
                    "description": "Whether multi applies to this custom field tag configuration."
                  },
                  "placeholder": {
                    "maxLength": 500,
                    "type": "string",
                    "description": "The placeholder associated with this custom field tag configuration."
                  },
                  "type": {
                    "const": "tag",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field tag configuration."
              },
              {
                "additionalProperties": false,
                "properties": {
                  "maxChars": {
                    "maximum": 100000,
                    "minimum": 1,
                    "type": "integer",
                    "description": "The max chars associated with this custom field text configuration."
                  },
                  "placeholder": {
                    "maxLength": 500,
                    "type": "string",
                    "description": "The placeholder associated with this custom field text configuration."
                  },
                  "type": {
                    "const": "text",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field text configuration."
              },
              {
                "additionalProperties": false,
                "properties": {
                  "maxChars": {
                    "maximum": 100000,
                    "minimum": 1,
                    "type": "integer",
                    "description": "The max chars associated with this custom field textarea configuration."
                  },
                  "placeholder": {
                    "maxLength": 500,
                    "type": "string",
                    "description": "The placeholder associated with this custom field textarea configuration."
                  },
                  "type": {
                    "const": "textarea",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field textarea configuration."
              },
              {
                "additionalProperties": false,
                "properties": {
                  "multi": {
                    "type": "boolean",
                    "description": "Whether multi applies to this custom field user configuration."
                  },
                  "placeholder": {
                    "maxLength": 500,
                    "type": "string",
                    "description": "The placeholder associated with this custom field user configuration."
                  },
                  "type": {
                    "const": "user",
                    "type": "string",
                    "description": "Canonical type discriminator for this resource."
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "description": "Public API representation of custom field user configuration."
              }
            ],
            "description": "Type-specific, validated configuration for this resource."
          },
          "defaultEnabled": {
            "type": "boolean",
            "description": "Whether default enabled applies to this custom field definition."
          },
          "description": {
            "maxLength": 5000,
            "type": "string",
            "description": "Human-readable description of the resource."
          },
          "required": {
            "type": "boolean",
            "description": "Whether required applies to this custom field definition."
          },
          "title": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string",
            "description": "Human-readable title of the resource."
          },
          "fieldType": {
            "enum": [
              "contact",
              "date",
              "dropdown",
              "number",
              "project",
              "switcher",
              "tag",
              "text",
              "textarea",
              "user"
            ],
            "type": "string",
            "description": "Canonical type used to validate and interpret the custom field."
          },
          "targetType": {
            "enum": [
              "contact",
              "project",
              "projectJournalEntry",
              "task"
            ],
            "type": "string",
            "description": "Canonical type of the target resource."
          }
        },
        "required": [
          "configuration",
          "fieldType",
          "targetType",
          "title"
        ],
        "type": "object"
      }
    },
    "required": [
      "workspaceId",
      "idempotencyKey",
      "data"
    ],
    "additionalProperties": false
  },
  "profileInputSchemas": {},
  "name": "teamgrid_custom_field_definition_create",
  "scopes": {
    "optional": [],
    "conditional": [],
    "required": [
      "custom-field-definitions:write",
      "workspace:read"
    ]
  },
  "security": {
    "classification": "workspace-mutation",
    "summary": "This changes workspace state and may trigger business or external effects. Use its exact scope, revision and idempotency contract; profile selection grants no authority."
  },
  "output": {
    "format": "A compact mutation receipt includes target and revision when available; outcome metadata distinguishes accepted, complete, partial and uncertain results.",
    "kind": "mutation-receipt",
    "maxSerializedBytes": 262144,
    "pagination": null,
    "redactions": [],
    "searchLimit": null
  },
  "examplePrompt": "Prepare a teamgrid_custom_field_definition_create operation for my chosen target. Resolve IDs, read current state and revisions, show the intended change, then report its confirmed or uncertain outcome without automatic retries.",
  "typicalErrors": [
    {
      "condition": "The selected tool profile or allow/deny filter excludes `teamgrid_custom_field_definition_create`.",
      "result": "The tool is not advertised to the host. Select the narrowest profile that contains it and restart the host."
    },
    {
      "condition": "An argument violates this tool’s input schema: required field, type, enum, pattern, length, or range.",
      "result": "MCP input validation rejects the call before an API request is made."
    },
    {
      "condition": "The credential lacks `custom-field-definitions:write` and `workspace:read` or cannot access the requested resource.",
      "result": "The tool preserves a safe API error code such as `insufficient_scope`, with redacted detail and available status/request metadata."
    },
    {
      "condition": "The connection ends while awaiting the write result.",
      "result": "Inspect the outcome and status/resume information. An interrupted wait does not prove rollback; never blindly repeat the write."
    },
    {
      "condition": "An unknown input property is supplied.",
      "result": "The strict input schema rejects the call before an API request is made."
    }
  ]
}
