Fields - Content Type API - Documentation topics on: content type api,fields,rest api,.

This documentation is a static copy for this version. For current documentation, see: http://dotcms.com/docs/latest

Fields - Content Type API

You can use the dotCMS REST API to manage fields on Content Types, performing many of the same operations that are documented in the Content Type Fields documentation.

List All Fields

GET /v1/contenttype/{typeId}/fields

List all fields of given content type (must supply the content type id and the field id):

curl -v -u admin@dotcms.com:admin -XGET http://localhost:8080/api/v1/contenttype/ddf29c1e-babd-40a8-bfed-920fc9b8c77f/fields

Note: To see the properties of a Content Type and Content Type fields, see the JSON View - Content Types documentation.

Get a Field by ID

GET /v1/contenttype/{typeId}/fields/id/{fieldID}

The following example retrieves a specific field by ID, and returns all the properties of the field:

curl -v -u admin@dotcms.com:admin -XGET http://localhost:8080/api/v1/contenttype/ddf29c1e-babd-40a8-bfed-920fc9b8c77f/fields/id/baf97686-348e-480e-9fc5-3216339b35b8

Get Field by Variable

GET /v1/contenttype/{typeId}/fields/var/{fieldVar}

The following example retrieves a specific field by Variable, and returns all the properties of the field:

curl -v -u admin@dotcms.com:admin -XGET http://localhost:8080/api/v1/contenttype/ddf29c1e-babd-40a8-bfed-920fc9b8c77f/fields/var/firstName

Create Field

POST /v1/contenttype/{typeId}/fields (JSON object also needs to be defined - see special note below)

The following command creates a new field, using the bodyCreate.json file, which includes all the properties required to create the field:

curl -v -u admin@dotcms.com:admin -XPOST http://localhost:8080/api/v1/contenttype/ddf29c1e-babd-40a8-bfed-920fc9b8c77f/fields -H "Content-Type: application/json" --data @bodyCreate.json

Special Note:

The command above refers passes a file called bodyCreate.json which contains the following field properties in order to create a text field on the specified Content Type. The contents of the bodyCreate.json file are shown below:

  
{
    "clazz" : "com.dotcms.contenttype.model.field.ImmutableTextField",
    "contentTypeId" : "ddf29c1e-babd-40a8-bfed-920fc9b8c77f",
    "dataType" : "TEXT",
    "name" : "The Field 1",

    "defaultValue" : "THE DEFAULT VALUE",
    "regexCheck" : "THE VALIDATION REGEX",
    "hint" : "THE HINT",

    "sortOrder" : 11,
    "readOnly" : "false",
    "fixed" : "false",

    "required" : "true",
    "searchable" : "true",
    "indexed" : "true",
    "listed" : "true",
    "unique" : "false"
}

The json object properties of any field can be seen by examining the json view link when editing a Content Type.

Update Existing Field by ID {#updateExistingFieldByID}

PUT /v1/contenttype/{typeId}/fields/id/{fieldID}

The following command updates an existing field (by ID), using the bodyUpdate.json file to define the json object required to update the field's properties.

curl -v -u admin@dotcms.com:admin -XPUT http://localhost:8080/api/v1/contenttype/ddf29c1e-babd-40a8-bfed-920fc9b8c77f/fields/id/9f31618d-418d-4af8-a554-490ab0d93f5d -H "Content-Type: application/json" --data @bodyUpdate.json

Special Note:

The command above refers passes a file called bodyUpdate.json which contains the following field properties in order to Update a text field on the specified Content Type. The contents of the bodyUpdate.json file are shown below:

  
{
    "clazz" : "com.dotcms.contenttype.model.field.ImmutableTextField",
    "contentTypeId" : "ddf29c1e-babd-40a8-bfed-920fc9b8c77f",
    "dataType" : "TEXT",
    "name" : "The Field 2",

    "id" : "9f31618d-418d-4af8-a554-490ab0d93f5d",
    "sortOrder":"12",
    "variable" : "theField1",

    "defaultValue" : "THE DEFAULT VALUE 2",
    "regexCheck" : "THE VALIDATION REGEX 2",
    "hint" : "THE HINT 2",

    "required" : "false",
    "searchable" : "false",
    "indexed" : "false",
    "listed" : "false",
    "unique" : "false"
}

The json object properties of any field can be seen by examining the json view link when editing a Content Type.

Delete Field by ID

DELETE /v1/contenttype/{typeId}/fields/id/{fieldID}

The following command deletes the field specified by identifier, from the specified Content Type (by identifier).

Example:

curl -v -u admin@dotcms.com:admin -XDELETE http://localhost:8080/api/v1/contenttype/ddf29c1e-babd-40a8-bfed-920fc9b8c77f/fields/id/9f31618d-418d-4af8-a554-490ab0d93f5d

Delete Field by Variable

DELETE /v1/contenttype/{typeId}/fields/var/{fieldVar}

The following command deletes the field specified by variable, from the specified Content Type (by identifier).

Example:

curl -v -u admin@dotcms.com:admin -XDELETE http://localhost:8080/api/v1/contenttype/ddf29c1e-babd-40a8-bfed-920fc9b8c77f/fields/var/theField1