Skip to content

Documentation Troubleshooting

Choose a guide from the library.

Troubleshooting

Find the symptom, check its cause, and get your integration working again.

Examples use an illustrative schema. Replace placeholders with your own configuration.

My collection is empty

Likely cause: The request succeeded but no published entries match.

What to do: Publish an entry in that workspace/type. Remove filters and selection temporarily, check locale and verify the API identifier. Saving a draft alone is not publication.

Edits do not appear in my app

Likely cause: Delivery uses the last published snapshot, or your application has cached a response.

What to do: Publish the edited entry or translation. Check your application’s caches. The SDK itself does not cache. Preview drafts only from an authorized server.

401 or invalid key

Likely cause: A placeholder, revoked/rotated key, missing Bearer prefix or another workspace’s key was used.

What to do: Ask the Owner for the current public key and workspace UUID. Replace the placeholder in application configuration, restart the consumer if needed, and repeat the first collection request. Studio login is not API authorization.

403 when reading a draft

Likely cause: A public key cannot read previews.

What to do: Move the preview call to server-owned code and use a secret key. Authorize the viewing user in your own app. Do not solve this by exposing the secret to the browser.

One entry is missing

Likely cause: The ID/type/workspace is wrong or the entry is not published in the requested locale.

What to do: Find the ID in a successful collection response and check publication. REST returns 404, GraphQL null and RPC -32004 for unavailable items.

Invalid fields, filters or sorting

Likely cause: The sample schema differs from your actual schema, the field is not supported by an operation, or query limits were exceeded.

What to do: Use exact API identifiers. Ordered comparisons are for number/date/datetime fields. Select accepts 1–24 unique fields. Limit filters to ten AND clauses, in to 1–100 values, and filter JSON to 4 KB. Use the authenticated GraphQL Explorer to inspect your schema.

Invalid locale or untranslated text

Likely cause: The locale is not enabled, the translation is unpublished, or fallback is disabled.

What to do: Enable that locale in Workspace settings as the Owner, publish the translation, and check fallback policy. Use pt-BR rather than a differently spelled code.

A cursor is rejected

Likely cause: A cursor expired or belongs to another workspace/model/mode/locale/filter/sort/schema revision or navigation direction.

What to do: Restart without after or before. Keep the original query options and send the matching returned next/previous cursor. Do not build or edit cursor values manually.

Fetch failed or cannot connect

Likely cause: The CMS address is unreachable, TLS/proxy configuration failed, or an HTTPS page is calling an HTTP server.

What to do: Check the CMS URL from the consuming device. localhost points to that device. Use HTTPS in a deployed app, inspect network status/CORS headers, and check server/proxy logs without logging keys. A network failure is different from a JSON API error.

GraphQL HTTP 200, but no result

Likely cause: HTTP success does not imply GraphQL success.

What to do: Inspect errors, variable types and field names. Keep depth within 8 and complexity within 1,000; aliases/fragments and collection sizes count. Reduce requested fields or page size.

Practice invalid-key recovery

Run the first command with the literal placeholder to see an authentication error. Replace it with your actual public key for the same workspace and repeat. Never paste your key into this public page or a support screenshot.

Terminal · deliberate invalid credential
curl --get 'https://YOUR_CMS_HOST/api/v1/projects/YOUR_WORKSPACE_UUID/content/content_item' \
  -H 'Authorization: Bearer YOUR_PUBLIC_KEY' \
  --data-urlencode 'limit=5' \
  --data-urlencode 'locale=en'
Expected REST failure · HTTP 401
{
  "error": "A valid project key is required",
  "code": "unauthorized"
}
Need a hand? Check troubleshooting. Documentation describes the locally verified pilot; production qualification remains in progress.