Skip to content

fix(turbosign): send required:false for optional signer fields #86

Description

@nicolasiscoding

Change type

Planned — normal review → merge

Risk / impact

Medium

Security impact assessed?

No — no security impact

Details — description & full context

TurboSign fields accept an optional per-field required flag (boolean, default true). false lets the signer leave the field blank and still finish. The API rejects required: false on signature and initial fields, a non-boolean required, and a recipient whose only editable fields are optional or read-only.

Two SDKs could not send required: false:

  • Go: Required bool with omitempty dropped false. Now *bool (turbodocx.BoolPtr(false)).
  • PHP: bool $required = false was only sent when true. Now ?bool $required = null, sent when not null.

JS/TS, Python, Ruby and Java already passed false through; each gains a test proving it. Every language's test sends true, false and unset and asserts true, false and no key.

Component / area

TurboSign field model (all six SDKs)

Testing & validation

  • CI / build passes on the implementing PR
  • Tests or examples added/updated for the change

Rollback plan

Revert the PR. No server-side impact; the API default (required) is unchanged.

Breaking change for consumers?

Yes — note the version bump + migration/upgrade impact below

Go: Field.Required changes from bool to *bool. Code that set Required: true must use turbodocx.BoolPtr(true) or drop it (omitted means required). Ship in a minor bump with a release note.
PHP: an explicit required: false that used to be silently dropped is now sent, so on a signature or initial field it now returns a 400.

Reviewer / approver

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions