---
title: SpotDraft API Integration on Truto
slug: spotdraft
category: Default
canonical: "https://truto.one/integrations/detail/spotdraft/"
---

# SpotDraft API Integration on Truto



**Category:** Default  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Roles** — The Role object represents a role of a User.
- **Users** — The User object represents a User.

### Unified E-Signature API

- **Documents** — The Document object is used to represent documents of e-signature.
- **Field Groups** — Represents a group of fields in an E-Signature.
- **Fields** — Fields represent the attributes defined for various entities in the underlying product. Depending on the underlying product, custom attributes can be defined by a User on various entities like Template, Workflow, etc. is_user_defined attribute within Field can be used to differentiate between custom and system defined Fields.
- **Templates** — The Template object is used to represent templates cofnigured for various entities like Documents, messages, etc.
- **Users** — The User object is used to represents a User
- **Workflows** — The Workflow object is used to represent automations configured in the e-sign application.

## MCP-ready AI tools

Truto exposes 46 tools for SpotDraft that AI agents can call directly.

- **list_all_spotdraft_roles** — Get active roles in the current workspace in SpotDraft. Returns id, name, and description of each role.
- **list_all_spotdraft_users** — Get all users in SpotDraft. Returns fields id, first_name, last_name, email, and designation for each user.
- **create_a_spotdraft_user** — Create and invite a user with email, first_name, last_name, designation, and role_ids in SpotDraft. Returns user creation confirmation.
- **list_all_spotdraft_organization_entities** — Get all entities associated with the organization in SpotDraft. Returns id, name, reference_id, jurisdiction, organization_type, primary_address, and is_primary fields for each entity.
- **create_a_spotdraft_organization_entity** — Create an entity with name, reference_id, jurisdiction_iso_code, organization_type_id, primary_address (city_name, state_name, zipcode, line_one, country_iso_code), and is_primary in SpotDraft. Returns created entity details.
- **list_all_spotdraft_organization_types** — Get all organization types for a jurisdiction in SpotDraft. Requires jurisdiction_iso_code. Returns id, name, and jurisdiction details including id, name, and iso_code.
- **list_all_spotdraft_templates** — Get list of published templates in SpotDraft. Returns items array with id, name, and contract_type_id for each template.
- **get_single_spotdraft_template_by_id** — Get details for a contract template by id in SpotDraft. Returns id, name, tags, and contract_type_id of the template.
- **update_a_spotdraft_template_by_id** — Update template data for a contract template in SpotDraft using id. Returns id, name, contract_type_id, and updated tags.
- **list_all_spotdraft_contracts** — Get a list of contracts in SpotDraft filtered by client_email_address or client_name. Returns id, created, created_by, contract_link, contract_status, contract_name, counter_party_name, contract_type_name, reference_id, created_by_user_name, and created_by_user_email fields.
- **create_a_spotdraft_contract** — Create a contract in SpotDraft with contract_template_id and counter_party_details. Returns contract id, name, status, and created_at timestamp.
- **list_all_spotdraft_template_metadata** — Get the list of fields required to create a contract with a given template in SpotDraft. Returns attributes defining the contract_data payload and counter_party_kind indicating if the counter party is Individual, Organisation, or Both.
- **get_single_spotdraft_webhook_secret_by_id** — Get the Base64 encoded webhook secret key in SpotDraft. Returns the hmac_key field which is the Base64 of the secret for webhook.
- **create_a_spotdraft_webhook_secret** — Create a webhook in SpotDraft with title, url, and only_for_activities parameters. Returns webhook id, title, url, description, and subscribed activities.
- **delete_a_spotdraft_webhook_secret_by_id** — Delete a webhook secret by id in SpotDraft. Requires id.
- **list_all_spotdraft_contract_types** — Get list of contract types in SpotDraft. Returns id and name of each contract type.
- **list_all_spotdraft_contract_type_entities** — Get the list of contract type entities for contract_type_id in SpotDraft. Returns entity_id, entity_name, entity_type, jurisdiction_of_incorporation, address, and is_primary fields for each entity.
- **get_single_spotdraft_clickwrap_by_id** — Get clickwrap details by clickwrap_public_id in SpotDraft. Returns id, name, description, created_by_org_user info, updated timestamp, agreements with current_version details, public_id, contract_type_id, and settings.
- **create_a_spotdraft_clickwrap** — Create a clickwrap contract in SpotDraft using clickwrap_public_id, user_identifier, and clickwrap_id. Returns agreements with id, version_id, and has_clicked status.
- **get_single_spotdraft_clickwrap_consent_status_by_id** — Get consent status for a user identified by user_identifier for a specific clickwrap in SpotDraft. Returns status values NOT_ACCEPTED, ACCEPTED_OLDER_VERSION, or ACCEPTED_LATEST_VERSION.
- **get_single_spotdraft_contract_approval_by_id** — Get contract approvals for contract_id in SpotDraft. Returns approval details including id, approval_name, approval_type, approver info, sent_for_approval status, last_sent_at, notes, created_by info, current_status, and approval_actions with status, action_notes, created date, and latest flag.
- **create_a_spotdraft_contract_approval** — Create and send adhoc approvals for a contract in SpotDraft using contract_id and approvals array. Returns created approvals with fields id, contract_id, is_sent, name, approver_user_id, approver_role_id, notes, and order.
- **list_all_spotdraft_contract_key_pointers** — Get list of key pointers for a given contract in SpotDraft. Requires contract_id of the form T-123 or H-123. Returns id, value, label, filed_name, data_type, and format_option fields for each key pointer.
- **update_a_spotdraft_contract_key_pointer_by_id** — Update the specified key pointer value for a contract in SpotDraft. Requires contract_id and id. Returns the updated key pointer object including its new value.
- **list_all_spotdraft_contract_recipients** — Get list of all recipients for a contract in SpotDraft using composite_id. Returns recipient details including id, recipient_type, user info (id, name, designation, email), title, recipient_order, note, is_sent_for_signature, created, last_sent_for_signature_at, recipient_action (is_success, action_notes, timestamp), and status.
- **list_all_spotdraft_contract_recipient_links** — Get recipient link for contract with contract_id and recipient_email in SpotDraft. Returns link details including URL and expiration.
- **list_all_spotdraft_contract_activity_log_comments** — Get comments for a contract in SpotDraft using contract_id. Returns id, contract_id, comment text, and replies array with reply id and comment.
- **create_a_spotdraft_contract_activity_log_comment** — Add comment to contract activity log with contract_id. Returns comment content, contract_id, comment id, and associated replies in SpotDraft.
- **create_a_spotdraft_contract_version** — Upload a new contract version for contract_id in SpotDraft. Returns the uploaded contract_version details including document_name and execution status.
- **list_all_spotdraft_contract_notes** — Get all notes associated with the contract in SpotDraft. Requires contract_id of the form T-123 or H-123. Returns id, text, and note_tag fields for each note.
- **update_a_spotdraft_contract_note_by_id** — Update a contract note with contract_id and id in SpotDraft. Returns updated note fields: id, text, and note_tag.
- **list_all_spotdraft_counterparties** — Get the list of counterparties in SpotDraft. Returns id, name, is_individual, contacts (id, name, email), primary_address (city_name, state_name, country_name, zipcode, line_one), status, and custom_fields (vendor_id, gst_number).
- **get_single_spotdraft_counterparty_by_id** — Get details of a counterparty by id in SpotDraft. Returns id (unique identifier), name (unique within workspace), is_individual (individual or organization), status (ACTIVE or ARCHIVED), contacts (associated contacts), primary_address (address details), and custom_fields.
- **create_a_spotdraft_counterparty** — Create a counterparty in SpotDraft with required details including is_individual, contact_email, contact_name, and primary_address with city_name, country_name, and line_one. Returns the counterparty workspace id and status in response.
- **update_a_spotdraft_counterparty_by_id** — Update counterparty details with id in SpotDraft. Requires name, brand_name, and custom_fields. Returns updated counterparty information including name, brand_name, and custom_fields.
- **list_all_spotdraft_counter_party_addresses** — Get list of counterparty addresses for counterparty_id in SpotDraft. Returns id, line_one, city_name, state_name, zipcode, country_name, email, and phone for each address.
- **create_a_spotdraft_counter_party_address** — Create a counterparty address in SpotDraft with required parameters city_name, country_name, and line_one. Returns the created address including city_name, country_name, line_one, and optional fields like email and phone.
- **update_a_spotdraft_counter_party_address_by_id** — Update counterparty address with counterparty_id and id in SpotDraft. Returns updated address fields including city_name, country_iso_code, is_primary, line_one, state_name, and zipcode.
- **list_all_spotdraft_counter_party_contacts** — Get list of counterparty contacts for counterparty_id in SpotDraft. Returns id, name, email, and is_primary fields for each contact.
- **create_a_spotdraft_counter_party_contact** — Create a counterparty contact with email, name, and is_primary for counterparty_id in SpotDraft. Returns the created contact details including email, name, and primary status.
- **update_a_spotdraft_counter_party_contact_by_id** — Update counterparty contact with counterparty_id and id in SpotDraft. Returns updated contact fields including email, is_primary, and name.
- **delete_a_spotdraft_counter_party_contact_by_id** — Delete a counterparty contact by counterparty_id and id in SpotDraft. Returns no content on success.
- **list_all_spotdraft_key_pointers** — Get all key pointers for the Organization in SpotDraft. Requires contract_type_id. Returns id, descriptors with details like display_label, variable, type, help_text, required flags, and section info including id, section_type, and name.
- **create_a_spotdraft_user_tasks_list** — Create a user task list in SpotDraft with assignees, title, contract_id, due_date, due_date_key_pointer_id, notes, and reminders. Returns the created task details.
- **create_a_spotdraft_role_member** — Add members to a role in SpotDraft using role_id and user_ids_to_add. Returns the added members with id, email, name, and designation.
- **delete_a_spotdraft_role_member_by_id** — Delete role members by removing user_ids_to_remove from the role identified by role_id in SpotDraft. The response confirms the removal of specified user IDs.

## How it works

1. **Link your customer's SpotDraft account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach SpotDraft.** The Proxy API is a 1-to-1 mapping of the SpotDraft API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate contract generation from your SaaS workflow** — CRM, CPQ, or RevOps platforms can let their users generate personalized contracts directly from deal data — pulling SpotDraft templates, populating counterparty details, and creating contracts without leaving the host application.
- **Sync counterparties and contacts bidirectionally** — Procurement, vendor management, or CRM tools can keep their account and contact records in sync with SpotDraft counterparties, ensuring contract parties are always up to date without manual data entry.
- **Pull AI-extracted contract metadata into your product** — Finance, compliance, or spend management platforms can read SpotDraft's Key Pointers — structured fields like contract value, renewal dates, and payment terms — to surface obligation data natively in their own UI.
- **Embed clickwrap compliance into onboarding flows** — HRTech and employee onboarding platforms can programmatically create clickwrap agreements and check consent status, gating account provisioning or next steps on policy acceptance.
- **Surface contract approval and activity data in external timelines** — Project management or collaboration tools can trigger contract approvals, post comments to SpotDraft activity logs, and reflect contract progress in their own activity feeds for full visibility.

## What you can build

- **One-click contract creation from deal records** — Let users select a SpotDraft template, auto-populate it with account and contact data, and generate a ready-to-sign contract directly from your app using create_a_spotdraft_contract.
- **Counterparty and contact sync engine** — Automatically create and update SpotDraft counterparties, addresses, and contacts whenever a customer or vendor record changes in your platform.
- **Contract metadata dashboard powered by Key Pointers** — Display AI-extracted obligations, renewal dates, and financial terms from SpotDraft contracts inside your product by reading Key Pointers in real time.
- **Embedded clickwrap consent tracking** — Create SpotDraft clickwrap agreements from your onboarding flow and poll consent status to conditionally unlock downstream actions like IT provisioning or access grants.
- **Real-time contract status updates via webhooks** — Register webhook secrets through Truto so your app is instantly notified when contracts are signed, approved, or updated — no polling required.
- **Unified user and role directory for SpotDraft** — List SpotDraft users and roles, create new users, and manage role memberships through Truto's Unified User Directory API to keep permissions aligned across systems.

## FAQs

### What authentication method does the SpotDraft integration use?

Truto handles authentication for SpotDraft on your behalf. Your end users connect their SpotDraft accounts through Truto's managed auth flow, so you never need to store or refresh credentials directly.

### Which Unified APIs does Truto map SpotDraft to?

SpotDraft is mapped to Truto's Unified User Directory API (covering Roles and Users) and Unified E-Signature API (covering Documents, Field Groups, Fields, Templates, Users, and Workflows). You can use these standardized models or call SpotDraft-specific proxy endpoints for full API coverage.

### Can I create contracts from templates dynamically?

Yes. You can list all available templates, fetch a specific template's required fields via list_all_spotdraft_template_metadata, and then call create_a_spotdraft_contract with the populated payload to generate a contract programmatically.

### How do I receive real-time updates when a contract is signed or approved?

You can register a webhook endpoint using create_a_spotdraft_webhook_secret through Truto. SpotDraft will push event notifications to your endpoint, eliminating the need to poll for status changes.

### Can I manage counterparty data including contacts and addresses?

Yes. The integration supports full CRUD for counterparties, counterparty contacts, and counterparty addresses — you can create, list, update, and (for contacts) delete records programmatically.

### Does Truto handle pagination and rate limits for SpotDraft?

Truto automatically manages pagination across list endpoints and handles API-specific rate limiting and retries, so you get consistent, complete results without building that logic yourself.
