Quick summary
This page helps you fix common Form filling SDK problems, such as a blank iframe, invalid template IDs, or sign-in failures. The SDK reports four error codes through
Some issues never emit an error code, including a container with no height or a CSP block on the SDK iframe. Work through layout, template IDs, partner credentials, and HTTPS before you retry the session.
SukiFormFillingError. Check code and reason in your handler, not message text alone.Some issues never emit an error code, including a container with no height or a CSP block on the SDK iframe. Work through layout, template IDs, partner credentials, and HTTPS before you retry the session.
client.start() or render <FormFilling>, the SDK loads the Form filling interface inside an iframe in your app. If an error occurs while loading or during the session, the SDK returns a SukiFormFillingError.
start() does not throw errors directly. Instead, handle errors using the onError callback, the form-filling:error event, or, in React, the error value returned by useFormFilling().
Some problems do not emit an error code at all. The container may look empty if it has no height, if CSP blocks the iframe, or if partner credentials are invalid. For those cases, see Blank UI with no error code below.
After most errors, the SDK removes the iframe and the clinician may need to open Form filling UI again.
Choose the right error event
Each error reaches
onError and form-filling:error listeners. Pick one pattern unless you need both.
Refer to the Error handling example for React and JavaScript code.
Form filling SDK error codes
JavaScript
SUKI_FF_004 messages
When the SDK returnsSUKI_FF_004, the reason is always iframe-runtime. The message field provides more detail about what failed and may contain one of the following values:
Failed to start form filling session.Failed to submit form filling session.Form generation failed.
code and reason to identify the error in your application. Use message only to display information to users or to include in logs.
Troubleshooting Form filling issues
If Form filling does not load or is not working as expected, check these common issues in order:- Verify that the container has a height. See Blank UI below.
- Verify that your
form_template_idsare valid. See Template ID issues below. - Verify that
partnerIdandpartnerTokenare configured correctly throughSukiAuthManager. - Verify that your Content Security Policy (CSP) allows the SDK iframe and that your app is running over HTTPS so microphone access is available.
Blank UI with no error code
If the Form filling interface does not appear andonError is never called, the iframe most likely did not become visible. This is usually caused by a layout or container sizing issue rather than a problem with the Form filling session itself.
Checking container height
The SDK appends a full-size iframe to your container. If the container has zero height, the iframe loads but you see a blank area. In JavaScript, set height on the element you pass asrootElement:
HTML
FormFilling renders:
CSS
Checking CSP
Form filling runs in an iframe from Suki’s SDK host. If your app’sContent-Security-Policy header blocks that origin in frame-src, the iframe cannot load. You may see a blank container or SUKI_FF_002 (handshake-timeout).
Checking partner credentials
Form filling does not open untilSukiAuthManager sign-in succeeds with a valid partnerId and partnerToken. If credentials are wrong or expired, the Form filling interface may never appear and you may not receive an SDK error code.
Refer to Authentication and Partner onboarding to get your credentials.
Checking HTTPS and microphone
Run Form filling on HTTPS. The browser requires a secure context for microphone access.Template ID issues
Before the iframe opens,FormFillingClient.start() validates form_template_ids against Suki’s Medical form template catalogue.
Contact Suki’s Support team to confirm staging and production
template_id values. Refer to Form filling templates for supported assessment types.Handling normal session outcomes
Some session outcomes are normal and do not emitSukiFormFillingError: In these cases, the SDK does not return an error code. To deal with these scenarios, check the structured_data.non_generated_values field in the FormFillingResult object returned by the onSubmit callback.
Refer to Session workflow for processing, cancel, and webhook delivery.
Next steps
Refer to Error handling example for React and JavaScript UI patterns Refer to Events forform-filling:error payload details
Refer to Prerequisites for CSP, webhooks, and template setup