Package data model

Used by assessment providers to SUBMIT packages to ATS systems

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNoUnique identifier for the assessment package
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
workspace_idstringNoWorkspace ID that this package belongs to (reference to KmsSpace) (read-only)
connection_idstringNoConnection ID that this package belongs to (read-only)
integration_typesstring[]NoIntegration types that support this package
namestringNoName of the assessment package
typeenumYesValues: SKILLS_TEST, BEHAVIORAL_ASSESSMENT, VIDEO_INTERVIEW, BACKGROUND_CHECK, REFERENCE_CHECK, OTHER
aliasesstring[]NoAlternative namesidentifiers for this package
tagsstring[]NoCategory tags (e.g., "Assessment", "Background Check")
descriptionstringNoDetailed description
parametersAssessmentParameter[]NoQuestionsinputs needed for this assessment (aligned with verification)
parameters[].idstringNo
parameters[].namestringNo
parameters[].public_questionstringNoQuestion to ask the candidateuser
parameters[].typeenumNoValues: TEXT, NUMBER, MULTIPLE_CHOICE, MULTIPLE_SELECT, DATE, FILE
parameters[].optionsstring[]NoOptions for MULTIPLE_CHOICE and MULTIPLE_SELECT
parameters[].file_typesstring[]NoValid file MIME types for FILE type
parameters[].valid_regionsstring[]NoRegions where this parameter is valid ({country}-{state} or {country})
parameters[].is_requiredbooleanNo
has_redirect_urlbooleanNoWhether provider redirects user to complete assessment
has_target_urlbooleanNoWhere provider redirects user after completion
needs_ip_addressbooleanNoWhether IP address is required
max_scorenumberNoMaximum possible score if this assessment returns a score
info_urlstringNoURL to find additional information about this package
regionsAssessmentPackageRegion[]No
regions[].regionsstring[]NoCountryregion codes where this package is available ({country}-{state} or {country})
regions[].cost_amountnumberNo
regions[].currencystringNoISO 4217 format
regions[].processing_timenumberNoProcessing time in milliseconds

TypeScript

TypeScript
export type AssessmentPackage = {
	id?: string; // Unique identifier for the assessment package
	created_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	workspace_id?: string; // Workspace ID that this package belongs to (reference to KmsSpace)
	connection_id?: string; // Connection ID that this package belongs to
	integration_types?: string[]; // Integration types that support this package
	name?: string; // Name of the assessment package
	type: 'SKILLS_TEST' | 'BEHAVIORAL_ASSESSMENT' | 'VIDEO_INTERVIEW' | 'BACKGROUND_CHECK' | 'REFERENCE_CHECK' | 'OTHER';
	aliases?: string[]; // Alternative namesidentifiers for this package
	tags?: string[]; // Category tags (e.g., "Assessment", "Background Check")
	description?: string; // Detailed description
	parameters?: []; // Questionsinputs needed for this assessment (aligned with verification)
	has_redirect_url?: boolean; // Whether provider redirects user to complete assessment
	has_target_url?: boolean; // Where provider redirects user after completion
	needs_ip_address?: boolean; // Whether IP address is required
	max_score?: number; // Maximum possible score if this assessment returns a score
	info_url?: string; // URL to find additional information about this package
	regions?: [];
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodAssessmentPackage = z.object({
	id: z.string().optional().describe("Unique identifier for the assessment package"),
	created_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	workspace_id: z.string().optional().describe("Workspace ID that this package belongs to (reference to KmsSpace)"),
	connection_id: z.string().optional().describe("Connection ID that this package belongs to"),
	integration_types: z.array().optional().describe("Integration types that support this package"),
	name: z.string().optional().describe("Name of the assessment package"),
	type: z.enum("SKILLS_TEST", "BEHAVIORAL_ASSESSMENT", "VIDEO_INTERVIEW", "BACKGROUND_CHECK", "REFERENCE_CHECK", "OTHER"),
	aliases: z.array().optional().describe("Alternative namesidentifiers for this package"),
	tags: z.array().optional().describe("Category tags (e.g., "Assessment", "Background Check")"),
	description: z.string().optional().describe("Detailed description"),
	parameters: z.array().optional().describe("Questionsinputs needed for this assessment (aligned with verification)"),
	has_redirect_url: z.boolean().optional().describe("Whether provider redirects user to complete assessment"),
	has_target_url: z.boolean().optional().describe("Where provider redirects user after completion"),
	needs_ip_address: z.boolean().optional().describe("Whether IP address is required"),
	max_score: z.number().optional().describe("Maximum possible score if this assessment returns a score"),
	info_url: z.string().optional().describe("URL to find additional information about this package"),
	regions: z.array().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class AssessmentPackageType(str, Enum):
	SKILLS_TEST = 'SKILLS_TEST'
	BEHAVIORAL_ASSESSMENT = 'BEHAVIORAL_ASSESSMENT'
	VIDEO_INTERVIEW = 'VIDEO_INTERVIEW'
	BACKGROUND_CHECK = 'BACKGROUND_CHECK'
	REFERENCE_CHECK = 'REFERENCE_CHECK'
	OTHER = 'OTHER'

@dataclasses.dataclass
class AssessmentPackage:
	"""Unique identifier for the assessment package"""
	id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""Workspace ID that this package belongs to (reference to KmsSpace)"""
	workspace_id: Optional[str]
	"""Connection ID that this package belongs to"""
	connection_id: Optional[str]
	"""Integration types that support this package"""
	integration_types: Optional[List[List[str]]]
	"""Name of the assessment package"""
	name: Optional[str]
	type: AssessmentPackageType
	"""Alternative namesidentifiers for this package"""
	aliases: Optional[List[List[str]]]
	"""Category tags (e.g., "Assessment", "Background Check")"""
	tags: Optional[List[List[str]]]
	"""Detailed description"""
	description: Optional[str]
	"""Questionsinputs needed for this assessment (aligned with verification)"""
	parameters: Optional[PropertyAssessmentPackageParameters]
	"""Whether provider redirects user to complete assessment"""
	has_redirect_url: Optional[bool]
	"""Where provider redirects user after completion"""
	has_target_url: Optional[bool]
	"""Whether IP address is required"""
	needs_ip_address: Optional[bool]
	"""Maximum possible score if this assessment returns a score"""
	max_score: Optional[int]
	"""URL to find additional information about this package"""
	info_url: Optional[str]
	regions: Optional[PropertyAssessmentPackageRegions]
Are we missing anything? Let us know
Was this page helpful?