You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Live validation: Assinafy sandbox (https://sandbox.assinafy.com.br/v1)
Result
The SDK conforms to the documented API surface and is validated end-to-end
against the live sandbox. Every documented endpoint that the SDK exposes was
exercised against the sandbox; one non-existent endpoint was removed and two
conformance bugs were fixed. Local tests (114), ruff, and mypy --strict
pass. Every public method's docstring carries a real request/response payload.
Method
Parsed the full HTML API reference into per-section specs.
Instrumented the SDK's httpx client and called every SDK method against
the sandbox, capturing real request/response payloads.
Ran a file-by-file conformance + quality audit (one reviewer per resource)
cross-referencing SDK ↔ docs ↔ live payloads, with adversarial verification
of every must-fix finding.
Applied verified fixes, enriched docstrings with captured payloads, and
re-ran the full live verification against the final code.
Live verification summary
Outcome
Count
Detail
Passed end-to-end
49
auth read, signer/tag/field CRUD, document upload→ready→download→thumbnail→page→tags→delete, assignment create/estimate/resend/reset (incl. null clear), webhook register/get/inactivate, public info
Wired-correct (401 on invalid code)
8
all signer-access-code flows: get_for_signer, signers.get_self/accept_terms/confirm_data/upload_signature/download_signature, signer_documents.current/list. 401 (not 404) proves verb/path/params are correct; the happy path needs an interactively verified signer session
Known gaps (documented, intentionally not implemented)
Template create / update / delete / page-download. The Template area
intro mentions these, and the Template-Object reference lists POST/PUT
endpoints, but the docs provide no request/response contract (no body
parameters, no examples) for them. They are intentionally not implemented to
avoid shipping a guessed contract; add them once Assinafy documents the
bodies. templates.list and templates.get (both documented shapes) are
implemented.
The sandbox API key was passed only via process environment variables and was
never written to repository files.
Destructive auth/password operations are not live-tested against shared
credentials; assignment-creation in the shipped smoke test is omitted to avoid
sending real signer notifications (it is covered by the full audit harness).