Contentful

App · Website Builders · 20 actions

Manage content in Contentful: create and publish content types, entries and media assets, and read back what is already there. Content types define the schema; entries hold the content; assets hold the media.

Actions

ActionWhat it does
Activate content typePublish (activate) a content type.
Create assetCreate an asset from a URL - Contentful downloads the file itself, so no bytes are uploaded through this step.
Create content typeCreate a content type - the schema entries of this type will follow.
Create entryCreate an entry of a content type.
Deactivate content typeUnpublish (deactivate) a content type.
Delete assetDelete an asset permanently.
Delete content typeDelete a content type permanently.
Delete entryDelete an entry permanently.
Get assetRead one asset, with its file details per locale.
Get content typeRead one content type in full: its fields, display field and description.
Get entryRead one entry, with its fields wrapped per locale.
List assetsList assets (media files) in this space and environment.
List content typesList the content types defined in this space and environment - the schemas that entries are created from.
List entriesList entries, optionally narrowed to one content type or to text matching a full-text search.
List localesList the locales configured for this environment.
Publish assetPublish an asset, making it live on the Content Delivery API.
Publish entryPublish an entry, making it live on the Content Delivery API.
Unpublish assetUnpublish an asset.
Unpublish entryUnpublish an entry.
Update entryReplace an entry's fields.

Activate content type

Publish (activate) a content type. Entries of this type cannot be created until it is activated.

Inputs

Content type IDcontent_type_idtextRequired
The content type to act on, from 'List content types'.

Outputs

descriptiontext
displayFieldtext
fieldslist
nametext
sysobject
Example output
{
  "description": "A blog post",
  "displayField": "title",
  "fields": [
    {
      "id": "title",
      "name": "Title",
      "required": true,
      "type": "Symbol"
    }
  ],
  "name": "Blog Post",
  "sys": {
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "blogPost",
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "ContentType",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Create asset

Create an asset from a URL - Contentful downloads the file itself, so no bytes are uploaded through this step. After creating it, this triggers Contentful's file processing and waits briefly for it to finish; processing is asynchronous, so a very large file may still be processing when this returns - check 'processingComplete' on the result, or run 'Get asset' again later. Leave locale empty to use the environment's default locale. Give an asset ID to choose it yourself.

Inputs

TitletitletextRequired
The asset's title, shown in the Contentful web app.
File namefile_nametextRequired
The file name to store, such as 'photo.jpg'.
File MIME typecontent_typetextRequired
The file's MIME type, such as 'image/png' or 'application/pdf'.
File URLupload_urltextRequired
A URL Contentful will download the file's bytes from.
Descriptiondescriptiontext
A description of the asset.
Localelocaletext
The locale to store the file under. Leave empty for the environment's default.
Asset IDasset_idtext
A specific id for the asset. Leave empty to let Contentful generate one.

Outputs

fieldsobject
processingCompletetrue/false
sysobject
Example output
{
  "fields": {
    "file": {
      "en-US": {
        "contentType": "image/jpeg",
        "details": {
          "size": 12345
        },
        "fileName": "sample.jpg",
        "url": "//images.ctfassets.net/abc123space/5b6c/sample.jpg"
      }
    },
    "title": {
      "en-US": "Sample image"
    }
  },
  "processingComplete": true,
  "sys": {
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "5b6c7d8e9f0a1b2c3d4e5f6a",
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "Asset",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Create content type

Create a content type - the schema entries of this type will follow. Fields is a JSON array of field definitions, each needing an 'id', a 'name' and a 'type' (Symbol, Text, Integer, Number, Boolean, Date, Location, Object, Link, Array or RichText); a Link field also needs 'linkType' (Entry or Asset), and an Array field also needs an 'items' object naming the type each element holds. Give a content type ID to choose it yourself; leave it empty to let Contentful assign one. The content type must be activated before entries of it can be created - see 'Activate content type'.

Inputs

NamenametextRequired
The content type's name, shown in the Contentful web app.
FieldsfieldslistRequired
A JSON array of field definitions, e.g. [{"id": "title", "name": "Title", "type": "Symbol", "required": true}].
Descriptiondescriptiontext
What this content type is for.
Display fielddisplay_fieldtext
The id of the field shown as an entry's title in the Contentful web app. Must be one of the ids in 'fields'.
Content type IDcontent_type_idtext
A specific id for the content type, letters, numbers, underscores and dots only. Leave empty to let Contentful generate one.

Outputs

descriptiontext
displayFieldtext
fieldslist
nametext
sysobject
Example output
{
  "description": "A blog post",
  "displayField": "title",
  "fields": [
    {
      "id": "title",
      "name": "Title",
      "required": true,
      "type": "Symbol"
    }
  ],
  "name": "Blog Post",
  "sys": {
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "blogPost",
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "ContentType",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Create entry

Create an entry of a content type. The content type must already be activated. Give an entry ID to choose it yourself; leave it empty to let Contentful assign one.

Inputs

Content type IDcontent_type_idtextRequired
The content type to act on, from 'List content types'.
FieldsfieldsobjectRequired
The entry's fields, wrapped per locale, exactly as Contentful stores them - for example {"title": {"en-US": "Hello"}}. Field names must match the content type's model.
Entry IDentry_idtext
A specific id for the entry. Leave empty to let Contentful generate one.

Outputs

fieldsobject
sysobject
Example output
{
  "fields": {
    "title": {
      "en-US": "Hello, Contentful"
    }
  },
  "sys": {
    "contentType": {
      "sys": {
        "id": "blogPost",
        "linkType": "ContentType",
        "type": "Link"
      }
    },
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "4a5b6c7d8e9f0a1b2c3d4e5f",
    "publishedAt": "2026-02-02T16:41:08.000Z",
    "publishedVersion": 2,
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "Entry",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Deactivate content type

Unpublish (deactivate) a content type. Every entry of this content type must already be deleted, and this must run before the content type itself can be deleted.

Inputs

Content type IDcontent_type_idtextRequired
The content type to act on, from 'List content types'.

Outputs

descriptiontext
displayFieldtext
fieldslist
nametext
sysobject
Example output
{
  "description": "A blog post",
  "displayField": "title",
  "fields": [
    {
      "id": "title",
      "name": "Title",
      "required": true,
      "type": "Symbol"
    }
  ],
  "name": "Blog Post",
  "sys": {
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "blogPost",
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "ContentType",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Delete asset

Delete an asset permanently. Must be unpublished first.

Inputs

Asset IDasset_idtextRequired
The asset to act on, from 'List assets' or 'Get asset'.

Outputs

deletedtrue/false
idtext
resourcetext
Example output
{
  "deleted": true,
  "id": "5b6c7d8e9f0a1b2c3d4e5f6a",
  "resource": "asset"
}

Delete content type

Delete a content type permanently. It must already be deactivated - see 'Deactivate content type' - with every one of its entries deleted.

Inputs

Content type IDcontent_type_idtextRequired
The content type to act on, from 'List content types'.

Outputs

deletedtrue/false
idtext
resourcetext
Example output
{
  "deleted": true,
  "id": "blogPost",
  "resource": "content_type"
}

Delete entry

Delete an entry permanently. Must be unpublished first.

Inputs

Entry IDentry_idtextRequired
The entry to act on, from 'List entries' or 'Get entry'.

Outputs

deletedtrue/false
idtext
resourcetext
Example output
{
  "deleted": true,
  "id": "4a5b6c7d8e9f0a1b2c3d4e5f",
  "resource": "entry"
}

Get asset

Read one asset, with its file details per locale.

Inputs

Asset IDasset_idtextRequired
The asset to act on, from 'List assets' or 'Get asset'.

Outputs

fieldsobject
processingCompletetrue/false
sysobject
Example output
{
  "fields": {
    "file": {
      "en-US": {
        "contentType": "image/jpeg",
        "details": {
          "size": 12345
        },
        "fileName": "sample.jpg",
        "url": "//images.ctfassets.net/abc123space/5b6c/sample.jpg"
      }
    },
    "title": {
      "en-US": "Sample image"
    }
  },
  "processingComplete": true,
  "sys": {
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "5b6c7d8e9f0a1b2c3d4e5f6a",
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "Asset",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Get content type

Read one content type in full: its fields, display field and description.

Inputs

Content type IDcontent_type_idtextRequired
The content type to act on, from 'List content types'.

Outputs

descriptiontext
displayFieldtext
fieldslist
nametext
sysobject
Example output
{
  "description": "A blog post",
  "displayField": "title",
  "fields": [
    {
      "id": "title",
      "name": "Title",
      "required": true,
      "type": "Symbol"
    }
  ],
  "name": "Blog Post",
  "sys": {
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "blogPost",
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "ContentType",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Get entry

Read one entry, with its fields wrapped per locale.

Inputs

Entry IDentry_idtextRequired
The entry to act on, from 'List entries' or 'Get entry'.

Outputs

fieldsobject
sysobject
Example output
{
  "fields": {
    "title": {
      "en-US": "Hello, Contentful"
    }
  },
  "sys": {
    "contentType": {
      "sys": {
        "id": "blogPost",
        "linkType": "ContentType",
        "type": "Link"
      }
    },
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "4a5b6c7d8e9f0a1b2c3d4e5f",
    "publishedAt": "2026-02-02T16:41:08.000Z",
    "publishedVersion": 2,
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "Entry",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

List assets

List assets (media files) in this space and environment.

Inputs

Queryquerytext
Only assets whose text matches this full-text search.
Limitlimitnumber
How many to return, 1-100. Defaults to 25.From 1 to 100. Default: 25.
Skipskipnumber
How many records to skip, for paging past the first page.At least 0. Default: 0.

Outputs

The assets

has_moretrue/false
Whether another page exists past this one
itemslist
limitnumber
The page size used
skipnumber
How many were skipped
totalnumber
Total matching records
Example output
{
  "has_more": false,
  "items": [
    {
      "fields": {
        "file": {
          "en-US": {
            "contentType": "image/jpeg",
            "details": {
              "size": 12345
            },
            "fileName": "sample.jpg",
            "url": "//images.ctfassets.net/abc123space/5b6c/sample.jpg"
          }
        },
        "title": {
          "en-US": "Sample image"
        }
      },
      "processingComplete": true,
      "sys": {
        "createdAt": "2026-01-14T09:12:44.000Z",
        "environment": {
          "sys": {
            "id": "master",
            "linkType": "Environment",
            "type": "Link"
          }
        },
        "id": "5b6c7d8e9f0a1b2c3d4e5f6a",
        "space": {
          "sys": {
            "id": "abc123space",
            "linkType": "Space",
            "type": "Link"
          }
        },
        "type": "Asset",
        "updatedAt": "2026-02-02T16:41:08.000Z",
        "version": 3
      }
    }
  ],
  "limit": 25,
  "skip": 0,
  "total": 1
}

List content types

List the content types defined in this space and environment - the schemas that entries are created from. Each one reports its id, name, description, display field and field definitions.

Inputs

Limitlimitnumber
How many to return, 1-100. Defaults to 25.From 1 to 100. Default: 25.
Skipskipnumber
How many records to skip, for paging past the first page.At least 0. Default: 0.

Outputs

The content types

has_moretrue/false
Whether another page exists past this one
itemslist
limitnumber
The page size used
skipnumber
How many were skipped
totalnumber
Total matching records
Example output
{
  "has_more": false,
  "items": [
    {
      "description": "A blog post",
      "displayField": "title",
      "fields": [
        {
          "id": "title",
          "name": "Title",
          "required": true,
          "type": "Symbol"
        }
      ],
      "name": "Blog Post",
      "sys": {
        "createdAt": "2026-01-14T09:12:44.000Z",
        "environment": {
          "sys": {
            "id": "master",
            "linkType": "Environment",
            "type": "Link"
          }
        },
        "id": "blogPost",
        "space": {
          "sys": {
            "id": "abc123space",
            "linkType": "Space",
            "type": "Link"
          }
        },
        "type": "ContentType",
        "updatedAt": "2026-02-02T16:41:08.000Z",
        "version": 3
      }
    }
  ],
  "limit": 25,
  "skip": 0,
  "total": 1
}

List entries

List entries, optionally narrowed to one content type or to text matching a full-text search.

Inputs

Content type IDcontent_typetext
Only entries of this content type. Leave empty for all types.
Queryquerytext
Only entries whose text matches this full-text search.
Orderordertext
A field to sort by, such as 'sys.createdAt' or '-sys.createdAt' for newest first.
Limitlimitnumber
How many to return, 1-100. Defaults to 25.From 1 to 100. Default: 25.
Skipskipnumber
How many records to skip, for paging past the first page.At least 0. Default: 0.

Outputs

The entries

has_moretrue/false
Whether another page exists past this one
itemslist
limitnumber
The page size used
skipnumber
How many were skipped
totalnumber
Total matching records
Example output
{
  "has_more": false,
  "items": [
    {
      "fields": {
        "title": {
          "en-US": "Hello, Contentful"
        }
      },
      "sys": {
        "contentType": {
          "sys": {
            "id": "blogPost",
            "linkType": "ContentType",
            "type": "Link"
          }
        },
        "createdAt": "2026-01-14T09:12:44.000Z",
        "environment": {
          "sys": {
            "id": "master",
            "linkType": "Environment",
            "type": "Link"
          }
        },
        "id": "4a5b6c7d8e9f0a1b2c3d4e5f",
        "publishedAt": "2026-02-02T16:41:08.000Z",
        "publishedVersion": 2,
        "space": {
          "sys": {
            "id": "abc123space",
            "linkType": "Space",
            "type": "Link"
          }
        },
        "type": "Entry",
        "updatedAt": "2026-02-02T16:41:08.000Z",
        "version": 3
      }
    }
  ],
  "limit": 25,
  "skip": 0,
  "total": 1
}

List locales

List the locales configured for this environment. Every entry and asset field is stored per locale, and exactly one locale here is marked 'default'.

Inputs

None.

Outputs

The environment's locales

countnumber
How many were returned
itemslist
Example output
{
  "count": 1,
  "items": [
    {
      "code": "en-US",
      "contentDeliveryApi": true,
      "contentManagementApi": true,
      "default": true,
      "fallbackCode": null,
      "name": "English (United States)",
      "optional": false
    }
  ]
}

Publish asset

Publish an asset, making it live on the Content Delivery API. The file must already be processed (have a URL) - 'Create asset' does this automatically.

Inputs

Asset IDasset_idtextRequired
The asset to act on, from 'List assets' or 'Get asset'.

Outputs

fieldsobject
processingCompletetrue/false
sysobject
Example output
{
  "fields": {
    "file": {
      "en-US": {
        "contentType": "image/jpeg",
        "details": {
          "size": 12345
        },
        "fileName": "sample.jpg",
        "url": "//images.ctfassets.net/abc123space/5b6c/sample.jpg"
      }
    },
    "title": {
      "en-US": "Sample image"
    }
  },
  "processingComplete": true,
  "sys": {
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "5b6c7d8e9f0a1b2c3d4e5f6a",
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "Asset",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Publish entry

Publish an entry, making it live on the Content Delivery API.

Inputs

Entry IDentry_idtextRequired
The entry to act on, from 'List entries' or 'Get entry'.

Outputs

fieldsobject
sysobject
Example output
{
  "fields": {
    "title": {
      "en-US": "Hello, Contentful"
    }
  },
  "sys": {
    "contentType": {
      "sys": {
        "id": "blogPost",
        "linkType": "ContentType",
        "type": "Link"
      }
    },
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "4a5b6c7d8e9f0a1b2c3d4e5f",
    "publishedAt": "2026-02-02T16:41:08.000Z",
    "publishedVersion": 2,
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "Entry",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Unpublish asset

Unpublish an asset. Required before it can be deleted.

Inputs

Asset IDasset_idtextRequired
The asset to act on, from 'List assets' or 'Get asset'.

Outputs

fieldsobject
processingCompletetrue/false
sysobject
Example output
{
  "fields": {
    "file": {
      "en-US": {
        "contentType": "image/jpeg",
        "details": {
          "size": 12345
        },
        "fileName": "sample.jpg",
        "url": "//images.ctfassets.net/abc123space/5b6c/sample.jpg"
      }
    },
    "title": {
      "en-US": "Sample image"
    }
  },
  "processingComplete": true,
  "sys": {
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "5b6c7d8e9f0a1b2c3d4e5f6a",
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "Asset",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Unpublish entry

Unpublish an entry. Required before it can be deleted.

Inputs

Entry IDentry_idtextRequired
The entry to act on, from 'List entries' or 'Get entry'.

Outputs

fieldsobject
sysobject
Example output
{
  "fields": {
    "title": {
      "en-US": "Hello, Contentful"
    }
  },
  "sys": {
    "contentType": {
      "sys": {
        "id": "blogPost",
        "linkType": "ContentType",
        "type": "Link"
      }
    },
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "4a5b6c7d8e9f0a1b2c3d4e5f",
    "publishedAt": "2026-02-02T16:41:08.000Z",
    "publishedVersion": 2,
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "Entry",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

Update entry

Replace an entry's fields. This replaces the whole fields object rather than merging - include every field you want to keep, not only the ones changing.

Inputs

Entry IDentry_idtextRequired
The entry to act on, from 'List entries' or 'Get entry'.
FieldsfieldsobjectRequired
The entry's fields, wrapped per locale, exactly as Contentful stores them - for example {"title": {"en-US": "Hello"}}. Field names must match the content type's model.

Outputs

fieldsobject
sysobject
Example output
{
  "fields": {
    "title": {
      "en-US": "Hello, Contentful"
    }
  },
  "sys": {
    "contentType": {
      "sys": {
        "id": "blogPost",
        "linkType": "ContentType",
        "type": "Link"
      }
    },
    "createdAt": "2026-01-14T09:12:44.000Z",
    "environment": {
      "sys": {
        "id": "master",
        "linkType": "Environment",
        "type": "Link"
      }
    },
    "id": "4a5b6c7d8e9f0a1b2c3d4e5f",
    "publishedAt": "2026-02-02T16:41:08.000Z",
    "publishedVersion": 2,
    "space": {
      "sys": {
        "id": "abc123space",
        "linkType": "Space",
        "type": "Link"
      }
    },
    "type": "Entry",
    "updatedAt": "2026-02-02T16:41:08.000Z",
    "version": 3
  }
}

On this page