Overview
The fynk API exposes REST-style, resource-based endpoints to work with Documents, Templates, Parties, Signatories, Metadata, and more. You can explore the live API documentation at https://app.fynk.com/v1/docs.
Quickstart
Create an account: Sign up at https://app.fynk.com/register or log in at https://app.fynk.com/login
Create a party: Ensure at least one party exists in Account Settings → Parties.
Create a template: Have at least one template in Templates (create or use from the gallery).
Create an API token: In Account Settings → Integrations → API, click Create Token and save the value securely.
Test your token: Call Current API token details and verify you get a 200 OK JSON response.
curl "https://app.fynk.com/v1/api/me" \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json'
Fetch data: Try List templates and then Show template with one of the returned UUIDs.
# List templates
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json'
Authentication
Use a Bearer token in every request:
Authorization: Bearer <token>
Tokens created during free trial work during the trial; upgrade to continue afterwards.
Versioning
Backwards-compatible changes do not create a new version (e.g., adding fields/endpoints).
Backwards-incompatible changes create a new API version.
Override your account’s default version per request using the
Fynk-Api-Versionheader:
Fynk-Api-Version: 2025-07-14
Pagination
List endpoints return data plus links and meta for pagination. Control size via per_page and page via page.
Rate Limits
Requests are limited per rolling one-minute window. When rate limited, you’ll receive 429 Too Many Requests with a Retry-After header.
How-to Guides
Create a document from a template
Find the template UUID:
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json'
Create the document:
curl -X POST "https://app.fynk.com/v1/api/documents/create-from-template" \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"name": "Employment Contract",
"template_uuid": "4df1e60a-0114-4dce-89e7-8c5ad397fcf2"
}'
Optional: include owner_emails to assign ownership on creation.
Create a document from a PDF
Generate presigned upload URL:
curl -X POST "https://app.fynk.com/v1/api/file-uploads/document-pdf" \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json; charset=utf-8'
Upload the PDF to the returned URL:
curl -X PUT "https://example-bucket.s3.amazonaws.com/uploads/..." \
-H 'Content-Type: application/pdf' \
--data-binary @/path/to/your/document.pdf
Create the document:
curl -X POST "https://app.fynk.com/v1/api/documents/create-from-pdf" \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"file_upload_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"file_name": "my-contract.pdf",
"initial_stage": "draft",
"name": "My Contract from PDF",
"document_type": "contract"
}'
initial_stage can be draft or signed. Use template_uuid or document_type (mutually exclusive).
Store a file in a document’s file storage
Generate presigned upload URL:
curl -X POST "https://app.fynk.com/v1/api/file-uploads/document-file-storage" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Content-Type: application/json' \
-d '{"content_type": "application/pdf"}'
Upload the file:
curl -X PUT "https://example-bucket.s3.amazonaws.com/uploads/..." \
-H 'Content-Type: application/pdf' \
--data-binary @/path/to/your/document.pdf
Associate with document:
curl -X POST "https://app.fynk.com/v1/api/documents/{document}/file-storage" \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Content-Type: application/json' \
-d '{
"file_upload_uuid": "e1413d6e-d516-4f67-84be-6dd98446aebb",
"file_name": "your-filename.pdf"
}'
Populate dynamic fields
Get dynamic fields via the Create/Show document response, or list them:
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json'
Update a field value:
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{"value": "Software Engineer"}'
Value formats depend on the field type (see table in the dynamic fields endpoint docs).
Assign metadata
Find metadata UUID:
curl "https://app.fynk.com/v1/api/metadata" \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json'
Add metadata value to a document:
curl -X POST "https://app.fynk.com/v1/api/documents/{document}/metadata-values" \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{"value": 100, "metadata_uuid": "205a379c-c4d5-469d-9f67-a025bc630cbf"}'
Manage parties
List parties for a document:
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json'
Update party (external parties):
curl -X PUT "https://app.fynk.com/v1/api/documents/{document}/parties/{party}" \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{"entity_name": "BigCo Inc.", "entity_type": "business", "address":"BigCo Plaza, New York"}'
Editable stages: draft, approved_draft, review, approved_review.
Assign and manage signatories
Add signatory:
curl -X POST "https://app.fynk.com/v1/api/documents/{document}/signatories" \
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"party_uuid": "ad899fc9-3130-45d5-9d...",
"email": "[email protected]",
"first_name": "Alex",
"last_name": "Smith",
"title": "Software Engineer"
}'
Update signatory:
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{"mobile_phone": "+431234567"}'
Remove signatory:
curl -X DELETE "https://app.fynk.com/v1/api/documents/{document}/signatories/{signatory}" \
-H 'Authorization: Bearer <your-api-token>'
Editable stages: draft, approved_draft, review, approved_review.
Move document to review / signing
To review:
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json'
To signing:
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json'
Access latest PDF revision
Get a pre-authenticated temporary URL:
-H 'Authorization: Bearer <your-api-token>' \
-H 'Accept: application/json'
Direct download (302 redirect; follow redirects):
-H 'Authorization: Bearer <your-api-token>' \
--location > my-document.pdf
Reference: Endpoints
API Tokens
GET /me — Current API token details
Documents
POST /documents/create-from-template — Create document from template
POST /documents/create-from-pdf — Create document from PDF
GET /documents — List documents (filtering, sorting, pagination)
GET /documents/{document} — Show document
PUT /documents/{document} — Update document
Document Parties
GET /documents/{document}/parties — List parties
POST /documents/{document}/parties — Add party
PUT /documents/{document}/parties/{party} — Update party
Document Signatories
GET /documents/{document}/signatories — List signatories
POST /documents/{document}/signatories — Add signatory
PUT /documents/{document}/signatories/{signatory} — Update signatory
DELETE /documents/{document}/signatories/{signatory} — Remove signatory
Document Stage Transitions
POST /documents/{document}/stage-transitions/review — Move to review
POST /documents/{document}/stage-transitions/signing — Move to signing
Document Dynamic Fields
GET /documents/{document}/dynamic-fields — List document dynamic fields
PUT /documents/{document}/dynamic-fields/{dynamicField} — Update dynamic field
Document Metadata Values
GET /documents/{document}/metadata-values — List metadata values
POST /documents/{document}/metadata-values — Add metadata value to document
PUT /documents/{document}/metadata-values/{metadataValue} — Update metadata value
DELETE /documents/{document}/metadata-values/{metadataValue} — Delete metadata value
Document Revisions
GET /documents/{document}/revisions/latest/pdf — Show latest revision PDF details
GET /documents/{document}/revisions/latest/pdf/download — Download latest revision PDF
Document File Storage
POST /documents/{document}/file-storage — Store a file in a document’s file storage
Linked Documents
GET /documents/{document}/linked-documents — List linked documents
POST /documents/{document}/linked-documents — Link documents
DELETE /documents/{document}/linked-documents/{documentRelationship} — Unlink documents
Templates
GET /templates — List templates
GET /templates/{template} — Show template
File Uploads
POST /file-uploads/document-pdf — Create document PDF upload URL
POST /file-uploads/document-file-storage — Create document file storage upload URL
Reference: Schemas
Commonly referenced schemas include:
MeResource,ApiTokenSettingsResourceDocumentDetailResource,DocumentMinimalResource,DocumentRevisionPdfResourceDynamicFieldResource,DynamicFieldFormatResourceMetadataResource,MetadataValueResourceTemplateDetailResource,TemplateMinimalResourceSignatoryResource,SignatorySnippetResourceDocumentPartyResource,DocumentPartySnippetResourceStoredFileResource,SignedUploadUrlResourceEnums:
DocumentType,DocumentStage,DocumentOrigin,SignatureSecurityLevel,Scope,PartyEntityType,MultiFieldType,MetadataType,MetadataValueSource,MetadataValueComputedStatus,DocumentRelationshipType,BidirectionalDocumentRelationshipType
See the Original documentation links section for direct links to each schema page.
Original documentation links
API root: https://app.fynk.com/v1/docs#/
API Tokens — Current token details: https://app.fynk.com/v1/docs#/operations/v1.api-tokens.show-me
Documents — Create from PDF: https://app.fynk.com/v1/docs#/operations/v1.documents.create-from-pdf
Documents — Create from template: https://app.fynk.com/v1/docs#/operations/v1.documents.create-from-template
Documents — File storage: https://app.fynk.com/v1/docs#/operations/v1.documents.document-file-storage.store
Documents — Dynamic fields (list): https://app.fynk.com/v1/docs#/operations/v1.documents.dynamic-fields.index
Documents — Dynamic fields (update): https://app.fynk.com/v1/docs#/operations/v1.documents.dynamic-fields.update
Documents — Dynamic fields value format: https://app.fynk.com/v1/docs#/operations/v1.documents.dynamic-fields.update#value-format
Documents — List: https://app.fynk.com/v1/docs#/operations/v1.documents.index
Documents — Metadata values (add): https://app.fynk.com/v1/docs#/operations/v1.documents.metadata-values.store
Documents — Parties (list): https://app.fynk.com/v1/docs#/operations/v1.documents.parties.index
Documents — Parties (update): https://app.fynk.com/v1/docs#/operations/v1.documents.parties.update
Documents — Revisions (download latest PDF): https://app.fynk.com/v1/docs#/operations/v1.documents.revisions.latest.pdf.download
Documents — Revisions (show latest PDF): https://app.fynk.com/v1/docs#/operations/v1.documents.revisions.latest.pdf.show
Documents — Show: https://app.fynk.com/v1/docs#/operations/v1.documents.show
Documents — Signatories (delete): https://app.fynk.com/v1/docs#/operations/v1.documents.signatories.destroy
Documents — Signatories (list): https://app.fynk.com/v1/docs#/operations/v1.documents.signatories.index
Documents — Signatories (create): https://app.fynk.com/v1/docs#/operations/v1.documents.signatories.store
Documents — Signatories (update): https://app.fynk.com/v1/docs#/operations/v1.documents.signatories.update
Documents — Stage transition (review): https://app.fynk.com/v1/docs#/operations/v1.documents.stage-transitions.review
Documents — Stage transition (signing): https://app.fynk.com/v1/docs#/operations/v1.documents.stage-transitions.signing
Documents — Update: https://app.fynk.com/v1/docs#/operations/v1.documents.update
File Uploads — Create document file storage URL: https://app.fynk.com/v1/docs#/operations/v1.file-uploads.document-file-storage.create
File Uploads — Create document PDF upload URL: https://app.fynk.com/v1/docs#/operations/v1.file-uploads.document-pdf.create
Metadata — List: https://app.fynk.com/v1/docs#/operations/v1.metadata.index
Templates — List: https://app.fynk.com/v1/docs#/operations/v1.templates.index
Templates — Show: https://app.fynk.com/v1/docs#/operations/v1.templates.show
Schemas — ApiTokenSettingsResource: https://app.fynk.com/v1/docs#/schemas/ApiTokenSettingsResource
Schemas — BidirectionalDocumentRelationshipType: https://app.fynk.com/v1/docs#/schemas/BidirectionalDocumentRelationshipType
Schemas — CreateDocumentFileStorageUploadUrlRequest: https://app.fynk.com/v1/docs#/schemas/CreateDocumentFileStorageUploadUrlRequest
Schemas — CreateDocumentFromPdfRequest: https://app.fynk.com/v1/docs#/schemas/CreateDocumentFromPdfRequest
Schemas — CreateDocumentFromTemplateRequest: https://app.fynk.com/v1/docs#/schemas/CreateDocumentFromTemplateRequest
Schemas — DocumentDetailResource: https://app.fynk.com/v1/docs#/schemas/DocumentDetailResource
Schemas — DocumentMinimalResource: https://app.fynk.com/v1/docs#/schemas/DocumentMinimalResource
Schemas — DocumentOrigin: https://app.fynk.com/v1/docs#/schemas/DocumentOrigin
Schemas — DocumentPartyResource: https://app.fynk.com/v1/docs#/schemas/DocumentPartyResource
Schemas — DocumentPartySnippetResource: https://app.fynk.com/v1/docs#/schemas/DocumentPartySnippetResource
Schemas — DocumentRelationshipResource: https://app.fynk.com/v1/docs#/schemas/DocumentRelationshipResource
Schemas — DocumentRelationshipType: https://app.fynk.com/v1/docs#/schemas/DocumentRelationshipType
Schemas — DocumentRevisionPdfResource: https://app.fynk.com/v1/docs#/schemas/DocumentRevisionPdfResource
Schemas — DocumentStage: https://app.fynk.com/v1/docs#/schemas/DocumentStage
Schemas — DocumentType: https://app.fynk.com/v1/docs#/schemas/DocumentType
Schemas — DynamicFieldAutofillType: https://app.fynk.com/v1/docs#/schemas/DynamicFieldAutofillType
Schemas — DynamicFieldFormatResource: https://app.fynk.com/v1/docs#/schemas/DynamicFieldFormatResource
Schemas — DynamicFieldResource: https://app.fynk.com/v1/docs#/schemas/DynamicFieldResource
Schemas — MeResource: https://app.fynk.com/v1/docs#/schemas/MeResource
Schemas — MetadataResource: https://app.fynk.com/v1/docs#/schemas/MetadataResource
Schemas — MetadataType: https://app.fynk.com/v1/docs#/schemas/MetadataType
Schemas — MetadataValueComputedStatus: https://app.fynk.com/v1/docs#/schemas/MetadataValueComputedStatus
Schemas — MetadataValueResource: https://app.fynk.com/v1/docs#/schemas/MetadataValueResource
Schemas — MetadataValueSource: https://app.fynk.com/v1/docs#/schemas/MetadataValueSource
Schemas — MinimalAccountResource: https://app.fynk.com/v1/docs#/schemas/MinimalAccountResource
Schemas — MultiFieldSettingsResource: https://app.fynk.com/v1/docs#/schemas/MultiFieldSettingsResource
Schemas — MultiFieldType: https://app.fynk.com/v1/docs#/schemas/MultiFieldType
Schemas — PartyEntityType: https://app.fynk.com/v1/docs#/schemas/PartyEntityType
Schemas — Scope: https://app.fynk.com/v1/docs#/schemas/Scope
Schemas — SignatoryResource: https://app.fynk.com/v1/docs#/schemas/SignatoryResource
Schemas — SignatorySnippetResource: https://app.fynk.com/v1/docs#/schemas/SignatorySnippetResource
Schemas — SignatureSecurityLevel: https://app.fynk.com/v1/docs#/schemas/SignatureSecurityLevel
Schemas — SignedUploadUrlResource: https://app.fynk.com/v1/docs#/schemas/SignedUploadUrlResource
Schemas — StageTransitionToSigningRequest: https://app.fynk.com/v1/docs#/schemas/StageTransitionToSigningRequest
Schemas — StoreDocumentRelationshipRequest: https://app.fynk.com/v1/docs#/schemas/StoreDocumentRelationshipRequest
Schemas — StoreMetadataValueRequest: https://app.fynk.com/v1/docs#/schemas/StoreMetadataValueRequest
Schemas — StorePartyRequest: https://app.fynk.com/v1/docs#/schemas/StorePartyRequest
Schemas — StoreSignatoryRequest: https://app.fynk.com/v1/docs#/schemas/StoreSignatoryRequest
Schemas — StoreStoredFileRequest: https://app.fynk.com/v1/docs#/schemas/StoreStoredFileRequest
Schemas — StoredFileResource: https://app.fynk.com/v1/docs#/schemas/StoredFileResource
Schemas — TagResource: https://app.fynk.com/v1/docs#/schemas/TagResource
Schemas — TeamSnippetResource: https://app.fynk.com/v1/docs#/schemas/TeamSnippetResource
Schemas — TemplateDetailResource: https://app.fynk.com/v1/docs#/schemas/TemplateDetailResource
Schemas — TemplateMinimalResource: https://app.fynk.com/v1/docs#/schemas/TemplateMinimalResource
Schemas — TemplatePartySnippetResource: https://app.fynk.com/v1/docs#/schemas/TemplatePartySnippetResource
Schemas — UpdateDocumentRequest: https://app.fynk.com/v1/docs#/schemas/UpdateDocumentRequest
Schemas — UpdateDynamicFieldRequest: https://app.fynk.com/v1/docs#/schemas/UpdateDynamicFieldRequest
Schemas — UpdateMetadataValueRequest: https://app.fynk.com/v1/docs#/schemas/UpdateMetadataValueRequest
Schemas — UpdatePartyRequest: https://app.fynk.com/v1/docs#/schemas/UpdatePartyRequest
Schemas — UpdateSignatoryRequest: https://app.fynk.com/v1/docs#/schemas/UpdateSignatoryRequest
Notes
For any 4xx/5xx responses, see the endpoint’s Responses table in the API docs for the exact error payload shape.
Ensure your HTTP client follows redirects where noted (e.g., PDF download endpoint).
Some actions are limited to specific document stages (e.g., editing parties/signatories).
