create_upload_url
shallowio.goodsign/goodsign · Verify this server
Get a short-lived URL to upload a PDF that GoodSign will turn into a document. Use this for a document that is NOT based on an existing GoodSign template — e.g. a Statement of Work, contract or NDA drafted for this specific deal. After the PUT succeeds, call create_document_from_upload with the upload_id this returns. The URL is valid for 15 minutes. If you are GENERATING the PDF yourself, embed text tags where fields should go — GoodSign places a real field at each tag's exact position, and each distinct KEY becomes one signer (reuse the same KEY on every tag that person fills). TAG REFERENCE — this is the complete list; any other tag type is discarded: - [sign|KEY] signature. [in|KEY] initials. Signature size variants: [signxs|KEY] [signsm|KEY] [signmd|KEY] [signlg|KEY] [signxl|KEY]. - [date|KEY] date of signing, filled in automatically. - [input|KEY] required text box. [input?|KEY] optional text box. [input|KEY|Some text] pre-filled, signer can edit. - [name|KEY] and [email|KEY] text boxes pre-filled with that signer's name / email address. - [c|KEY|Label] optional checkbox. [c*|KEY|Label] required checkbox. [c|KEY|x Label] pre-checked. [c1|KEY|Red] [c1|KEY|Blue] = radio group (same digit = one group, signer picks one). RULES — breaking any of these corrupts or silently drops fields: 1. KEY is the signer key: letters and digits ONLY (Client, signer1), identical spelling and case on every tag for that person. Keys differing only in case, spaces or punctuation collide into the wrong signer. Exception: trailing padding spaces before the closing ] (rule 4) are stripped before the key is matched, so [name|Client ] still keys to Client. 2. A tag must be one unbroken run of selectable text on a single line in a normal font — never an image, never wrapped across lines. 3. Do not use square brackets anywhere else in the document — prose like "[insert date]" gets parsed as a tag. Use parentheses instead. 4. The tag's printed size becomes the field's size: its font size sets the field height, and an input/name/email box is exactly as wide as the printed tag text — write the tag at the size you want the answer to be. To WIDEN an input/name/email field without making it taller, pad with trailing spaces INSIDE the tag before the ] — e.g. [name|Client ] — the spaces count toward the printed width but are stripped from KEY. Spaces after the ] do nothing. Print the tag in a monospace font (e.g. Courier) so each padding space adds a full, predictable character width. 5. Leave 2-3 blank lines of clear space around sign/in tags: the drawn signature renders much larger than the tag text. GoodSign erases the tag text from the final PDF and renders the field value in its place. After create_document_from_upload, confirm with get_document that the signer keys and field count match what you embedded.
1 trials · measured 14 days ago
create_upload_url scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against io.goodsign/goodsign, measured 23 Sept 2026 under methodology v0.2.0. Every measured component scored 100.
Component breakdown
| Component | Weight | Value |
|---|---|---|
| Reliability | 35% | not applicable |
| Schema integrity | 25% | 100.0 |
| Failure behaviour | 15% | not applicable |
| Latency | 15% | not applicable |
| Concurrency | 10% | not applicable |
Tool details
- Transport
- remote
- Credential class
- gated
- Input schema
- not declared
- Output schema
- not declared
- Side-effect classification
- unclassified
Score history
| Day | Score | Tier | Methodology |
|---|---|---|---|
| 2026-09-23 | 100.0 | shallow | v0.2.0 |
Probe evidence
| Probe | Outcomes |
|---|---|
| schema_integrity | pass: 1 |
Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.
Embed this score
Available for every tool, scored or not — not a verification perk. Always links back to this page.
[](https://vouch.tools/tools/6c6c150e-a579-44d1-ba62-da78ea78ba8f)