Skip to content

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 us

Use Cases

Why integrate with Dvinci

Common scenarios for SaaS companies building Dvinci integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

Digital applicant file sync

Upload CVs, cover letters, and signed compliance PDFs as application attachments, and fetch onboarding attachment PDFs for downstream archival.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

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.