Skip to content

feat(turbosign): createSigningUrl accepts optional pageNavigation (auto | collapsed | hidden) - #132

Draft
nicolasiscoding wants to merge 8 commits into
mainfrom
feature/signing-url-page-navigation
Draft

nicolasiscoding wants to merge 8 commits into
mainfrom
feature/signing-url-page-navigation

Conversation

@nicolasiscoding

Copy link
Copy Markdown
Member

Closes #131

createSigningUrl: optional pageNavigation controls the embedded signing page's page navigation (auto | collapsed | hidden).

const { url } = await TurboSign.createSigningUrl(documentId, {
  recipientId,
  pageNavigation: 'collapsed', // 'auto' (default) | 'collapsed' | 'hidden'
});
  • auto (default): sized to the iframe width. The thumbnail rail is open at 1200px and wider, collapsed from 900px to 1199px, and a "Pages" button in the bottom bar under 900px.
  • collapsed: the rail starts collapsed at any width. The signer can still expand it.
  • hidden: no rail and no "Pages" button.

It works like returnUrl: it applies to that signing URL only, is left out of the body when not set, and does not change the response.

All six SDKs

  • JS: pageNavigation?: PageNavigationMode (exported 'auto' | 'collapsed' | 'hidden' union) on CreateSigningUrlRequest and CreateEmbeddedSignatureRequest.
  • Python: page_navigation kwarg typed as the exported PageNavigationMode Literal, sent as pageNavigation.
  • Go: PageNavigation PageNavigationMode with json:"pageNavigation,omitempty", plus PageNavigationAuto / PageNavigationCollapsed / PageNavigationHidden.
  • PHP: PageNavigation backed enum, pageNavigation: named arg (last). fromArray() accepts the string value.
  • Java: PageNavigation enum, .pageNavigation(...) builder method. The empty-returnUrl rebuild path copies it too.
  • Ruby: page_navigation: kwarg (plain string, like the other TurboSign options), :pageNavigation on create_embedded_signature.
  • createEmbeddedSignature forwards it to each signing-url call in all six, like returnUrl.
  • Docs: openapi.yaml description, root README embedded-signing section (with each language's name), embed README, Java and PHP createSigningUrl references, PHP CHANGELOG, a commented option in each embedded identity example, parity rule.
  • @turbodocx/embed: no code change. It only consumes the URL; the option is set when the URL is minted.

Tests (written first, watched fail, then implemented): body includes pageNavigation when given, omits it when not, createEmbeddedSignature forwards it, and the enum/union holds exactly the three values.
JS 410 passed (tsc --noEmit clean), Python 424 passed, Go go test ./... ok, Java 376 passed, PHP 454 passed (phpstan level 8 clean), Ruby 402 examples, 0 failures.

Notes for release

  • The API rejects unknown body keys, so setting pageNavigation against an API version without it returns a 400. Callers who don't set it are unaffected. Publish after the matching API release.
  • PHP only: CreateSigningUrlRequest::fromArray() throws ValidationException (InvalidPageNavigation) for a string outside the three values, since the property is enum-typed. The other SDKs leave validation to the API's 400.

🤖 Generated with Claude Code

Nicolas Fry added 8 commits October 20, 2026 11:59
pageNavigation ('auto' | 'collapsed' | 'hidden') controls how the embedded
signing page shows its page navigation. createEmbeddedSignature forwards it
to each signing-url call, like returnUrl.
…gation

page_navigation ("auto" | "collapsed" | "hidden", typed as the exported
PageNavigationMode Literal) is sent as pageNavigation. create_embedded_signature
forwards it to each signing-url call, like return_url.
New PageNavigationMode type with PageNavigationAuto / Collapsed / Hidden,
sent as pageNavigation (omitempty). CreateEmbeddedSignature forwards it to
each signing-url call, like ReturnURL.
…tion

New PageNavigation backed enum (AUTO, COLLAPSED, HIDDEN) on
CreateSigningUrlRequest and CreateEmbeddedSignatureRequest, sent as
pageNavigation only when set. fromArray() accepts the string value.
…ation

New PageNavigation enum (AUTO, COLLAPSED, HIDDEN) with a pageNavigation
builder method on CreateSigningUrlRequest and CreateEmbeddedSignatureRequest,
sent as pageNavigation only when set. The empty-returnUrl rebuild keeps it.
…vigation

page_navigation ("auto" | "collapsed" | "hidden") is sent as pageNavigation.
create_embedded_signature forwards :pageNavigation to each signing-url call,
like :returnUrl.
openapi.yaml, the root and embed READMEs, the Java and PHP createSigningUrl
references, the parity rule, and a commented option in each embedded
identity example.
@nicolasiscoding
nicolasiscoding force-pushed the feature/signing-url-page-navigation branch from 69c42da to d47d391 Compare October 20, 2026 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(turbosign): createSigningUrl accepts optional pageNavigation (auto | collapsed | hidden)

1 participant