Check this page with an assistantOpens a chat asking it to summarise this article and name the evidence behind each claim.

Claude opens with the prompt on your clipboard: Anthropic does not support prefilled prompts on the web, and we would rather copy it than ship a button that drops it.

Decisions first

Discover the target Drupal bundle and field schema, authenticate as a least-privilege content role, send JSON:API media types to the bundle endpoint, place entity references under relationships with UUIDs, retain the returned resource UUID, and verify the stored entity, revision/moderation state, path alias, metatags, caches, and public canonical URL.

  • A Drupal content type and its fields are a site-specific publishing contract.
  • JSON:API relationships require resource types and UUIDs; they are not ordinary attributes.
  • This method uses Drupal's core API and site configuration, not a native SearchHandled Drupal connector.

Discover the bundle and editorial state model

Identify the entity type, bundle, field machine names, text formats, references, media model, path aliases, metatag implementation, language, moderation workflow, revisions, and frontend route before constructing a payload.

Drupal's JSON:API paths follow /jsonapi/{entity_type}/{bundle}; individual resources add the UUID. A node article and a node page therefore have different endpoints. Human labels can change, while machine names and UUIDs drive the request.

Core JSON:API exposes the entity model, but contributed modules and site code often control aliases, metatags, paragraphs, media, moderation, access, and rendering. Create a destination contract from the actual site and keep its version with each approved job.

Drupal concernMap before writeVerify after write
BundleEntity type and bundle IDReturned resource type
FieldsMachine name and value shapeStored attributes
ReferencesType and UUIDResolved relationships
Editorial stateRevision/moderation policyNot accidentally public
SEO outputAlias and metatag rulesRendered canonical page

Build a valid, least-privilege JSON:API request

Use Accept and Content-Type application/vnd.api+json, authenticate as a role allowed to create the bundle, and represent references as relationships rather than attributes.

Drupal documents POST for creating one resource at a time and PATCH for updates. A successful create returns HTTP 201 and the resource representation. Keep the UUID from that response as the stable integration identity; do not rely on the title or numeric node ID.

Create referenced media or taxonomy through their own governed process and use UUIDs in relationships. Validate the text format instead of sending arbitrary HTML into a privileged format. If the site uses Paragraphs or custom nested structures, build and test that graph explicitly rather than flattening it into body HTML.

Respect revisions, moderation, and aliases

An entity save is not automatically an editorially safe draft. Test how the configured moderation workflow, revision defaults, translations, and permissions interpret the request.

Use a dedicated API role with only the required create, edit, view-unpublished, and media permissions. Prove that it cannot administer users, configuration, or unrelated bundles. Bind the approval to the exact payload and resource revision where the site exposes it.

Pathauto, Redirect, Metatag, Content Moderation, and translation modules may add behavior outside the base JSON:API payload. Decide whether aliases and metadata are derived or supplied, then read the entity and preview the real Drupal route. A node can be stored correctly while its alias collides or its canonical tag points elsewhere.

  • Dedicated content role
  • Unpublished or moderated state
  • Revision-aware update
  • Derived alias checked
  • Metatag output checked
  • Cache behavior documented

Verify Drupal, caches, and the public page

Read the entity by UUID, confirm the moderation and revision state, then verify the public or preview route after the site's cache and rendering path have processed it.

Check status, canonical, robots, title, description, H1, language alternates, images, structured data, internal links, and a content fingerprint. For decoupled Drupal, verify the consuming frontend separately; the CMS and public application are different release systems.

Make retries idempotent by storing the UUID immediately and querying before another create after a timeout. Preserve provider-native revisions or backups for recovery. Measure the canonical URL through Search Console and conversion analytics only after its public identity is confirmed.

Continue the workflow

Test one representative bundle through invalid field, missing relationship, permission denial, draft creation, revision conflict, alias generation, cache invalidation, and public verification.

Questions teams ask

What endpoint creates a Drupal article with JSON:API?

For the standard node article bundle, the pattern is POST /jsonapi/node/article with JSON:API media-type headers. The actual bundle and fields must match the site.

Do Drupal JSON:API references use numeric IDs?

Individual JSON:API resources and relationships use UUIDs together with the resource type. Relationship fields belong under relationships, not attributes.

Does a successful Drupal POST prove the page is live?

No. It proves the resource was created. Moderation, revisions, aliases, metatags, caches, access, and any decoupled frontend must be verified separately.

Primary sources

The SearchHandled Editorial Team prefers first-party documentation and names the limits of each source. Links were checked on the access date.

  1. Drupal: JSON:API module API overviewAccessed August 29, 2026
  2. Drupal: Creating new resources with JSON:APIAccessed August 29, 2026
  3. Google Search Central: Creating helpful, reliable, people-first contentAccessed August 29, 2026 · Quality guidance, not a guarantee that a page will rank.
  4. Google Search Console Help: Performance report: clicks, impressions, CTR, and positionAccessed August 29, 2026
SearchHandled Editorial TeamPublished Aug 29, 2026 · Last reviewed Aug 29, 2026. Every factual claim is checked against the linked primary sources; corrections can be submitted through our contact page.