TypeScript SDK for the Assinafy API - A digital signature platform for Brazil.
npm install assinafy
# or
bun add assinafyimport { AssinafyClient } from 'assinafy';
const client = new AssinafyClient({
token: 'your-api-token',
accountId: 'your-account-id'
});
// Upload a document
const document = await client.documents.upload(pdfBuffer, 'contract.pdf');
// Create a signer
const signer = await client.signers.create({
full_name: 'John Doe',
email: '[email protected]'
});
// Create assignment
await client.documents.createAssignment(document.id, {
method: 'virtual',
signerIds: [signer.id]
});
// Get document details
const details = await client.documents.details(document.id);
// Download signed document
const signedPdf = await client.documents.download(document.id, 'certificated');const client = new AssinafyClient({
token: string; // Required: Your Assinafy API token
accountId?: string; // Optional: Default account ID for all operations
baseUrl?: string; // Optional: Custom API base URL
});All methods that require an account ID accept an optional accountId parameter to override the default:
// Using default account ID
const client = new AssinafyClient({
token: 'your-token',
accountId: 'default-account'
});
await client.documents.upload(buffer, 'file.pdf');
// Override for specific calls
await client.documents.upload(buffer, 'file.pdf', 'other-account');
await client.signers.list(undefined, 'other-account');
// Without default account ID (must provide per-call)
const client = new AssinafyClient({ token: 'your-token' });
await client.documents.upload(buffer, 'file.pdf', 'account-123'); // requiredupload(buffer: Buffer, fileName: string, accountId?: string)- Upload a PDF documentlist(accountId?: string)- List all documentsdetails(documentId: string)- Get document detailsdownload(documentId: string, artifactName?)- Download document artifactdelete(documentId: string)- Delete a documentcreateAssignment(documentId: string, data)- Create signing assignmentresendSignerEmail(documentId, assignmentId, signerId)- Resend email to signer
create(data: ICreateSignerPayload, accountId?: string)- Create a new signerlist(search?: string, accountId?: string)- List signers with optional searchupdate(signerId: string, data: IUpdateSignerPayload, accountId?: string)- Update a signer (only if not associated with active documents)delete(signerId: string, accountId?: string)- Delete a signer
create(data: ICreateWorkspacePayload)- Create a new workspacelist()- List all workspaces (ordered by last interaction)get(accountId: string)- Get workspace detailsupdate(accountId: string, data: IUpdateWorkspacePayload)- Update a workspacedelete(accountId: string)- Delete a workspace
# Install dependencies
bun install
# Run tests
bun test
# Build
bun run build
# Lint
bun run lintMIT