[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-contentful-contentful-api":3,"mdc--4p4tj2-key":36,"related-repo-contentful-contentful-api":584,"related-org-contentful-contentful-api":669},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":31,"sourceUrl":34,"mdContent":35},"contentful-api","integrate Contentful REST and GraphQL APIs","Comprehensive Contentful REST API guide. Covers Content Management API (CMA) for creating\u002Fupdating content, Content Delivery API (CDA) for fetching published content, Preview API, Images API, and GraphQL API. All examples use curl\u002FHTTP — language-agnostic.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"contentful","Contentful","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fcontentful.png",[12,16,19],{"name":13,"slug":14,"type":15},"GraphQL","graphql","tag",{"name":17,"slug":18,"type":15},"CMS","cms",{"name":20,"slug":21,"type":15},"API Development","api-development",36,"https:\u002F\u002Fgithub.com\u002Fcontentful\u002Fskills","2026-07-12T08:47:43.592187",null,2,[28,8,29,30],"agents","optimization","skills",{"repoUrl":23,"stars":22,"forks":26,"topics":32,"description":33},[28,8,29,30],"Skills for teaching agents how to build on Contentful.","https:\u002F\u002Fgithub.com\u002Fcontentful\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fcontentful-api","---\nname: contentful-api\ndescription: Comprehensive Contentful REST API guide. Covers Content Management API (CMA) for creating\u002Fupdating content, Content Delivery API (CDA) for fetching published content, Preview API, Images API, and GraphQL API. All examples use curl\u002FHTTP — language-agnostic.\n---\n\n# Contentful REST API Guide\n\nLanguage-agnostic guide for Contentful APIs using HTTP\u002Fcurl.\n\n## Shared References\n\n- **[Authentication](references\u002Fauthentication.md)** — Token types, auth headers, API base URLs (US\u002FEU)\n- **[HTTP Conventions](references\u002Fhttp-conventions.md)** — Version locking, rate limits, pagination, errors, locale structure\n\n## Content Management API (CMA)\n\nRead\u002Fwrite API for managing content, content types, assets, and environments.\n\n**Start here**: [references\u002Fcontent-management\u002Foverview.md](references\u002Fcontent-management\u002Foverview.md)\n\n- [**entries.md**](references\u002Fcontent-management\u002Fentries.md) — CRUD, publish\u002Funpublish, versioning, query parameters\n- [**content-types.md**](references\u002Fcontent-management\u002Fcontent-types.md) — Define\u002Fupdate content models, field types, validations\n- [**assets.md**](references\u002Fcontent-management\u002Fassets.md) — Upload, process, publish media files\n- [**environments.md**](references\u002Fcontent-management\u002Fenvironments.md) — Create, clone, manage environments and aliases\n\n## Content Delivery API (CDA)\n\nRead-only API for fetching published content.\n\n**Start here**: [references\u002Fcontent-delivery\u002Foverview.md](references\u002Fcontent-delivery\u002Foverview.md)\n\n- [**querying.md**](references\u002Fcontent-delivery\u002Fquerying.md) — Filters, search operators, pagination, ordering\n- [**includes-links.md**](references\u002Fcontent-delivery\u002Fincludes-links.md) — Include parameter, link resolution\n- [**localization.md**](references\u002Fcontent-delivery\u002Flocalization.md) — Locale parameter, fallback chains\n- [**sync.md**](references\u002Fcontent-delivery\u002Fsync.md) — Incremental content synchronization\n\n## Content Preview API\n\nDraft + published content via same CDA endpoints, different host\u002Ftoken.\n\n**Reference**: [references\u002Fcontent-preview\u002Foverview.md](references\u002Fcontent-preview\u002Foverview.md)\n\n## Images API\n\nOn-the-fly image transformations via URL parameters. No authentication needed.\n\n**Reference**: [references\u002Fimages\u002Foverview.md](references\u002Fimages\u002Foverview.md)\n\n## GraphQL API\n\nQuery content via GraphQL with CDA tokens.\n\n**Reference**: [references\u002Fgraphql\u002Foverview.md](references\u002Fgraphql\u002Foverview.md)\n\n## Quick Reference\n\n```bash\n# CMA: Create a draft entry\ncurl -X POST https:\u002F\u002Fapi.contentful.com\u002Fspaces\u002F{space_id}\u002Fenvironments\u002F{env_id}\u002Fentries \\\n  -H \"Authorization: Bearer {cma_token}\" \\\n  -H \"Content-Type: application\u002Fvnd.contentful.management.v1+json\" \\\n  -H \"X-Contentful-Content-Type: blogPost\" \\\n  -d '{\"fields\":{\"title\":{\"en-US\":\"Hello\"}}}'\n# Then publish: PUT ...\u002Fentries\u002F{id}\u002Fpublished with X-Contentful-Version header\n\n# CDA: Fetch entries\ncurl \"https:\u002F\u002Fcdn.contentful.com\u002Fspaces\u002F{space_id}\u002Fenvironments\u002F{env_id}\u002Fentries?content_type=blogPost\" \\\n  -H \"Authorization: Bearer {cda_token}\"\n```\n",{"data":37,"body":38},{"name":4,"description":6},{"type":39,"children":40},"root",[41,50,56,63,98,104,109,124,183,189,194,207,266,272,277,291,297,302,315,321,326,339,345,578],{"type":42,"tag":43,"props":44,"children":46},"element","h1",{"id":45},"contentful-rest-api-guide",[47],{"type":48,"value":49},"text","Contentful REST API Guide",{"type":42,"tag":51,"props":52,"children":53},"p",{},[54],{"type":48,"value":55},"Language-agnostic guide for Contentful APIs using HTTP\u002Fcurl.",{"type":42,"tag":57,"props":58,"children":60},"h2",{"id":59},"shared-references",[61],{"type":48,"value":62},"Shared References",{"type":42,"tag":64,"props":65,"children":66},"ul",{},[67,84],{"type":42,"tag":68,"props":69,"children":70},"li",{},[71,82],{"type":42,"tag":72,"props":73,"children":74},"strong",{},[75],{"type":42,"tag":76,"props":77,"children":79},"a",{"href":78},"references\u002Fauthentication.md",[80],{"type":48,"value":81},"Authentication",{"type":48,"value":83}," — Token types, auth headers, API base URLs (US\u002FEU)",{"type":42,"tag":68,"props":85,"children":86},{},[87,96],{"type":42,"tag":72,"props":88,"children":89},{},[90],{"type":42,"tag":76,"props":91,"children":93},{"href":92},"references\u002Fhttp-conventions.md",[94],{"type":48,"value":95},"HTTP Conventions",{"type":48,"value":97}," — Version locking, rate limits, pagination, errors, locale structure",{"type":42,"tag":57,"props":99,"children":101},{"id":100},"content-management-api-cma",[102],{"type":48,"value":103},"Content Management API (CMA)",{"type":42,"tag":51,"props":105,"children":106},{},[107],{"type":48,"value":108},"Read\u002Fwrite API for managing content, content types, assets, and environments.",{"type":42,"tag":51,"props":110,"children":111},{},[112,117,119],{"type":42,"tag":72,"props":113,"children":114},{},[115],{"type":48,"value":116},"Start here",{"type":48,"value":118},": ",{"type":42,"tag":76,"props":120,"children":122},{"href":121},"references\u002Fcontent-management\u002Foverview.md",[123],{"type":48,"value":121},{"type":42,"tag":64,"props":125,"children":126},{},[127,141,155,169],{"type":42,"tag":68,"props":128,"children":129},{},[130,139],{"type":42,"tag":76,"props":131,"children":133},{"href":132},"references\u002Fcontent-management\u002Fentries.md",[134],{"type":42,"tag":72,"props":135,"children":136},{},[137],{"type":48,"value":138},"entries.md",{"type":48,"value":140}," — CRUD, publish\u002Funpublish, versioning, query parameters",{"type":42,"tag":68,"props":142,"children":143},{},[144,153],{"type":42,"tag":76,"props":145,"children":147},{"href":146},"references\u002Fcontent-management\u002Fcontent-types.md",[148],{"type":42,"tag":72,"props":149,"children":150},{},[151],{"type":48,"value":152},"content-types.md",{"type":48,"value":154}," — Define\u002Fupdate content models, field types, validations",{"type":42,"tag":68,"props":156,"children":157},{},[158,167],{"type":42,"tag":76,"props":159,"children":161},{"href":160},"references\u002Fcontent-management\u002Fassets.md",[162],{"type":42,"tag":72,"props":163,"children":164},{},[165],{"type":48,"value":166},"assets.md",{"type":48,"value":168}," — Upload, process, publish media files",{"type":42,"tag":68,"props":170,"children":171},{},[172,181],{"type":42,"tag":76,"props":173,"children":175},{"href":174},"references\u002Fcontent-management\u002Fenvironments.md",[176],{"type":42,"tag":72,"props":177,"children":178},{},[179],{"type":48,"value":180},"environments.md",{"type":48,"value":182}," — Create, clone, manage environments and aliases",{"type":42,"tag":57,"props":184,"children":186},{"id":185},"content-delivery-api-cda",[187],{"type":48,"value":188},"Content Delivery API (CDA)",{"type":42,"tag":51,"props":190,"children":191},{},[192],{"type":48,"value":193},"Read-only API for fetching published content.",{"type":42,"tag":51,"props":195,"children":196},{},[197,201,202],{"type":42,"tag":72,"props":198,"children":199},{},[200],{"type":48,"value":116},{"type":48,"value":118},{"type":42,"tag":76,"props":203,"children":205},{"href":204},"references\u002Fcontent-delivery\u002Foverview.md",[206],{"type":48,"value":204},{"type":42,"tag":64,"props":208,"children":209},{},[210,224,238,252],{"type":42,"tag":68,"props":211,"children":212},{},[213,222],{"type":42,"tag":76,"props":214,"children":216},{"href":215},"references\u002Fcontent-delivery\u002Fquerying.md",[217],{"type":42,"tag":72,"props":218,"children":219},{},[220],{"type":48,"value":221},"querying.md",{"type":48,"value":223}," — Filters, search operators, pagination, ordering",{"type":42,"tag":68,"props":225,"children":226},{},[227,236],{"type":42,"tag":76,"props":228,"children":230},{"href":229},"references\u002Fcontent-delivery\u002Fincludes-links.md",[231],{"type":42,"tag":72,"props":232,"children":233},{},[234],{"type":48,"value":235},"includes-links.md",{"type":48,"value":237}," — Include parameter, link resolution",{"type":42,"tag":68,"props":239,"children":240},{},[241,250],{"type":42,"tag":76,"props":242,"children":244},{"href":243},"references\u002Fcontent-delivery\u002Flocalization.md",[245],{"type":42,"tag":72,"props":246,"children":247},{},[248],{"type":48,"value":249},"localization.md",{"type":48,"value":251}," — Locale parameter, fallback chains",{"type":42,"tag":68,"props":253,"children":254},{},[255,264],{"type":42,"tag":76,"props":256,"children":258},{"href":257},"references\u002Fcontent-delivery\u002Fsync.md",[259],{"type":42,"tag":72,"props":260,"children":261},{},[262],{"type":48,"value":263},"sync.md",{"type":48,"value":265}," — Incremental content synchronization",{"type":42,"tag":57,"props":267,"children":269},{"id":268},"content-preview-api",[270],{"type":48,"value":271},"Content Preview API",{"type":42,"tag":51,"props":273,"children":274},{},[275],{"type":48,"value":276},"Draft + published content via same CDA endpoints, different host\u002Ftoken.",{"type":42,"tag":51,"props":278,"children":279},{},[280,285,286],{"type":42,"tag":72,"props":281,"children":282},{},[283],{"type":48,"value":284},"Reference",{"type":48,"value":118},{"type":42,"tag":76,"props":287,"children":289},{"href":288},"references\u002Fcontent-preview\u002Foverview.md",[290],{"type":48,"value":288},{"type":42,"tag":57,"props":292,"children":294},{"id":293},"images-api",[295],{"type":48,"value":296},"Images API",{"type":42,"tag":51,"props":298,"children":299},{},[300],{"type":48,"value":301},"On-the-fly image transformations via URL parameters. No authentication needed.",{"type":42,"tag":51,"props":303,"children":304},{},[305,309,310],{"type":42,"tag":72,"props":306,"children":307},{},[308],{"type":48,"value":284},{"type":48,"value":118},{"type":42,"tag":76,"props":311,"children":313},{"href":312},"references\u002Fimages\u002Foverview.md",[314],{"type":48,"value":312},{"type":42,"tag":57,"props":316,"children":318},{"id":317},"graphql-api",[319],{"type":48,"value":320},"GraphQL API",{"type":42,"tag":51,"props":322,"children":323},{},[324],{"type":48,"value":325},"Query content via GraphQL with CDA tokens.",{"type":42,"tag":51,"props":327,"children":328},{},[329,333,334],{"type":42,"tag":72,"props":330,"children":331},{},[332],{"type":48,"value":284},{"type":48,"value":118},{"type":42,"tag":76,"props":335,"children":337},{"href":336},"references\u002Fgraphql\u002Foverview.md",[338],{"type":48,"value":336},{"type":42,"tag":57,"props":340,"children":342},{"id":341},"quick-reference",[343],{"type":48,"value":344},"Quick Reference",{"type":42,"tag":346,"props":347,"children":352},"pre",{"className":348,"code":349,"language":350,"meta":351,"style":351},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# CMA: Create a draft entry\ncurl -X POST https:\u002F\u002Fapi.contentful.com\u002Fspaces\u002F{space_id}\u002Fenvironments\u002F{env_id}\u002Fentries \\\n  -H \"Authorization: Bearer {cma_token}\" \\\n  -H \"Content-Type: application\u002Fvnd.contentful.management.v1+json\" \\\n  -H \"X-Contentful-Content-Type: blogPost\" \\\n  -d '{\"fields\":{\"title\":{\"en-US\":\"Hello\"}}}'\n# Then publish: PUT ...\u002Fentries\u002F{id}\u002Fpublished with X-Contentful-Version header\n\n# CDA: Fetch entries\ncurl \"https:\u002F\u002Fcdn.contentful.com\u002Fspaces\u002F{space_id}\u002Fenvironments\u002F{env_id}\u002Fentries?content_type=blogPost\" \\\n  -H \"Authorization: Bearer {cda_token}\"\n","bash","",[353],{"type":42,"tag":354,"props":355,"children":356},"code",{"__ignoreMap":351},[357,369,400,429,454,479,503,512,522,531,556],{"type":42,"tag":358,"props":359,"children":362},"span",{"class":360,"line":361},"line",1,[363],{"type":42,"tag":358,"props":364,"children":366},{"style":365},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[367],{"type":48,"value":368},"# CMA: Create a draft entry\n",{"type":42,"tag":358,"props":370,"children":371},{"class":360,"line":26},[372,378,384,389,394],{"type":42,"tag":358,"props":373,"children":375},{"style":374},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[376],{"type":48,"value":377},"curl",{"type":42,"tag":358,"props":379,"children":381},{"style":380},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[382],{"type":48,"value":383}," -X",{"type":42,"tag":358,"props":385,"children":386},{"style":380},[387],{"type":48,"value":388}," POST",{"type":42,"tag":358,"props":390,"children":391},{"style":380},[392],{"type":48,"value":393}," https:\u002F\u002Fapi.contentful.com\u002Fspaces\u002F{space_id}\u002Fenvironments\u002F{env_id}\u002Fentries",{"type":42,"tag":358,"props":395,"children":397},{"style":396},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[398],{"type":48,"value":399}," \\\n",{"type":42,"tag":358,"props":401,"children":403},{"class":360,"line":402},3,[404,409,415,420,425],{"type":42,"tag":358,"props":405,"children":406},{"style":380},[407],{"type":48,"value":408},"  -H",{"type":42,"tag":358,"props":410,"children":412},{"style":411},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[413],{"type":48,"value":414}," \"",{"type":42,"tag":358,"props":416,"children":417},{"style":380},[418],{"type":48,"value":419},"Authorization: Bearer {cma_token}",{"type":42,"tag":358,"props":421,"children":422},{"style":411},[423],{"type":48,"value":424},"\"",{"type":42,"tag":358,"props":426,"children":427},{"style":396},[428],{"type":48,"value":399},{"type":42,"tag":358,"props":430,"children":432},{"class":360,"line":431},4,[433,437,441,446,450],{"type":42,"tag":358,"props":434,"children":435},{"style":380},[436],{"type":48,"value":408},{"type":42,"tag":358,"props":438,"children":439},{"style":411},[440],{"type":48,"value":414},{"type":42,"tag":358,"props":442,"children":443},{"style":380},[444],{"type":48,"value":445},"Content-Type: application\u002Fvnd.contentful.management.v1+json",{"type":42,"tag":358,"props":447,"children":448},{"style":411},[449],{"type":48,"value":424},{"type":42,"tag":358,"props":451,"children":452},{"style":396},[453],{"type":48,"value":399},{"type":42,"tag":358,"props":455,"children":457},{"class":360,"line":456},5,[458,462,466,471,475],{"type":42,"tag":358,"props":459,"children":460},{"style":380},[461],{"type":48,"value":408},{"type":42,"tag":358,"props":463,"children":464},{"style":411},[465],{"type":48,"value":414},{"type":42,"tag":358,"props":467,"children":468},{"style":380},[469],{"type":48,"value":470},"X-Contentful-Content-Type: blogPost",{"type":42,"tag":358,"props":472,"children":473},{"style":411},[474],{"type":48,"value":424},{"type":42,"tag":358,"props":476,"children":477},{"style":396},[478],{"type":48,"value":399},{"type":42,"tag":358,"props":480,"children":482},{"class":360,"line":481},6,[483,488,493,498],{"type":42,"tag":358,"props":484,"children":485},{"style":380},[486],{"type":48,"value":487},"  -d",{"type":42,"tag":358,"props":489,"children":490},{"style":411},[491],{"type":48,"value":492}," '",{"type":42,"tag":358,"props":494,"children":495},{"style":380},[496],{"type":48,"value":497},"{\"fields\":{\"title\":{\"en-US\":\"Hello\"}}}",{"type":42,"tag":358,"props":499,"children":500},{"style":411},[501],{"type":48,"value":502},"'\n",{"type":42,"tag":358,"props":504,"children":506},{"class":360,"line":505},7,[507],{"type":42,"tag":358,"props":508,"children":509},{"style":365},[510],{"type":48,"value":511},"# Then publish: PUT ...\u002Fentries\u002F{id}\u002Fpublished with X-Contentful-Version header\n",{"type":42,"tag":358,"props":513,"children":515},{"class":360,"line":514},8,[516],{"type":42,"tag":358,"props":517,"children":519},{"emptyLinePlaceholder":518},true,[520],{"type":48,"value":521},"\n",{"type":42,"tag":358,"props":523,"children":525},{"class":360,"line":524},9,[526],{"type":42,"tag":358,"props":527,"children":528},{"style":365},[529],{"type":48,"value":530},"# CDA: Fetch entries\n",{"type":42,"tag":358,"props":532,"children":534},{"class":360,"line":533},10,[535,539,543,548,552],{"type":42,"tag":358,"props":536,"children":537},{"style":374},[538],{"type":48,"value":377},{"type":42,"tag":358,"props":540,"children":541},{"style":411},[542],{"type":48,"value":414},{"type":42,"tag":358,"props":544,"children":545},{"style":380},[546],{"type":48,"value":547},"https:\u002F\u002Fcdn.contentful.com\u002Fspaces\u002F{space_id}\u002Fenvironments\u002F{env_id}\u002Fentries?content_type=blogPost",{"type":42,"tag":358,"props":549,"children":550},{"style":411},[551],{"type":48,"value":424},{"type":42,"tag":358,"props":553,"children":554},{"style":396},[555],{"type":48,"value":399},{"type":42,"tag":358,"props":557,"children":559},{"class":360,"line":558},11,[560,564,568,573],{"type":42,"tag":358,"props":561,"children":562},{"style":380},[563],{"type":48,"value":408},{"type":42,"tag":358,"props":565,"children":566},{"style":411},[567],{"type":48,"value":414},{"type":42,"tag":358,"props":569,"children":570},{"style":380},[571],{"type":48,"value":572},"Authorization: Bearer {cda_token}",{"type":42,"tag":358,"props":574,"children":575},{"style":411},[576],{"type":48,"value":577},"\"\n",{"type":42,"tag":579,"props":580,"children":581},"style",{},[582],{"type":48,"value":583},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":585,"total":505},[586,592,603,615,628,643,658],{"slug":4,"name":4,"fn":5,"description":6,"org":587,"tags":588,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[589,590,591],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":593,"name":593,"fn":594,"description":595,"org":596,"tags":597,"stars":22,"repoUrl":23,"updatedAt":602},"contentful-custom-app-enhancement","enhance and debug Contentful custom apps","Improve, debug, and extend an existing Contentful App Framework custom app in a customer's own repository. Use when users provide a bug report, feature request, support note, customer feedback, or direct change request for an existing custom app, including app configuration, sidebar, field editor, dialog, page, home, App Action, Function, installation parameters, local validation, or PR preparation. Also triggers on \"fix my Contentful app\", \"improve a custom app\", \"enhance App Framework app\", \"debug custom app\", \"update sidebar app\", and \"custom app feature request\". Not for creating a brand new app from scratch (contentful-custom-app-from-scratch), generic API examples (contentful-api), migrations (contentful-migration), or website integration (contentful-nextjs).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[598,599],{"name":17,"slug":18,"type":15},{"name":600,"slug":601,"type":15},"Debugging","debugging","2026-07-12T08:48:03.887678",{"slug":604,"name":604,"fn":605,"description":606,"org":607,"tags":608,"stars":22,"repoUrl":23,"updatedAt":614},"contentful-custom-app-from-scratch","build custom Contentful App Framework apps","Design, scaffold, build, and validate a new Contentful App Framework custom app for a customer's own repository or workspace. Use when users want to create a custom app from an idea, choose App Framework locations, build a sidebar app, field editor app, page app, dialog, configuration screen, App Action, or Function-backed app, scaffold with create-contentful-app, or make a locally testable app for an organization-specific Contentful workflow. Also triggers on \"build a Contentful app\", \"custom app from scratch\", \"App Framework app\", \"sidebar app\", \"field editor app\", \"page app\", \"app action\", and \"app function\". Not for generic Contentful API examples (contentful-api), content model migrations (contentful-migration), or website integration (contentful-nextjs).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[609,612,613],{"name":610,"slug":611,"type":15},"Architecture","architecture",{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},"2026-07-12T08:48:05.103951",{"slug":616,"name":616,"fn":617,"description":618,"org":619,"tags":620,"stars":22,"repoUrl":23,"updatedAt":627},"contentful-guide","guide Contentful implementation and concepts","Explain core Contentful concepts and route users to the right implementation skill or documentation. Use when users ask conceptual questions, need terminology clarified, want help choosing between APIs (CDA\u002FCMA\u002FCPA\u002FGraphQL), or need guidance on the Contentful MCP server. Also triggers on \"Contentful 101\", \"which Contentful API\", \"how do I get started\", \"which skill should I use\", \"what does X mean in Contentful\", \"Contentful glossary\", \"CDA vs CPA\", \"CDA vs GraphQL\", \"how does Contentful work\", \"Contentful architecture\", \"explain environments\", \"what are aliases\", \"content model design\", \"headless CMS\", \"Contentful MCP\", \"MCP server\", \"set up MCP\", \"Remix Contentful\", \"Astro Contentful\", \"Gatsby Contentful\", \"SvelteKit Contentful\", \"Nuxt Contentful\". Not for framework-specific implementation (contentful-nextjs), migrations (contentful-migration), personalization (contentful-personalization), or hands-on REST\u002FGraphQL request examples (contentful-api).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[621,622,625],{"name":17,"slug":18,"type":15},{"name":623,"slug":624,"type":15},"Documentation","documentation",{"name":284,"slug":626,"type":15},"reference","2026-07-12T08:47:45.041396",{"slug":629,"name":629,"fn":630,"description":631,"org":632,"tags":633,"stars":22,"repoUrl":23,"updatedAt":642},"contentful-migration","run Contentful content model migrations","Write and run Contentful content model migration scripts using the contentful-migration library and the Contentful CLI. Covers creating, editing, and deleting content types and fields, validations, editor interface configuration, editor layouts, sidebar widgets, entry transformations, tags, annotations, and the migration context object. Use when asked to write a migration, create or add a content type, add, rename, or delete fields, change or update a content model, transform entries, derive linked entries, configure editor controls, or run a migration script. Also triggers on \"migration script\", \"contentful-migration\", \"schema migration\", \"content model migration\", \"field validation\", \"editor interface\", \"editor layout\", \"sidebar widget\", \"moveField\", \"changeFieldId\", \"rich text field\", \"reference field\", \"link field\". Not for SDK client setup or Next.js integration (contentful-nextjs). Not for Contentful terminology or API routing (contentful-guide).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[634,637,638,639],{"name":635,"slug":636,"type":15},"CLI","cli",{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":640,"slug":641,"type":15},"Migration","migration","2026-07-12T08:47:50.532378",{"slug":644,"name":644,"fn":645,"description":646,"org":647,"tags":648,"stars":22,"repoUrl":23,"updatedAt":657},"contentful-nextjs","integrate Contentful into Next.js applications","Add and configure Contentful in an existing Next.js project. Covers installing the JavaScript SDK, configuring environment variables, creating production and preview-aware clients, fetching content in App Router or Pages Router, and wiring Draft Mode preview flows. Use when users ask to integrate Contentful with Next.js, fetch entries, set up preview or draft content, or configure the Contentful client. Also triggers on \"Contentful SDK Next.js\", \"contentful.js\", \"fetch Contentful entries\", \"get content from Contentful\", \"Contentful preview\", \"preview mode\", \"Contentful environment variables\", \"Contentful client setup\", \"create Contentful client\", \"Pages Router Contentful\", \"getStaticProps Contentful\", \"Server Components Contentful\", \"revalidate Contentful\", \"ISR Contentful\". Not for personalization or Experiences SDK setup (contentful-personalization). Not for non-Next.js frameworks (contentful-guide can route to platform docs).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[649,650,651,654],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":652,"slug":653,"type":15},"Frontend","frontend",{"name":655,"slug":656,"type":15},"Next.js","next-js","2026-07-12T08:47:49.223411",{"slug":659,"name":659,"fn":660,"description":661,"org":662,"tags":663,"stars":22,"repoUrl":23,"updatedAt":668},"contentful-personalization","build and debug Contentful personalization","Implement, extend, and debug Contentful personalization. Use onboarding for new, project-wide, or unknown setups; use extend-existing only for scoped work on an explicitly working integration. Trigger keywords: personalization, optimization, ninetailed, A\u002FB test, experiment, multivariate test, targeting, audience targeting, segments, variants, content variants, set up personalization, implement personalization, enable personalization, personalization not working, personalization broken, personalize this component, am I ready for personalization, experience API, Contentful Experiences, Experiences SDK, Studio Experiences, personalization in Next.js, @contentful\u002Foptimization, @ninetailed\u002Fexperience.js, run an experiment, check this URL, debug this live page, inspect network requests, check console errors, experience.ninetailed.co",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[664,665,666,667],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":600,"slug":601,"type":15},{"name":652,"slug":653,"type":15},"2026-08-01T05:44:01.030731",{"items":670,"total":514},[671,683,689,694,700,706,713,720],{"slug":672,"name":672,"fn":673,"description":674,"org":675,"tags":676,"stars":680,"repoUrl":681,"updatedAt":682},"contentful-help","configure and diagnose Contentful projects","Diagnose, configure, and look up Contentful topics. Trigger keywords: contentful help, contentful doctor, contentful setup",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[677,678,679],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":623,"slug":624,"type":15},61,"https:\u002F\u002Fgithub.com\u002Fcontentful\u002Fskill-kit","2026-07-12T08:48:00.085365",{"slug":4,"name":4,"fn":5,"description":6,"org":684,"tags":685,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[686,687,688],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":593,"name":593,"fn":594,"description":595,"org":690,"tags":691,"stars":22,"repoUrl":23,"updatedAt":602},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[692,693],{"name":17,"slug":18,"type":15},{"name":600,"slug":601,"type":15},{"slug":604,"name":604,"fn":605,"description":606,"org":695,"tags":696,"stars":22,"repoUrl":23,"updatedAt":614},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[697,698,699],{"name":610,"slug":611,"type":15},{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"slug":616,"name":616,"fn":617,"description":618,"org":701,"tags":702,"stars":22,"repoUrl":23,"updatedAt":627},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[703,704,705],{"name":17,"slug":18,"type":15},{"name":623,"slug":624,"type":15},{"name":284,"slug":626,"type":15},{"slug":629,"name":629,"fn":630,"description":631,"org":707,"tags":708,"stars":22,"repoUrl":23,"updatedAt":642},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[709,710,711,712],{"name":635,"slug":636,"type":15},{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":640,"slug":641,"type":15},{"slug":644,"name":644,"fn":645,"description":646,"org":714,"tags":715,"stars":22,"repoUrl":23,"updatedAt":657},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[716,717,718,719],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":652,"slug":653,"type":15},{"name":655,"slug":656,"type":15},{"slug":659,"name":659,"fn":660,"description":661,"org":721,"tags":722,"stars":22,"repoUrl":23,"updatedAt":668},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[723,724,725,726],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":600,"slug":601,"type":15},{"name":652,"slug":653,"type":15}]