GET
/
api
/
v1
/
admin
/
simulation
/
characters
/
{character_id}
Get Character
curl --request GET \
  --url https://api.jobsim.work/api/v1/admin/simulation/characters/{character_id} \
  --header 'Authorization: Bearer <token>'
{
  "character_id": "<string>",
  "name": "<string>",
  "role": "<string>",
  "core_persona": "<string>",
  "communication_style": "<string>",
  "_id": "<string>",
  "agent_id": "<string>",
  "channels": [
    "<string>"
  ],
  "topics": [
    "<string>"
  ],
  "personality_traits": [
    "<string>"
  ],
  "activity_level": "medium",
  "response_delay_mean": 45,
  "response_delay_std": 20,
  "chattiness_weight": 0.5,
  "relationships": {},
  "situations": {},
  "has_storyline_arc": false,
  "storyline_context": null,
  "is_player": false,
  "is_npc_agent": true,
  "is_active": true,
  "organization_id": "<string>",
  "mention_patterns": [
    "<string>"
  ],
  "anti_hallucination_keywords": [
    "<string>"
  ],
  "fallback_agent_id": "<string>",
  "work_context": "<string>",
  "communication_boundaries": [
    "<string>"
  ],
  "verbal_quirks": [
    "<string>"
  ],
  "channel_rules": {},
  "availability_overrides": {},
  "away_message": "<string>",
  "collaboration_partners": [
    "<string>"
  ],
  "eavesdrop_channels": [
    "<string>"
  ],
  "internal_channels": [
    "<string>"
  ],
  "department": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

character_id
string
required

Query Parameters

organization_id
string | null

Response

Successful Response

Details omitted in public API documentation export. Use your deployment's private OpenAPI export or administrator for full text.

character_id
string
required
name
string
required
role
string
required
core_persona
string
required
communication_style
string
required
_id
string | null
agent_id
string | null
channels
string[]
topics
string[]
personality_traits
string[]
activity_level
enum<string>
default:medium

Activity level for simulation characters

Available options:
high,
medium,
low,
reactive
response_delay_mean
number
default:45
response_delay_std
number
default:20
chattiness_weight
number
default:0.5
relationships
Relationships · object
situations
Situations · object
has_storyline_arc
boolean
default:false
storyline_context
unknown
is_player
boolean
default:false
is_npc_agent
boolean
default:true
is_active
boolean
default:true
organization_id
string | null
mention_patterns
string[]

Patterns that trigger this agent (e.g. @patty, onboarding specialist)

anti_hallucination_keywords
string[]

Keywords this agent should NEVER use (e.g. other agents' names)

fallback_agent_id
string | null

Agent ID/Type to try if this agent declines to respond

work_context
string | null

Work context e.g. 'You have 3 direct reports', 'You're in 6 meetings/week'

communication_boundaries
string[]

e.g. 'Never discuss salary in public channels', 'Escalate harassment to Marcus only'

verbal_quirks
string[]

Recurring phrases or tone markers for more realistic dialogue style consistency

channel_rules
Channel Rules · object

Per-channel behavior: {'announcements': 'post_only_official_updates', 'hr-team': 'no_salary_in_public'}

availability_overrides
Availability Overrides · object

Per-day or special keys: weekday lowercase (monday..sunday), plus optional month_end for last 3 days of month. Values may include delay_multiplier, is_available (false = away).

away_message
string | null

Optional message used when agent is unavailable or outside active hours

collaboration_partners
string[]

Character IDs this agent can DM/coordinate with (e.g. ['marcus','patty'] for HR, ['john','thomas','felix'] for product)

eavesdrop_channels
string[]

Public adjacent channel names/IDs this agent may overhear when eavesdropping policy is enabled.

internal_channels
string[]

Internal channels this agent can post to (e.g. ['hr-internal'], ['product-internal'], ['engineering-internal'])

department
string | null

Org unit label for UI grouping (must align with organization branding.departments when set).

created_at
string<date-time>
updated_at
string<date-time>