ViksaAIDocs
Start now
Channel Hub

Directory sync & project users API

Admin endpoints for customer directories, CRM/spreadsheet sync, bulk delete, and runtime identity linking.

Service routing#

Customer directory admin is split across two backend services. The UI routes through the same gateway paths your integrations should use.

ServiceGateway baseResponsibility
directory-sync-servicehttps://api.viksaai.com/directory-syncSchema, customer CRUD, CSV import/export, bulk delete, data sources, SCIM, CRM/sheet sync
volt-engine-servicehttps://api.viksaai.com/volt-engineRuntime identity link/unlink, unmatched users, invoker audit (webhook hot path)

Scope payload#

Required on every requestjson
{
  "account_id": "acc_…",
  "org_id": "org_…",
  "project_id": "prj_…"
}

Project users (directory-sync-service)#

Base path: https://api.viksaai.com/directory-sync/internal/volt/project-users. See also Subject binding & project users for the product workflow.

EndpointPermissionDescription
https://api.viksaai.com/directory-sync/internal/volt/project-users/schema/getviewLoad project user schema (primary key, fields, connector bindings, match messages).
https://api.viksaai.com/directory-sync/internal/volt/project-users/schema/upsertupdateCreate or replace schema definition and auto-match rules.
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/listviewPaginated customer index. Optional filters: search, enabled_only, data_source_kind, data_source_provider, data_source_connection_id.
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/getviewFull customer record — profile, data_source, connector status, identity links, grants.
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/upsertupdateCreate or update a customer row (syncs connector primary keys from profile fields).
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/deletedeleteDelete one customer by customer_user_id; revokes grants and identity links.
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/delete-bulkdeleteStart async purge for up to 500 customers by customer_user_ids. Returns purge_id immediately; poll /users/purge/get for progress.
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/delete-previewviewCount customers matching search or data-source filters before bulk delete (requires restrictive filters).
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/delete-by-filterdeleteStart async purge for customers matching filters (max 5000). Deleting all customers requires confirm_project_id matching project_id. Poll /users/purge/get for progress.
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/purge/getviewGet async customer purge status by purge_id (progress_pct, stats, errors_sample).
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/purge/listviewList customer purge runs for the project; active_only returns pending/running jobs.
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/data-sources/listviewSummarize customer counts grouped by data source (manual, csv, scim, directory_sync).
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/import-csvexecuteBulk upsert from CSV text. Sets data_source metadata (kind csv, provider csv_file by default).
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/export-csvviewExport customer rows as CSV (optional search filter).
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/attach-channel-grantupdateLink customer to channel access grant and assign agents.
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/channel-access/listviewPer-connector access rows for a customer (grant status, linked identity).
https://api.viksaai.com/directory-sync/internal/volt/project-users/users/set-connector-enabledupdateEnable or disable one connector for a customer without deleting the row.
https://api.viksaai.com/directory-sync/internal/volt/project-users/scim/enableupdateEnable enterprise SCIM provisioning for the project user directory.
https://api.viksaai.com/directory-sync/internal/volt/project-users/scim/disabledeleteDisable SCIM provisioning.
https://api.viksaai.com/directory-sync/internal/volt/project-users/scim/statusviewSCIM endpoint URL and token metadata for IdP configuration.

List & delete filters#

POST /users/list, /users/delete-preview, and /users/delete-by-filter accept the same optional filters:

  • search — substring match on primary key and profile fields
  • enabled_only — only enabled customers
  • data_source_kind — manual, csv, scim, or directory_sync
  • data_source_provider — e.g. csv_file, hubspot
  • data_source_connection_id — sync connection id for directory_sync rows
users/list with data source filterjson
{
  "account_id": "acc_…",
  "org_id": "org_…",
  "project_id": "prj_…",
  "search": "alice",
  "page": 1,
  "page_size": 25,
  "enabled_only": false,
  "data_source_kind": "directory_sync",
  "data_source_provider": "hubspot",
  "data_source_connection_id": "dconn_…"
}

Data source kinds#

Each customer row stores a data_source object. The Channel Hub Customers tab shows this in the Data source column; /users/data-sources/list returns aggregated counts for filters and bulk delete by source.

kindMeaning
manualCreated in UI or API without an import/sync tag.
csvCSV import (users/import-csv or mapped import).
scimEnterprise IdP SCIM provisioning.
directory_syncCRM or spreadsheet sync connection.

Directory sync connections (directory-sync-service)#

Base path: https://api.viksaai.com/directory-sync/internal/volt/directory-sync. Configure connections in Channel Hub → Data sources.

EndpointPermissionDescription
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/providers/listviewCatalog of supported sync providers (HubSpot, Google Sheets, etc.).
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/connections/listviewSaved sync connections for the project.
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/connections/getviewLoad one connection by connection_id.
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/connections/upsertupdateCreate or update a provider connection (credentials, field mapping).
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/connections/deletedeleteRemove a sync connection.
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/connections/testexecuteValidate credentials and mapping without writing customers.
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/connections/previewviewSample rows from the remote source using current field mapping.
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/connections/syncexecuteRun a sync job — upserts customers and tags rows with directory_sync data_source.
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/runs/listviewPaginated sync run history.
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/runs/getviewSingle sync run status, counts, and errors.
https://api.viksaai.com/directory-sync/internal/volt/directory-sync/import/csv-mappedexecuteImport CSV with explicit column → schema field mapping (used by mapped import UI).

Runtime identity (volt-engine-service)#

Identity linking stays on volt-engine because webhooks resolve users on the runtime hot path. Manage links from the customer detail drawer or the Unmatched tab.

EndpointPermissionDescription
https://api.viksaai.com/volt-engine/internal/volt/project-users/identities/linkupdateManually bind connector external_user_id → customer_user_id.
https://api.viksaai.com/volt-engine/internal/volt/project-users/identities/unlinkdeleteRevoke grant and remove connector link.
https://api.viksaai.com/volt-engine/internal/volt/project-users/identities/listviewIdentity links for one customer_user_id.
https://api.viksaai.com/volt-engine/internal/volt/project-users/identities/list-allviewPaginated list of all connector → customer links (used from customer detail).
https://api.viksaai.com/volt-engine/internal/volt/project-users/unmatched/listviewConnector directory users seen on webhooks with no project_user_identities link.
https://api.viksaai.com/volt-engine/internal/volt/project-users/audit/listviewPlatform-injected invoker fields per agent dispatch.