Privicore
  1. Voting
Privicore
  • Privicore API
  • Utility
    • Utility
    • Check server health
      GET
    • Request command id status
      GET
  • Profile
    • Profile Model and Authentication Workflow
    • Register new profile
      POST
    • Authenticate
      POST
    • Retrieve profile id
      GET
    • Change password
      POST
    • Generate qr token for authorization
      POST
    • Reauthorize authorization token
      POST
    • Revoke authorization token
      POST
    • Retrieve token expiry
      POST
  • OAuth Application
    • OAuth Application Management
    • Register OAuth Application
      POST
    • Retrieve OAuth app configuration
      POST
    • Request OAuth app authorization code
      GET
    • Retrieve OAuth app authorization code
      POST
    • Obtain OAuth app access token
      POST
    • OAuth application list
      GET
    • Retrieve OAuth application scope
      GET
    • Refresh OAuth app access token
      POST
  • Public key
    • Public and Private Key Management
    • Generate your private and public keys
      GET
    • Register public key
      POST
    • Retrieve public key
      GET
    • Retrieve CAB public key
      GET
  • Data Token
    • Data Token Management
    • Reserve token space
    • Retrieve temporary data token
    • Exchange data for token
    • Upstream file via stream auth
    • Request data via token
    • Download data
    • Configure information security risk meta
    • Configure file meta
    • List data tokens
    • Update data token
    • Delete data
  • Device
    • Device Management
    • Request unique identifier (i.e. Register new device)
    • Retrieve unique identifier
    • Retrieve profile devices
    • Configure device meta
    • Approve device
    • Reject device
    • Retrieve device configuration
    • Remove device
  • Storage
    • Storage Device Management
    • Register storage device
    • List storage devices
    • Synchronize device
    • Remove storage
  • Verified authenticator
    • Authenticator and Voting Management
    • Register authenticator
    • List verified authenticators
    • Retrieve voting strategy
    • Set quorum size
    • Set quorum strategy
    • Set voting time limit
    • Set maximum voting attempts
    • Remove authenticator
    • Register voting configuration
    • Update voting configuration
    • List voting configurations
    • Retrieve voting configuration
  • Policy
    • Policy Management
    • List policy templates
    • Register policy
    • List active policies
    • List inactive policies
    • Activate policy
    • Deactivate policy
    • Delete policy
    • List registered policies
    • Retrieve registered policy
  • Voting
    • Voting Operations
    • Create voting
      POST
    • Check pool status
      POST
  • Websockets
    • WebSocket Integration
    • Establishing Connection
    • Join Channel
    • Leave Channel
    • Command Status Messages
    • Data Download Messages
  • Schemas
    • Response
      • CommandAccepted
      • Unauthorized
      • ValidationErrors
    • Schemas
    • profileId
    • deviceIdentifier
    • directoryId
    • directoryName
    • directoryShortName
    • givenName
    • familyName
    • createdAt
    • meta
  1. Voting

Create voting

POST
/voting/create

Overview#

Manually create a poll for authorization, specifying the voting configuration and context for Authenticators to evaluate.

Create Voting#

Endpoint: POST /voting/create
Authentication: Required (Authorization token obtained from the step)
Content-Type: application/json

Request Parameters#

ParameterTypeRequiredDescription
votingConfigurationIdstringYesVoting configuration identifier to apply to this poll
questionstringYesThe question or action Authenticators are voting on
titlestringYesBrief title for the poll
skipAuthenticatorDevicesarray[string]NoAuthenticator device identifiers to exclude from voting
noncestringNoExternal reference or context information to include with the poll

Use Case#

Use this endpoint to create a manual poll for authorization outside of policy-driven workflows. The poll:
Uses the specified voting configuration for strategy, time limits, and quorum
Sends ballots to all registered Authenticators (except those in skipAuthenticatorDevices)
Presents the question and title to Authenticators for context
Includes optional nonce for tracking or external system integration
Example Scenarios:
Administrative Approval:
{
  "votingConfigurationId": "admin-approval-config",
  "question": "Approve adding John Smith to the Finance team?",
  "title": "Team Member Addition",
  "skipAuthenticatorDevices": [],
  "nonce": "hr-request-12345"
}
Exceptional Access:
{
  "votingConfigurationId": "high-security-config",
  "question": "Grant emergency access to production database?",
  "title": "Emergency Access Request",
  "skipAuthenticatorDevices": ["mobile-device-123"],
  "nonce": "incident-2024-001"
}
The response includes the poll identifier, which can be used with the check pool status endpoint to monitor voting progress.
Poll is created immediately and ballots are distributed to Authenticators
Voting configuration determines strategy, time limits, and quorum requirements
title and question should provide clear context for Authenticators
Use skipAuthenticatorDevices to exclude specific devices from voting
nonce can be used to correlate polls with external systems or tracking
Poll follows the same security model as policy-driven voting
Check pool status to monitor voting progress and outcome

Request

Authorization
API Key
Add parameter in header
X-DPT-AUTHORIZATION
Example:
X-DPT-AUTHORIZATION: ********************
or
Header Params

Body Params application/json

Example
{
    "votingConfigurationId": "example_voting_configuration_id",
    "question": "Example question",
    "title": "Example title",
    "skipAuthenticatorDevices": [
        ""
    ],
    "nonce": ""
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://sandbox.privicore.com:9009/voting/create' \
--header 'X-DPT-AUTHORIZATION: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "votingConfigurationId": "example_voting_configuration_id",
    "question": "Example question",
    "title": "Example title",
    "skipAuthenticatorDevices": [
        ""
    ],
    "nonce": ""
}'

Responses

🟢202Success
This response does not have a body.
🟠401401
🟠422422
Modified at 2025-12-31 12:24:19
Previous
Voting Operations
Next
Check pool status
Built with