ATS
Dvinci
API integration
Ship ATS features without building the integration. Full Dvinci API access via Proxy and 70+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Dvinci
Common scenarios for SaaS companies building Dvinci integrations for their customers.
Embed d.vinci into career site builders
Let your SaaS pull live job publications, locations, and org units from your customers' d.vinci instances to render dynamic, SEO-friendly career pages — and post applications with resumes back without manual recruiter entry.
Power AI screening and interview tools
Offer your customers an AI screening product that reads candidate context from d.vinci, advances applicants through pipeline stages, and writes interview summaries directly into the applicant history timeline.
Automate background checks and compliance workflows
Trigger background verification when candidates hit a specific stage, fetch applicant PII from d.vinci, and push signed compliance PDFs back into the digital applicant file — critical for DACH customers with strict audit requirements.
Sync hiring requests with internal approval bots
Build Slack or Teams bots that surface open d.vinci hiring requests to department heads, track approver chains, and update requisition status once budgets are signed off.
Provision IT and HR systems on hire
Let downstream IT, payroll, or core HR tools listen to d.vinci onboardings and automatically generate tickets for laptops, accounts, and licenses the moment a candidate is marked as hired.
What You Can Build
Ship these features with Truto + Dvinci
Concrete product features your team can ship faster by leveraging Truto’s Dvinci integration instead of building from scratch.
Headless job board sync
Fetch d.vinci job publications, locations, and org units to render dynamic career pages, with new applications and attachments posted straight back into d.vinci.
Stage-triggered candidate automation
Move candidates between stages and across job openings programmatically using the applications status and move endpoints to drive assessments, screens, and offer flows.
Timeline event injection
Write recruiter notes, AI interview summaries, or vendor results directly into the application history so d.vinci stays the single source of truth.
Digital applicant file sync
Upload CVs, cover letters, and signed compliance PDFs as application attachments, and fetch onboarding attachment PDFs for downstream archival.
Hiring request approval workflows
List, create, and update hiring requests and surface approver chains inside your own product to orchestrate headcount approvals outside of d.vinci.
Onboarding-to-provisioning handoff
Read onboardings and onboarding attachments to trigger IT provisioning, payroll setup, or welcome workflows the moment a candidate converts to a hire.
SuperAI
Dvinci AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_dvinci_applications
List applications using the dvinci API.
create_a_dvinci_application
Create applications using the dvinci API.
get_single_dvinci_application_by_id
Get applications using the dvinci API.
update_a_dvinci_application_by_id
Update applications using the dvinci API.
delete_a_dvinci_application_by_id
Delete applications using the dvinci API.
dvinci_applications_change_status
Change status applications using the dvinci API.
dvinci_applications_move_job_opening
Move job opening applications using the dvinci API.
dvinci_applications_get_by_external_id
Get applications by external ID.
list_all_dvinci_application_attachments
List application attachments using the dvinci API.
create_a_dvinci_application_attachment
Create application attachments using the dvinci API.
get_single_dvinci_application_attachment_by_id
Get application attachments using the dvinci API.
dvinci_application_attachments_get_pdf
Get pdf application attachments using the dvinci API.
delete_a_dvinci_application_attachment_by_id
Delete application attachments using the dvinci API.
list_all_dvinci_application_history
List application history using the dvinci API.
dvinci_application_history_upsert
Upsert application history using the dvinci API.
dvinci_application_history_upsert_entry
Upsert entry application history using the dvinci API.
list_all_dvinci_configuration_external_links
List configuration external links using the dvinci API.
dvinci_configuration_external_links_upsert
Upsert configuration external links using the dvinci API.
list_all_dvinci_hiring_requests
List hiring requests using the dvinci API.
create_a_dvinci_hiring_request
Create hiring requests using the dvinci API.
get_single_dvinci_hiring_request_by_id
Get hiring requests using the dvinci API.
update_a_dvinci_hiring_request_by_id
Update hiring requests using the dvinci API.
dvinci_hiring_requests_get_by_external_id
Get hiring requests by external ID.
list_all_dvinci_hiring_request_history
List hiring request history using the dvinci API.
list_all_dvinci_hiring_request_approvers
List hiring request approvers using the dvinci API.
list_all_dvinci_job_openings
List job openings using the dvinci API.
create_a_dvinci_job_opening
Create job openings using the dvinci API.
get_single_dvinci_job_opening_by_id
Get job openings using the dvinci API.
update_a_dvinci_job_opening_by_id
Update job openings using the dvinci API.
delete_a_dvinci_job_opening_by_id
Delete job openings using the dvinci API.
dvinci_job_openings_get_by_external_id
Get job openings by external ID.
list_all_dvinci_job_opening_history
List job opening history using the dvinci API.
dvinci_job_opening_history_upsert
Upsert job opening history using the dvinci API.
dvinci_job_opening_history_upsert_entry
Upsert entry job opening history using the dvinci API.
list_all_dvinci_job_publications
List job publications using the dvinci API.
create_a_dvinci_job_publication
Create job publications using the dvinci API.
get_single_dvinci_job_publication_by_id
Get job publications using the dvinci API.
update_a_dvinci_job_publication_by_id
Update job publications using the dvinci API.
delete_a_dvinci_job_publication_by_id
Delete job publications using the dvinci API.
dvinci_job_publications_delete_deprecated
Delete job publications through the vendor's deprecated POST route.
dvinci_job_publications_get_by_external_id
Get job publications by external ID.
list_all_dvinci_locations
List locations using the dvinci API.
create_a_dvinci_location
Create locations using the dvinci API.
get_single_dvinci_location_by_id
Get locations using the dvinci API.
update_a_dvinci_location_by_id
Update locations using the dvinci API.
delete_a_dvinci_location_by_id
Delete locations using the dvinci API.
list_all_dvinci_onboardings
List onboardings using the dvinci API.
get_single_dvinci_onboarding_by_id
Get onboardings using the dvinci API.
delete_a_dvinci_onboarding_by_id
Delete onboardings using the dvinci API.
list_all_dvinci_onboarding_attachments
List onboarding attachments using the dvinci API.
get_single_dvinci_onboarding_attachment_by_id
Get onboarding attachments using the dvinci API.
dvinci_onboarding_attachments_get_pdf
Get pdf onboarding attachments using the dvinci API.
list_all_dvinci_org_units
List org units using the dvinci API.
get_single_dvinci_org_unit_by_id
Get org units using the dvinci API.
list_all_dvinci_persons
List persons using the dvinci API.
create_a_dvinci_person
Create persons using the dvinci API.
get_single_dvinci_person_by_id
Get persons using the dvinci API.
update_a_dvinci_person_by_id
Update persons using the dvinci API.
delete_a_dvinci_person_by_id
Delete persons using the dvinci API.
dvinci_persons_get_by_external_id
Get persons by external ID.
get_single_dvinci_person_photo_by_id
Get person photos using the dvinci API.
create_a_dvinci_person_photo
Create person photos using the dvinci API.
delete_a_dvinci_person_photo_by_id
Delete person photos using the dvinci API.
list_all_dvinci_roles
List roles using the dvinci API.
get_single_dvinci_role_by_id
Get roles using the dvinci API.
list_all_dvinci_users
List users using the dvinci API.
create_a_dvinci_user
Create users using the dvinci API.
get_single_dvinci_user_by_id
Get users using the dvinci API.
update_a_dvinci_user_by_id
Update users using the dvinci API.
delete_a_dvinci_user_by_id
Delete users using the dvinci API.
list_all_dvinci_user_groups
List user groups using the dvinci API.
create_a_dvinci_user_group
Create user groups using the dvinci API.
get_single_dvinci_user_group_by_id
Get user groups using the dvinci API.
update_a_dvinci_user_group_by_id
Update user groups using the dvinci API.
delete_a_dvinci_user_group_by_id
Delete user groups using the dvinci API.
Why Truto
Why use Truto’s MCP server for Dvinci
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Dvinci in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Dvinci account
Use Truto’s frontend SDK to connect your customer’s Dvinci account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Dvinci
Truto’s Proxy API is a 1-to-1 mapping of the Dvinci API. You call us, we call Dvinci, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Dvinci’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Dvinci on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication to d.vinci work through Truto?
Truto handles the d.vinci auth handshake and token storage for each of your end users' connected accounts, so you don't manage credentials or refresh logic. Your end users connect their d.vinci tenant once and your product calls Truto's unified endpoints from there.
Which d.vinci objects can I read and write?
The integration covers applications, application attachments and history, hiring requests and approvers, job openings, job publications, locations, org units, onboardings and onboarding attachments, persons and person photos, roles, users, user groups, and configuration external links — with list, get, create, update, and delete operations where d.vinci supports them.
Can I move candidates through the pipeline programmatically?
Yes. You can call dedicated endpoints to change an application's status and move an application to a different job opening, which lets you build stage-triggered automations and reassign candidates across requisitions.
How do I keep d.vinci as the system of record for recruiter activity?
Use the application history upsert endpoints to inject events, notes, or external tool results directly into the applicant timeline, so recruiters see everything inside d.vinci without context switching.
Can I look up records by my own IDs instead of d.vinci's internal IDs?
Yes. Applications, persons, hiring requests, job openings, and job publications all expose get-by-external-id endpoints, which makes idempotent syncs and cross-system reconciliation much simpler.
How do I handle resumes and signed onboarding documents?
You can list, create, fetch, and delete application attachments, retrieve attachment PDFs, and pull PDFs from the onboarding attachments endpoint — enough to support the digital applicant file workflows common with DACH customers.
Is data fetched live or cached?
Truto proxies requests to d.vinci on demand, so reads reflect the current state of the customer's tenant. For high-volume use cases you can layer scheduled syncs on top of the list endpoints rather than hitting d.vinci on every user action.
From the Blog
Dvinci integration guides
Deep dives, architecture guides, and practical tutorials for building Dvinci integrations.
Dvinci
Get Dvinci integrated into your app
Our team understands what it takes to make a Dvinci integration successful. A short, crisp 30 minute call with folks who understand the problem.