Skip to main content

record-assessment-backend

Backend SDK for SmartAI Assessment Portal — create sessions and manage assessments from your server.

Install

pip install record-assessment-backend

Usage

from record_assessment_backend import AssessmentClient

client = AssessmentClient(
    api_key="VFN_LIVE_...",
    secret_key="VFN_SK_LIVE_...",
    base_url="https://your-api.com/api/v1",           # optional
    webhook_base_url="https://your-webhook-api.com",   # optional
    timeout=60.0,                                       # optional — create_campaign calls OpenAI server-side
)

Create a session

result = client.create_session(
    candidate_id="mongo_candidate_id",
    name="Jane Doe",
    email="jane@example.com",
)
token = result["token"]

Create a campaign

Generates the assessment immediately. method must be "programming" or "knowledge" and the workflow must have that verification method enabled — "programming" generates a programming-only assessment, "knowledge" generates a mix of mcq/true-false/short-answer/long-answer per the workflow's configured counts. workflow_id, method, and name+email are required — everything else falls back to the workflow's own defaults:

campaign = client.create_campaign(
    workflow_id="wf_...",
    method="knowledge",
    name="Jane Doe",
    email="jane@example.com",
    job_title="Backend Engineer",  # optional
    experience="3",                 # optional
    level="2-5",                    # optional
)
assessment_link = campaign["assessmentLink"]

List assessments

assessments = client.list_assessments()

Poll for results

Fired by record-assessment-backend when a candidate submits or is disqualified — event types assessment.completed / assessment.disqualified:

result = client.get_webhook_events()
for event in result["events"]:
    print(event["event"], event["assessmentId"], event.get("score"))
if result["events"]:
    client.acknowledge_webhook_events([e["eventId"] for e in result["events"]])

Headers sent on every request

x-api-key:   VFN_LIVE_...
x-signature: hmac-sha256(secret_key, "METHOD:/api/v1/path:timestamp:sorted_body")
x-timestamp: 1234567890123

Notes

  • secret_key is HMAC-sign-only for signed requests (list_assessments); create_session and create_campaign send it directly as x-secret-key instead, since those endpoints authenticate with x-api-key + x-secret-key rather than a signature.
  • There's a single deployed backend for this integration — no separate test/live URLs. base_url and webhook_base_url both default to it, and can each be overridden independently via the constructor params (e.g. for local testing). Webhook events do use a different response envelope though: {status, code, data} on success, {status, code, message} on error — not {success, data} like the rest of this client.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

record_assessment_backend-2.0.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

record_assessment_backend-2.0.1-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file record_assessment_backend-2.0.1.tar.gz.

File metadata

File hashes

Hashes for record_assessment_backend-2.0.1.tar.gz
Algorithm Hash digest
SHA256 e5386f543071320fb3885802cd1c2cc47946c88a1eca659ba828c48d216ee161
MD5 7ae34dbeec436f356e9eed50e2be30a3
BLAKE2b-256 7dc9ab9a4e25c9e071de21787082dd3064df290c2e4a372da83d1f1f8b40b0f3

See more details on using hashes here.

File details

Details for the file record_assessment_backend-2.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for record_assessment_backend-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fe5fe6d5d49c51262048a928cd9d277120040358775c22061d77eec3a719e541
MD5 96011e5d9f8b0080d40dec28b10d346f
BLAKE2b-256 5b96389ef8a6f7e51a90fb1308584c7f5b88969f4a59f2a48ce1498904853414

See more details on using hashes here.

Release history Release notifications | RSS feed

2.0.4

2 files

2.0.3

2 files

2.0.2

2 files

This release

2.0.1 This release

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page