[{"data":1,"prerenderedAt":2212},["ShallowReactive",2],{"navigation":3,"\u002Fapi\u002Fguides\u002Fpeople":547,"\u002Fapi\u002Fguides\u002Fpeople-surround":2207},[4,28,62,92,117,146,253,292,325,349,385,421,459,488],{"title":5,"path":6,"stem":7,"children":8,"icon":27},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17,22],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage","i-lucide-sliders",{"title":18,"path":19,"stem":20,"icon":21},"Signing in on the mobile app","\u002Fgetting-started\u002Fmobile-app-sign-in","1.getting-started\u002F4.mobile-app-sign-in","i-lucide-smartphone",{"title":23,"path":24,"stem":25,"icon":26},"Running without email","\u002Fgetting-started\u002Frunning-without-email","1.getting-started\u002F5.running-without-email","i-lucide-mail-x",false,{"title":29,"icon":27,"path":30,"stem":31,"children":32,"page":27},"Security & Privacy","\u002Fsecurity","10.security",[33,38,43,47,52,57],{"title":34,"path":35,"stem":36,"icon":37},"Security Overview","\u002Fsecurity\u002Foverview","10.security\u002F1.overview","i-lucide-shield-check",{"title":39,"path":40,"stem":41,"icon":42},"Authentication","\u002Fsecurity\u002Fauthentication","10.security\u002F2.authentication","i-lucide-log-in",{"title":44,"path":45,"stem":46,"icon":21},"Two-Factor & Devices","\u002Fsecurity\u002Ftwo-factor-and-devices","10.security\u002F3.two-factor-and-devices",{"title":48,"path":49,"stem":50,"icon":51},"Audit & Monitoring","\u002Fsecurity\u002Faudit-and-monitoring","10.security\u002F4.audit-and-monitoring","i-lucide-scroll-text",{"title":53,"path":54,"stem":55,"icon":56},"Account Deletion & Privacy","\u002Fsecurity\u002Faccount-deletion-and-privacy","10.security\u002F5.account-deletion-and-privacy","i-lucide-user-x",{"title":58,"path":59,"stem":60,"icon":61},"Roles & Permissions","\u002Fsecurity\u002Froles-and-permissions","10.security\u002F6.roles-and-permissions","i-lucide-key-round",{"title":63,"icon":27,"path":64,"stem":65,"children":66,"page":27},"Billing & Plans","\u002Fbilling","11.billing",[67,72,77,82,87],{"title":68,"path":69,"stem":70,"icon":71},"Plans","\u002Fbilling\u002Fplans","11.billing\u002F1.plans","i-lucide-credit-card",{"title":73,"path":74,"stem":75,"icon":76},"Limits & Usage","\u002Fbilling\u002Flimits-and-usage","11.billing\u002F2.limits-and-usage","i-lucide-gauge",{"title":78,"path":79,"stem":80,"icon":81},"Managing Your Subscription","\u002Fbilling\u002Fmanaging-your-subscription","11.billing\u002F3.managing-your-subscription","i-lucide-receipt",{"title":83,"path":84,"stem":85,"icon":86},"Add-ons","\u002Fbilling\u002Fadd-ons","11.billing\u002F4.add-ons","i-lucide-puzzle",{"title":88,"path":89,"stem":90,"icon":91},"Integrations","\u002Fbilling\u002Fintegrations","11.billing\u002F5.integrations","i-lucide-plug",{"title":93,"icon":27,"path":94,"stem":95,"children":96,"page":27},"Settings","\u002Fsettings","12.settings",[97,101,105,109,113],{"title":98,"path":99,"stem":100},"General","\u002Fsettings\u002Fgeneral","12.settings\u002F1.general",{"title":102,"path":103,"stem":104},"Leave Types","\u002Fsettings\u002Fleavetype","12.settings\u002F2.leaveType",{"title":106,"path":107,"stem":108},"Carry Forward","\u002Fsettings\u002Fcarryforward","12.settings\u002F3.carryForward",{"title":110,"path":111,"stem":112},"Department Management","\u002Fsettings\u002Fdepartments","12.settings\u002F4.departments",{"title":114,"path":115,"stem":116},"Public Holidays","\u002Fsettings\u002Fpublicholiday","12.settings\u002F5.publicholiday",{"title":118,"path":119,"stem":120,"children":121,"page":27},"Mcp","\u002Fmcp","13.mcp",[122,127,131,136,141],{"title":123,"path":124,"stem":125,"icon":126},"Overview","\u002Fmcp\u002Foverview","13.mcp\u002F1.overview","i-lucide-bot",{"title":128,"path":129,"stem":130,"icon":91},"Connecting","\u002Fmcp\u002Fconnecting","13.mcp\u002F2.connecting",{"title":132,"path":133,"stem":134,"icon":135},"Tools Reference","\u002Fmcp\u002Ftools","13.mcp\u002F3.tools","i-lucide-wrench",{"title":137,"path":138,"stem":139,"icon":140},"Security","\u002Fmcp\u002Fsecurity","13.mcp\u002F4.security","i-lucide-shield",{"title":142,"path":143,"stem":144,"icon":145},"Integrating Your Own MCP Client","\u002Fmcp\u002Fcustom-client","13.mcp\u002F5.custom-client","i-lucide-code",{"title":147,"icon":27,"path":148,"stem":149,"children":150,"page":27},"Public API","\u002Fapi","14.api",[151,156,160,164,169,174,179,183,208,238,243,248],{"title":152,"path":153,"stem":154,"icon":155},"API Overview","\u002Fapi\u002Foverview","14.api\u002F1.overview","i-lucide-code-xml",{"title":5,"path":157,"stem":158,"icon":159},"\u002Fapi\u002Fgetting-started","14.api\u002F2.getting-started","i-lucide-rocket",{"title":161,"path":162,"stem":163,"icon":61},"Authentication & Tokens","\u002Fapi\u002Fauthentication","14.api\u002F3.authentication",{"title":165,"path":166,"stem":167,"icon":168},"API Roles & Scopes","\u002Fapi\u002Froles-and-scopes","14.api\u002F4.roles-and-scopes","i-lucide-layers",{"title":170,"path":171,"stem":172,"icon":173},"Requests & Responses","\u002Fapi\u002Frequests-and-responses","14.api\u002F5.requests-and-responses","i-lucide-arrow-left-right",{"title":175,"path":176,"stem":177,"icon":178},"Errors","\u002Fapi\u002Ferrors","14.api\u002F6.errors","i-lucide-circle-alert",{"title":180,"path":181,"stem":182,"icon":76},"Rate Limits","\u002Fapi\u002Frate-limits","14.api\u002F7.rate-limits",{"title":184,"icon":185,"path":186,"stem":187,"children":188,"page":27},"Guides","i-lucide-book-marked","\u002Fapi\u002Fguides","14.api\u002F8.guides",[189,194,199,204],{"title":190,"path":191,"stem":192,"icon":193},"People","\u002Fapi\u002Fguides\u002Fpeople","14.api\u002F8.guides\u002F1.people","i-lucide-users",{"title":195,"path":196,"stem":197,"icon":198},"Leave","\u002Fapi\u002Fguides\u002Fleave","14.api\u002F8.guides\u002F2.leave","i-lucide-calendar-days",{"title":200,"path":201,"stem":202,"icon":203},"Time","\u002Fapi\u002Fguides\u002Ftime","14.api\u002F8.guides\u002F3.time","i-lucide-clock",{"title":205,"path":206,"stem":207,"icon":81},"Expenses & Documents","\u002Fapi\u002Fguides\u002Fexpenses-and-documents","14.api\u002F8.guides\u002F4.expenses-and-documents",{"title":209,"icon":210,"path":211,"stem":212,"children":213,"page":27},"Webhooks","i-lucide-webhook","\u002Fapi\u002Fwebhooks","14.api\u002F9.webhooks",[214,218,223,228,233],{"title":215,"path":216,"stem":217,"icon":210},"Webhooks Overview","\u002Fapi\u002Fwebhooks\u002Foverview","14.api\u002F9.webhooks\u002F1.overview",{"title":219,"path":220,"stem":221,"icon":222},"Events Reference","\u002Fapi\u002Fwebhooks\u002Fevents","14.api\u002F9.webhooks\u002F2.events","i-lucide-list",{"title":224,"path":225,"stem":226,"icon":227},"Verifying Signatures","\u002Fapi\u002Fwebhooks\u002Fverifying-signatures","14.api\u002F9.webhooks\u002F3.verifying-signatures","i-lucide-badge-check",{"title":229,"path":230,"stem":231,"icon":232},"Retries & Failures","\u002Fapi\u002Fwebhooks\u002Fretries-and-failures","14.api\u002F9.webhooks\u002F4.retries-and-failures","i-lucide-refresh-cw",{"title":234,"path":235,"stem":236,"icon":237},"Best Practices","\u002Fapi\u002Fwebhooks\u002Fbest-practices","14.api\u002F9.webhooks\u002F5.best-practices","i-lucide-list-checks",{"title":239,"path":240,"stem":241,"icon":242},"Postman & OpenAPI","\u002Fapi\u002Fpostman-and-openapi","14.api\u002F91.postman-and-openapi","i-lucide-file-json",{"title":244,"path":245,"stem":246,"icon":247},"Versioning & Changes","\u002Fapi\u002Fversioning","14.api\u002F92.versioning","i-lucide-git-branch",{"title":249,"path":250,"stem":251,"icon":252},"API Reference","\u002Fapi\u002Freference","14.api\u002F93.reference","i-lucide-book-open",{"title":254,"icon":27,"path":255,"stem":256,"children":257,"page":27},"Data Import & Migration","\u002Fdata-import","2.data-import",[258,262,267,272,277,282,287],{"title":123,"path":259,"stem":260,"icon":261},"\u002Fdata-import\u002Foverview","2.data-import\u002F1.overview","i-lucide-database",{"title":263,"path":264,"stem":265,"icon":266},"Importing a File","\u002Fdata-import\u002Fimporting-a-file","2.data-import\u002F2.importing-a-file","i-lucide-file-up",{"title":268,"path":269,"stem":270,"icon":271},"Supported Platforms","\u002Fdata-import\u002Fsupported-platforms","2.data-import\u002F3.supported-platforms","i-lucide-layout-grid",{"title":273,"path":274,"stem":275,"icon":276},"Direct Connections","\u002Fdata-import\u002Fdirect-connections","2.data-import\u002F4.direct-connections","i-lucide-plug-zap",{"title":278,"path":279,"stem":280,"icon":281},"Custom Templates","\u002Fdata-import\u002Fcustom-templates","2.data-import\u002F5.custom-templates","i-lucide-layout-template",{"title":283,"path":284,"stem":285,"icon":286},"Rollback & Import History","\u002Fdata-import\u002Frollback-and-history","2.data-import\u002F6.rollback-and-history","i-lucide-undo-2",{"title":288,"path":289,"stem":290,"icon":291},"Troubleshooting","\u002Fdata-import\u002Ftroubleshooting","2.data-import\u002F7.troubleshooting","i-lucide-life-buoy",{"title":293,"icon":27,"path":294,"stem":295,"children":296,"page":27},"Leave Management","\u002Fleave-management","3.leave-management",[297,302,307,312,316,321],{"title":298,"path":299,"stem":300,"icon":301},"Leave Management Overview","\u002Fleave-management\u002Foverview","3.leave-management\u002F1.overview","i-lucide-palmtree",{"title":303,"path":304,"stem":305,"icon":306},"Requesting Leave","\u002Fleave-management\u002Frequesting-leave","3.leave-management\u002F2.requesting-leave","i-lucide-calendar-plus",{"title":308,"path":309,"stem":310,"icon":311},"Leave Balances","\u002Fleave-management\u002Fleave-balances","3.leave-management\u002F3.leave-balances","i-lucide-wallet",{"title":313,"path":314,"stem":315,"icon":193},"Group Booking","\u002Fleave-management\u002Fgroup-booking","3.leave-management\u002F4.group-booking",{"title":317,"path":318,"stem":319,"icon":320},"Editing and Cancelling Leave","\u002Fleave-management\u002Fediting-and-cancelling","3.leave-management\u002F5.editing-and-cancelling","i-lucide-pencil",{"title":322,"path":323,"stem":324,"icon":291},"Leave Troubleshooting","\u002Fleave-management\u002Ftroubleshooting","3.leave-management\u002F6.troubleshooting",{"title":326,"icon":27,"path":327,"stem":328,"children":329,"page":27},"Approvals","\u002Fapprovals","4.approvals",[330,335,340,344],{"title":331,"path":332,"stem":333,"icon":334},"Approvals Overview","\u002Fapprovals\u002Foverview","4.approvals\u002F1.overview","i-lucide-check-check",{"title":336,"path":337,"stem":338,"icon":339},"Leave Approvals","\u002Fapprovals\u002Fleave-approvals","4.approvals\u002F2.leave-approvals","i-lucide-calendar-check",{"title":341,"path":342,"stem":343,"icon":81},"Expense Approvals","\u002Fapprovals\u002Fexpense-approvals","4.approvals\u002F3.expense-approvals",{"title":345,"path":346,"stem":347,"icon":348},"Time Approvals","\u002Fapprovals\u002Ftime-approvals","4.approvals\u002F4.time-approvals","i-lucide-clock-9",{"title":350,"icon":27,"path":351,"stem":352,"children":353,"page":27},"Time tracking & monitoring","\u002Ftime-tracking","5.Time Tracking",[354,359,364,369,373,377,381],{"title":355,"path":356,"stem":357,"icon":358},"Clocking In & Location","\u002Ftime-tracking\u002Fclock-in-and-location","5.Time Tracking\u002F5.clock-in-and-location","i-lucide-map-pin",{"title":360,"path":361,"stem":362,"icon":363},"Overtime & Pay-Period Lockdown","\u002Ftime-tracking\u002Fovertime-and-lockdown","5.Time Tracking\u002F6.overtime-and-lockdown","i-lucide-lock",{"title":365,"path":366,"stem":367,"icon":368},"Geofencing","\u002Ftime-tracking\u002Fgeofencing","5.Time Tracking\u002F7.geofencing","i-lucide-map",{"title":370,"path":371,"stem":372},"Time & Projects","\u002Ftime-tracking\u002Ftimeandprojects","5.Time Tracking\u002FTime&Projects",{"title":374,"path":375,"stem":376},"Time Tracking","\u002Ftime-tracking\u002Ftime-tracking","5.Time Tracking\u002FTime-tracking",{"title":378,"path":379,"stem":380},"Timeboard","\u002Ftime-tracking\u002Ftimeboard","5.Time Tracking\u002FTimeBoard",{"title":382,"path":383,"stem":384},"Timesheets","\u002Ftime-tracking\u002Ftimesheets","5.Time Tracking\u002FTimesheets",{"title":386,"icon":27,"path":387,"stem":388,"children":389,"page":27},"Expenses","\u002Fexpenses","6.expenses",[390,394,398,402,406,411,416],{"title":391,"path":392,"stem":393},"Expense Claims","\u002Fexpenses\u002Foverview","6.expenses\u002F1.overview",{"title":395,"path":396,"stem":397},"Add & Manage Purchases","\u002Fexpenses\u002Fpurchases","6.expenses\u002F2.purchases",{"title":399,"path":400,"stem":401},"Travel & Mileage Entry","\u002Fexpenses\u002Ftravelentries","6.expenses\u002F3.travelentries",{"title":403,"path":404,"stem":405,"icon":71},"Company Card Expenses","\u002Fexpenses\u002Fcompany-cards","6.expenses\u002F4.company-cards",{"title":407,"path":408,"stem":409,"icon":410},"Per Diems","\u002Fexpenses\u002Fper-diems","6.expenses\u002F5.per-diems","i-lucide-utensils",{"title":412,"path":413,"stem":414,"icon":415},"Receipt Scanning","\u002Fexpenses\u002Freceipt-scanning","6.expenses\u002F6.receipt-scanning","i-lucide-scan-line",{"title":417,"path":418,"stem":419,"icon":420},"Statuses & Submission","\u002Fexpenses\u002Fstatuses-and-submission","6.expenses\u002F7.statuses-and-submission","i-lucide-git-pull-request-arrow",{"title":422,"icon":27,"path":423,"stem":424,"children":425,"page":27},"Documents & E-Signatures","\u002Fdocuments","7.documents",[426,430,435,440,445,449,454],{"title":123,"path":427,"stem":428,"icon":429},"\u002Fdocuments\u002Foverview","7.documents\u002F1.overview","i-lucide-folder-open",{"title":431,"path":432,"stem":433,"icon":434},"Uploading Documents","\u002Fdocuments\u002Fuploading","7.documents\u002F2.uploading","i-lucide-upload",{"title":436,"path":437,"stem":438,"icon":439},"E-Signatures","\u002Fdocuments\u002Fe-signatures","7.documents\u002F3.e-signatures","i-lucide-pen-tool",{"title":441,"path":442,"stem":443,"icon":444},"Audit Trail & Certificate","\u002Fdocuments\u002Faudit-trail","7.documents\u002F4.audit-trail","i-lucide-file-check",{"title":446,"path":447,"stem":448,"icon":281},"Templates & Bulk Send","\u002Fdocuments\u002Ftemplates-and-bulk-send","7.documents\u002F5.templates-and-bulk-send",{"title":450,"path":451,"stem":452,"icon":453},"Onboarding","\u002Fdocuments\u002Fonboarding","7.documents\u002F6.onboarding","i-lucide-user-plus",{"title":455,"path":456,"stem":457,"icon":458},"Offboarding","\u002Fdocuments\u002Foffboarding","7.documents\u002F7.offboarding","i-lucide-user-minus",{"title":460,"icon":27,"path":461,"stem":462,"children":463,"page":27},"People & HR","\u002Fpeople","8.people",[464,468,473,478,483],{"title":465,"path":466,"stem":467,"icon":193},"Directory & Profiles","\u002Fpeople\u002Fdirectory-and-profiles","8.people\u002F1.directory-and-profiles",{"title":469,"path":470,"stem":471,"icon":472},"Managing Users","\u002Fpeople\u002Fmanaging-users","8.people\u002F2.managing-users","i-lucide-user-cog",{"title":474,"path":475,"stem":476,"icon":477},"HR Records","\u002Fpeople\u002Fhr-records","8.people\u002F3.hr-records","i-lucide-folder-archive",{"title":479,"path":480,"stem":481,"icon":482},"Performance","\u002Fpeople\u002Fperformance","8.people\u002F4.performance","i-lucide-target",{"title":484,"path":485,"stem":486,"icon":487},"Training","\u002Fpeople\u002Ftraining","8.people\u002F5.training","i-lucide-graduation-cap",{"title":489,"icon":27,"path":490,"stem":491,"children":492,"page":27},"Features","\u002Ffeatures","9.features",[493,497,501,505,510,515,519,523,527,531,535,539,543],{"title":494,"path":495,"stem":496,"icon":11},"Home","\u002Ffeatures\u002Fhome","9.features\u002F1.home",{"title":498,"path":499,"stem":500},"Email Configuration (SMTP)","\u002Ffeatures\u002Femail-configuration","9.features\u002F10.email-configuration",{"title":502,"path":503,"stem":504},"SMTP troubleshoot","\u002Ffeatures\u002Fsmtp-troubleshoot","9.features\u002F11.smtp-troubleshoot",{"title":506,"path":507,"stem":508,"icon":509},"Notifications","\u002Ffeatures\u002Fnotifications","9.features\u002F12.notifications","i-lucide-bell",{"title":511,"path":512,"stem":513,"icon":514},"Reports","\u002Ffeatures\u002Freports","9.features\u002F13.reports","i-lucide-bar-chart-3",{"title":516,"path":517,"stem":518},"Dashboard","\u002Ffeatures\u002Fdashboard","9.features\u002F2.dashboard",{"title":520,"path":521,"stem":522},"Calendar & Leave Overview","\u002Ffeatures\u002Fcalendar","9.features\u002F3.calendar",{"title":524,"path":525,"stem":526},"Calendar Integration","\u002Ffeatures\u002Fcalendar-integration","9.features\u002F4.calendar-integration",{"title":528,"path":529,"stem":530},"Schedules","\u002Ffeatures\u002Fschedules","9.features\u002F5.schedules",{"title":532,"path":533,"stem":534},"Project Management","\u002Ffeatures\u002Fprojects","9.features\u002F6.projects",{"title":536,"path":537,"stem":538},"Expense Settings","\u002Ffeatures\u002Fexpense-settings","9.features\u002F7.expense-settings",{"title":540,"path":541,"stem":542},"Auth0 SSO Integration","\u002Ffeatures\u002Fauth0-integration","9.features\u002F8.auth0-integration",{"title":544,"path":545,"stem":546},"Password & Authentication Policy","\u002Ffeatures\u002Fpolicies","9.features\u002F9.policies",{"id":548,"title":190,"body":549,"description":2200,"extension":2201,"links":2202,"meta":2203,"navigation":2204,"path":191,"seo":2205,"stem":192,"__hash__":2206},"docs\u002F14.api\u002F8.guides\u002F1.people.md",{"type":550,"value":551,"toc":2186},"minimark",[552,561,577,582,804,808,811,834,845,864,868,875,924,1245,1276,1297,1317,1328,1332,1338,1451,1458,1521,1526,1530,1536,1592,1595,1631,1636,1640,1737,1785,1795,1799,1806,1910,1915,1920,1975,2008,2012,2067,2089,2095,2099,2121,2135,2140,2144,2182],[553,554,555,556,560],"p",{},"This guide covers the people side of the API: the directory, departments, teams and the HR records attached to each person. It explains common tasks and the rules that shape the answers. Every parameter and field is in the ",[557,558,249],"a",{"href":559},"\u002Fapi\u002Freference#tag\u002Fusers",".",[553,562,563,564,568,569,572,573,576],{},"The examples use ",[565,566,567],"code",{},"$BOOKYOURPTO_TOKEN"," for your token and the default base URL. If your organization uses a custom domain, read ",[565,570,571],{},"base_url"," from ",[565,574,575],{},"GET \u002Forganization"," and use that instead.",[578,579,581],"h2",{"id":580},"scopes-for-this-area","Scopes for this area",[583,584,585,601],"table",{},[586,587,588],"thead",{},[589,590,591,595,598],"tr",{},[592,593,594],"th",{},"Task",[592,596,597],{},"Scope",[592,599,600],{},"Lowest owner role",[602,603,604,618,631,644,657,669,686,701,717,729,744,756,768,780,792],"tbody",{},[589,605,606,610,615],{},[607,608,609],"td",{},"Read the directory",[607,611,612],{},[565,613,614],{},"users:read",[607,616,617],{},"Employee",[589,619,620,623,628],{},[607,621,622],{},"Read employment details",[607,624,625],{},[565,626,627],{},"users.employment:read",[607,629,630],{},"Department Head",[589,632,633,636,641],{},[607,634,635],{},"Read personal details",[607,637,638],{},[565,639,640],{},"users.personal:read",[607,642,643],{},"Administrator",[589,645,646,649,654],{},[607,647,648],{},"Read government identifiers",[607,650,651],{},[565,652,653],{},"users.govid:read",[607,655,656],{},"Executive",[589,658,659,662,667],{},[607,660,661],{},"Add and update people",[607,663,664],{},[565,665,666],{},"users:write",[607,668,643],{},[589,670,671,674,683],{},[607,672,673],{},"Read and change departments",[607,675,676,679,680],{},[565,677,678],{},"departments:read",", ",[565,681,682],{},"departments:write",[607,684,685],{},"Employee, Administrator",[589,687,688,691,699],{},[607,689,690],{},"Read and change teams",[607,692,693,679,696],{},[565,694,695],{},"teams:read",[565,697,698],{},"teams:write",[607,700,685],{},[589,702,703,706,714],{},[607,704,705],{},"Read and assign training",[607,707,708,679,711],{},[565,709,710],{},"training:read",[565,712,713],{},"training:write",[607,715,716],{},"Employee, Department Head",[589,718,719,722,727],{},[607,720,721],{},"Read certifications",[607,723,724],{},[565,725,726],{},"certifications:read",[607,728,617],{},[589,730,731,734,742],{},[607,732,733],{},"Read and issue equipment",[607,735,736,679,739],{},[565,737,738],{},"assets:read",[565,740,741],{},"assets:write",[607,743,716],{},[589,745,746,749,754],{},[607,747,748],{},"Read benefit enrollments",[607,750,751],{},[565,752,753],{},"benefits:read",[607,755,643],{},[589,757,758,761,766],{},[607,759,760],{},"Read compensation",[607,762,763],{},[565,764,765],{},"compensation:read",[607,767,643],{},[589,769,770,773,778],{},[607,771,772],{},"Read custom fields",[607,774,775],{},[565,776,777],{},"custom_fields:read",[607,779,617],{},[589,781,782,785,790],{},[607,783,784],{},"Read goals",[607,786,787],{},[565,788,789],{},"goals:read",[607,791,617],{},[589,793,794,797,802],{},[607,795,796],{},"Read onboarding and offboarding checklists",[607,798,799],{},[565,800,801],{},"onboarding:read",[607,803,617],{},[578,805,807],{"id":806},"who-appears-in-the-directory","Who appears in the directory",[553,809,810],{},"A token sees the people its owner sees in the app's directory:",[812,813,814,822,825],"ul",{},[815,816,817,821],"li",{},[818,819,820],"strong",{},"Administrators and Executives"," see everyone.",[815,823,824],{},"If your organization's directory settings let a role see the whole directory, tokens owned by that role see everyone too.",[815,826,827,828,830,831,833],{},"Otherwise a ",[818,829,630],{}," sees the people in the departments they head or manage, and an ",[818,832,617],{}," sees only themselves.",[553,835,836,837,840,841,844],{},"A person the owner cannot see answers ",[565,838,839],{},"404 NOT_FOUND"," on ",[565,842,843],{},"GET \u002Fusers\u002F{id}",", exactly like an id that does not exist.",[553,846,847,848,850,851,853,854,856,857,859,860,560],{},"Field tiers then decide which fields appear for the people the token can see. With only ",[565,849,614],{}," you get directory fields: name, email, job title, division, work location, department, manager, role and status. Add ",[565,852,627],{}," for employment dates, employment type, probation, employee and payroll ids; probation dates appear only where the owner may see probation in the app. ",[565,855,640],{}," and ",[565,858,653],{}," add personal and government-id fields, and every record returned with them is written to the sensitive-data access log. See ",[557,861,863],{"href":862},"\u002Fapi\u002Froles-and-scopes#field-tiers","Field tiers",[578,865,867],{"id":866},"sync-the-directory","Sync the directory",[553,869,870,871,874],{},"Walk ",[565,872,873],{},"GET \u002Fusers"," page by page. Use the largest page size to keep the number of requests down:",[876,877,882],"pre",{"className":878,"code":879,"language":880,"meta":881,"style":881},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl \"https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers?status=active&limit=100\" \\\n  -H \"Authorization: Bearer $BOOKYOURPTO_TOKEN\"\n","bash","",[565,883,884,908],{"__ignoreMap":881},[885,886,889,893,897,901,904],"span",{"class":887,"line":888},"line",1,[885,890,892],{"class":891},"sBMFI","curl",[885,894,896],{"class":895},"sMK4o"," \"",[885,898,900],{"class":899},"sfazB","https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers?status=active&limit=100",[885,902,903],{"class":895},"\"",[885,905,907],{"class":906},"sTEyZ"," \\\n",[885,909,911,914,916,919,921],{"class":887,"line":910},2,[885,912,913],{"class":899},"  -H",[885,915,896],{"class":895},[885,917,918],{"class":899},"Authorization: Bearer ",[885,920,567],{"class":906},[885,922,923],{"class":895},"\"\n",[876,925,929],{"className":926,"code":927,"language":928,"meta":881,"style":881},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"data\": [\n    {\n      \"id\": \"cmusr4k2h0000ex01lena0001\",\n      \"first_name\": \"Lena\",\n      \"last_name\": \"Fischer\",\n      \"email\": \"lena.fischer@northwind.example\",\n      \"job_title\": \"Operations Analyst\",\n      \"department_id\": \"cmdep4k2h0000ex01ops00001\",\n      \"manager_id\": \"cmusr4k2h0000ex01marc0001\",\n      \"role\": \"EMPLOYEE\",\n      \"is_active\": true,\n      \"...\": \"more fields, depending on the token's scopes\"\n    }\n  ],\n  \"meta\": { \"request_id\": \"...\", \"has_more\": true, \"next_cursor\": \"eyJpZCI6...\" }\n}\n","json",[565,930,931,936,953,959,982,1003,1024,1045,1066,1087,1108,1129,1144,1163,1169,1175,1239],{"__ignoreMap":881},[885,932,933],{"class":887,"line":888},[885,934,935],{"class":895},"{\n",[885,937,938,941,945,947,950],{"class":887,"line":910},[885,939,940],{"class":895},"  \"",[885,942,944],{"class":943},"spNyl","data",[885,946,903],{"class":895},[885,948,949],{"class":895},":",[885,951,952],{"class":895}," [\n",[885,954,956],{"class":887,"line":955},3,[885,957,958],{"class":895},"    {\n",[885,960,962,965,968,970,972,974,977,979],{"class":887,"line":961},4,[885,963,964],{"class":895},"      \"",[885,966,967],{"class":891},"id",[885,969,903],{"class":895},[885,971,949],{"class":895},[885,973,896],{"class":895},[885,975,976],{"class":899},"cmusr4k2h0000ex01lena0001",[885,978,903],{"class":895},[885,980,981],{"class":895},",\n",[885,983,985,987,990,992,994,996,999,1001],{"class":887,"line":984},5,[885,986,964],{"class":895},[885,988,989],{"class":891},"first_name",[885,991,903],{"class":895},[885,993,949],{"class":895},[885,995,896],{"class":895},[885,997,998],{"class":899},"Lena",[885,1000,903],{"class":895},[885,1002,981],{"class":895},[885,1004,1006,1008,1011,1013,1015,1017,1020,1022],{"class":887,"line":1005},6,[885,1007,964],{"class":895},[885,1009,1010],{"class":891},"last_name",[885,1012,903],{"class":895},[885,1014,949],{"class":895},[885,1016,896],{"class":895},[885,1018,1019],{"class":899},"Fischer",[885,1021,903],{"class":895},[885,1023,981],{"class":895},[885,1025,1027,1029,1032,1034,1036,1038,1041,1043],{"class":887,"line":1026},7,[885,1028,964],{"class":895},[885,1030,1031],{"class":891},"email",[885,1033,903],{"class":895},[885,1035,949],{"class":895},[885,1037,896],{"class":895},[885,1039,1040],{"class":899},"lena.fischer@northwind.example",[885,1042,903],{"class":895},[885,1044,981],{"class":895},[885,1046,1048,1050,1053,1055,1057,1059,1062,1064],{"class":887,"line":1047},8,[885,1049,964],{"class":895},[885,1051,1052],{"class":891},"job_title",[885,1054,903],{"class":895},[885,1056,949],{"class":895},[885,1058,896],{"class":895},[885,1060,1061],{"class":899},"Operations Analyst",[885,1063,903],{"class":895},[885,1065,981],{"class":895},[885,1067,1069,1071,1074,1076,1078,1080,1083,1085],{"class":887,"line":1068},9,[885,1070,964],{"class":895},[885,1072,1073],{"class":891},"department_id",[885,1075,903],{"class":895},[885,1077,949],{"class":895},[885,1079,896],{"class":895},[885,1081,1082],{"class":899},"cmdep4k2h0000ex01ops00001",[885,1084,903],{"class":895},[885,1086,981],{"class":895},[885,1088,1090,1092,1095,1097,1099,1101,1104,1106],{"class":887,"line":1089},10,[885,1091,964],{"class":895},[885,1093,1094],{"class":891},"manager_id",[885,1096,903],{"class":895},[885,1098,949],{"class":895},[885,1100,896],{"class":895},[885,1102,1103],{"class":899},"cmusr4k2h0000ex01marc0001",[885,1105,903],{"class":895},[885,1107,981],{"class":895},[885,1109,1111,1113,1116,1118,1120,1122,1125,1127],{"class":887,"line":1110},11,[885,1112,964],{"class":895},[885,1114,1115],{"class":891},"role",[885,1117,903],{"class":895},[885,1119,949],{"class":895},[885,1121,896],{"class":895},[885,1123,1124],{"class":899},"EMPLOYEE",[885,1126,903],{"class":895},[885,1128,981],{"class":895},[885,1130,1132,1134,1137,1139,1141],{"class":887,"line":1131},12,[885,1133,964],{"class":895},[885,1135,1136],{"class":891},"is_active",[885,1138,903],{"class":895},[885,1140,949],{"class":895},[885,1142,1143],{"class":895}," true,\n",[885,1145,1147,1149,1152,1154,1156,1158,1161],{"class":887,"line":1146},13,[885,1148,964],{"class":895},[885,1150,1151],{"class":891},"...",[885,1153,903],{"class":895},[885,1155,949],{"class":895},[885,1157,896],{"class":895},[885,1159,1160],{"class":899},"more fields, depending on the token's scopes",[885,1162,923],{"class":895},[885,1164,1166],{"class":887,"line":1165},14,[885,1167,1168],{"class":895},"    }\n",[885,1170,1172],{"class":887,"line":1171},15,[885,1173,1174],{"class":895},"  ],\n",[885,1176,1178,1180,1183,1185,1187,1190,1192,1195,1197,1199,1201,1203,1205,1208,1210,1213,1215,1217,1220,1222,1225,1227,1229,1231,1234,1236],{"class":887,"line":1177},16,[885,1179,940],{"class":895},[885,1181,1182],{"class":943},"meta",[885,1184,903],{"class":895},[885,1186,949],{"class":895},[885,1188,1189],{"class":895}," {",[885,1191,896],{"class":895},[885,1193,1194],{"class":891},"request_id",[885,1196,903],{"class":895},[885,1198,949],{"class":895},[885,1200,896],{"class":895},[885,1202,1151],{"class":899},[885,1204,903],{"class":895},[885,1206,1207],{"class":895},",",[885,1209,896],{"class":895},[885,1211,1212],{"class":891},"has_more",[885,1214,903],{"class":895},[885,1216,949],{"class":895},[885,1218,1219],{"class":895}," true,",[885,1221,896],{"class":895},[885,1223,1224],{"class":891},"next_cursor",[885,1226,903],{"class":895},[885,1228,949],{"class":895},[885,1230,896],{"class":895},[885,1232,1233],{"class":899},"eyJpZCI6...",[885,1235,903],{"class":895},[885,1237,1238],{"class":895}," }\n",[885,1240,1242],{"class":887,"line":1241},17,[885,1243,1244],{"class":895},"}\n",[553,1246,1247,1248,1251,1252,1255,1256,1258,1259,1262,1263,1267,1268,679,1270,1272,1273,560],{},"Then repeat with ",[565,1249,1250],{},"cursor"," set to ",[565,1253,1254],{},"meta.next_cursor"," until ",[565,1257,1212],{}," is ",[565,1260,1261],{},"false"," (see ",[557,1264,1266],{"href":1265},"\u002Fapi\u002Frequests-and-responses#pagination","Pagination","). Filter with ",[565,1269,1073],{},[565,1271,1115],{}," or ",[565,1274,1275],{},"status",[1277,1278,1281],"callout",{"color":1279,"icon":1280},"amber","i-lucide-triangle-alert",[553,1282,1283,1285,1286,1289,1290,1293,1294,1296],{},[565,1284,1275],{}," defaults to ",[565,1287,1288],{},"all",", so a list without it includes people who have been deactivated or offboarded. Pass ",[565,1291,1292],{},"status=active"," for current staff, or keep ",[565,1295,1136],{}," in your own records so you can mark leavers.",[553,1298,1299,1300,679,1303,679,1306,856,1309,1262,1312,1316],{},"To keep a copy up to date without walking the whole directory, subscribe a webhook to ",[565,1301,1302],{},"user.created",[565,1304,1305],{},"user.updated",[565,1307,1308],{},"user.deactivated",[565,1310,1311],{},"user.reactivated",[557,1313,1315],{"href":1314},"\u002Fapi\u002Fwebhooks\u002Fevents#people","Events",") and run a full walk occasionally to reconcile.",[553,1318,1319,1320,679,1324,560],{},"Reference: ",[557,1321,1323],{"href":1322},"\u002Fapi\u002Freference#tag\u002Fusers\u002FGET\u002Fusers","List people",[557,1325,1327],{"href":1326},"\u002Fapi\u002Freference#tag\u002Fusers\u002FGET\u002Fusers\u002F%7Bid%7D","Get a person",[578,1329,1331],{"id":1330},"add-a-person","Add a person",[553,1333,1334,1337],{},[565,1335,1336],{},"POST \u002Fusers"," adds someone the same way an administrator does in the app. The new person is emailed a link to set their password; the link is never returned by the API.",[876,1339,1341],{"className":878,"code":1340,"language":880,"meta":881,"style":881},"curl -X POST https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers \\\n  -H \"Authorization: Bearer $BOOKYOURPTO_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Idempotency-Key: 7c1e9a52-3f0b-4d8e-b6a1-5e2f9c4d7a03\" \\\n  -d '{\n    \"first_name\": \"Tomas\",\n    \"last_name\": \"Silva\",\n    \"email\": \"tomas.silva@northwind.example\",\n    \"job_title\": \"Dispatch Coordinator\",\n    \"department_id\": \"cmdep4k2h0000ex01ops00001\",\n    \"employment_start_date\": \"2026-11-02\",\n    \"probation_period_months\": 3\n  }'\n",[565,1342,1343,1358,1372,1385,1398,1408,1413,1418,1423,1428,1433,1438,1443],{"__ignoreMap":881},[885,1344,1345,1347,1350,1353,1356],{"class":887,"line":888},[885,1346,892],{"class":891},[885,1348,1349],{"class":899}," -X",[885,1351,1352],{"class":899}," POST",[885,1354,1355],{"class":899}," https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers",[885,1357,907],{"class":906},[885,1359,1360,1362,1364,1366,1368,1370],{"class":887,"line":910},[885,1361,913],{"class":899},[885,1363,896],{"class":895},[885,1365,918],{"class":899},[885,1367,567],{"class":906},[885,1369,903],{"class":895},[885,1371,907],{"class":906},[885,1373,1374,1376,1378,1381,1383],{"class":887,"line":955},[885,1375,913],{"class":899},[885,1377,896],{"class":895},[885,1379,1380],{"class":899},"Content-Type: application\u002Fjson",[885,1382,903],{"class":895},[885,1384,907],{"class":906},[885,1386,1387,1389,1391,1394,1396],{"class":887,"line":961},[885,1388,913],{"class":899},[885,1390,896],{"class":895},[885,1392,1393],{"class":899},"Idempotency-Key: 7c1e9a52-3f0b-4d8e-b6a1-5e2f9c4d7a03",[885,1395,903],{"class":895},[885,1397,907],{"class":906},[885,1399,1400,1403,1406],{"class":887,"line":984},[885,1401,1402],{"class":899},"  -d",[885,1404,1405],{"class":895}," '",[885,1407,935],{"class":899},[885,1409,1410],{"class":887,"line":1005},[885,1411,1412],{"class":899},"    \"first_name\": \"Tomas\",\n",[885,1414,1415],{"class":887,"line":1026},[885,1416,1417],{"class":899},"    \"last_name\": \"Silva\",\n",[885,1419,1420],{"class":887,"line":1047},[885,1421,1422],{"class":899},"    \"email\": \"tomas.silva@northwind.example\",\n",[885,1424,1425],{"class":887,"line":1068},[885,1426,1427],{"class":899},"    \"job_title\": \"Dispatch Coordinator\",\n",[885,1429,1430],{"class":887,"line":1089},[885,1431,1432],{"class":899},"    \"department_id\": \"cmdep4k2h0000ex01ops00001\",\n",[885,1434,1435],{"class":887,"line":1110},[885,1436,1437],{"class":899},"    \"employment_start_date\": \"2026-11-02\",\n",[885,1439,1440],{"class":887,"line":1131},[885,1441,1442],{"class":899},"    \"probation_period_months\": 3\n",[885,1444,1445,1448],{"class":887,"line":1146},[885,1446,1447],{"class":899},"  }",[885,1449,1450],{"class":895},"'\n",[553,1452,1453,1454,1457],{},"The answer is ",[565,1455,1456],{},"201"," with the new person. Things to know:",[812,1459,1460,1474,1485,1492,1514],{},[815,1461,1462,679,1464,856,1466,1468,1469,1285,1471,1473],{},[565,1463,989],{},[565,1465,1010],{},[565,1467,1031],{}," are required. ",[565,1470,1115],{},[565,1472,1124],{},"; only an Executive may create an Executive.",[815,1475,1476,1477,1480,1481,1484],{},"An email address already in use answers ",[565,1478,1479],{},"409 CONFLICT",". Search your own records first, or treat a ",[565,1482,1483],{},"409"," as \"already exists\".",[815,1486,1487,1488,1491],{},"When your plan has no free seat the answer is ",[565,1489,1490],{},"403 FORBIDDEN",". Free a seat or change the plan, then retry.",[815,1493,1494,1497,1498,1501,1502,1258,1505,679,1508,1272,1511,560],{},[565,1495,1496],{},"employment_start_date"," is a calendar day, ",[565,1499,1500],{},"YYYY-MM-DD",". ",[565,1503,1504],{},"probation_period_months",[565,1506,1507],{},"3",[565,1509,1510],{},"6",[565,1512,1513],{},"null",[815,1515,1516,1517,1520],{},"Send an ",[565,1518,1519],{},"Idempotency-Key",", so a retried request after a network failure cannot create the person twice.",[553,1522,1319,1523,560],{},[557,1524,1331],{"href":1525},"\u002Fapi\u002Freference#tag\u002Fusers\u002FPOST\u002Fusers",[578,1527,1529],{"id":1528},"update-a-person","Update a person",[553,1531,1532,1535],{},[565,1533,1534],{},"PATCH \u002Fusers\u002F{id}"," changes only the fields you send:",[876,1537,1539],{"className":878,"code":1538,"language":880,"meta":881,"style":881},"curl -X PATCH https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers\u002Fcmusr4k2h0000ex01lena0001 \\\n  -H \"Authorization: Bearer $BOOKYOURPTO_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"job_title\": \"Senior Operations Analyst\", \"manager_id\": \"cmusr4k2h0000ex01marc0001\" }'\n",[565,1540,1541,1555,1569,1581],{"__ignoreMap":881},[885,1542,1543,1545,1547,1550,1553],{"class":887,"line":888},[885,1544,892],{"class":891},[885,1546,1349],{"class":899},[885,1548,1549],{"class":899}," PATCH",[885,1551,1552],{"class":899}," https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers\u002Fcmusr4k2h0000ex01lena0001",[885,1554,907],{"class":906},[885,1556,1557,1559,1561,1563,1565,1567],{"class":887,"line":910},[885,1558,913],{"class":899},[885,1560,896],{"class":895},[885,1562,918],{"class":899},[885,1564,567],{"class":906},[885,1566,903],{"class":895},[885,1568,907],{"class":906},[885,1570,1571,1573,1575,1577,1579],{"class":887,"line":955},[885,1572,913],{"class":899},[885,1574,896],{"class":895},[885,1576,1380],{"class":899},[885,1578,903],{"class":895},[885,1580,907],{"class":906},[885,1582,1583,1585,1587,1590],{"class":887,"line":961},[885,1584,1402],{"class":899},[885,1586,1405],{"class":895},[885,1588,1589],{"class":899},"{ \"job_title\": \"Senior Operations Analyst\", \"manager_id\": \"cmusr4k2h0000ex01marc0001\" }",[885,1591,1450],{"class":895},[553,1593,1594],{},"The rules are the app's:",[812,1596,1597,1600,1613,1620],{},[815,1598,1599],{},"Only an Executive edits an Executive or promotes someone to Executive, and nobody changes their own role.",[815,1601,1602,1603,679,1606,679,1609,1612],{},"Employment fields (",[565,1604,1605],{},"employment_type",[565,1607,1608],{},"employee_id",[565,1610,1611],{},"payroll_id",", employment dates, probation) are for Administrators and Executives.",[815,1614,1615,856,1617,1619],{},[565,1616,1073],{},[565,1618,1094],{}," must belong to your organization.",[815,1621,1622,856,1624,1626,1627,1630],{},[565,1623,1031],{},[565,1625,1136],{}," cannot be changed here. People leave through ",[818,1628,1629],{},"offboarding"," in the app, which also revokes their API tokens and turns off webhook endpoints they own; there is no deactivate endpoint.",[553,1632,1319,1633,560],{},[557,1634,1529],{"href":1635},"\u002Fapi\u002Freference#tag\u002Fusers\u002FPATCH\u002Fusers\u002F%7Bid%7D",[578,1637,1639],{"id":1638},"departments-and-teams","Departments and teams",[876,1641,1643],{"className":878,"code":1642,"language":880,"meta":881,"style":881},"# Active departments (add include_inactive=true for all of them)\ncurl \"https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fdepartments\" \\\n  -H \"Authorization: Bearer $BOOKYOURPTO_TOKEN\"\n\n# Create a department with a head\ncurl -X POST https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fdepartments \\\n  -H \"Authorization: Bearer $BOOKYOURPTO_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"name\": \"Customer Success\", \"head_id\": \"cmusr4k2h0000ex01marc0001\" }'\n",[565,1644,1645,1651,1664,1676,1682,1687,1700,1714,1726],{"__ignoreMap":881},[885,1646,1647],{"class":887,"line":888},[885,1648,1650],{"class":1649},"sHwdD","# Active departments (add include_inactive=true for all of them)\n",[885,1652,1653,1655,1657,1660,1662],{"class":887,"line":910},[885,1654,892],{"class":891},[885,1656,896],{"class":895},[885,1658,1659],{"class":899},"https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fdepartments",[885,1661,903],{"class":895},[885,1663,907],{"class":906},[885,1665,1666,1668,1670,1672,1674],{"class":887,"line":955},[885,1667,913],{"class":899},[885,1669,896],{"class":895},[885,1671,918],{"class":899},[885,1673,567],{"class":906},[885,1675,923],{"class":895},[885,1677,1678],{"class":887,"line":961},[885,1679,1681],{"emptyLinePlaceholder":1680},true,"\n",[885,1683,1684],{"class":887,"line":984},[885,1685,1686],{"class":1649},"# Create a department with a head\n",[885,1688,1689,1691,1693,1695,1698],{"class":887,"line":1005},[885,1690,892],{"class":891},[885,1692,1349],{"class":899},[885,1694,1352],{"class":899},[885,1696,1697],{"class":899}," https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fdepartments",[885,1699,907],{"class":906},[885,1701,1702,1704,1706,1708,1710,1712],{"class":887,"line":1026},[885,1703,913],{"class":899},[885,1705,896],{"class":895},[885,1707,918],{"class":899},[885,1709,567],{"class":906},[885,1711,903],{"class":895},[885,1713,907],{"class":906},[885,1715,1716,1718,1720,1722,1724],{"class":887,"line":1047},[885,1717,913],{"class":899},[885,1719,896],{"class":895},[885,1721,1380],{"class":899},[885,1723,903],{"class":895},[885,1725,907],{"class":906},[885,1727,1728,1730,1732,1735],{"class":887,"line":1068},[885,1729,1402],{"class":899},[885,1731,1405],{"class":895},[885,1733,1734],{"class":899},"{ \"name\": \"Customer Success\", \"head_id\": \"cmusr4k2h0000ex01marc0001\" }",[885,1736,1450],{"class":895},[812,1738,1739,1753,1758,1768],{},[815,1740,1741,1742,1744,1745,1748,1749,1752],{},"A department's ",[565,1743,565],{}," is generated from its name when you leave it out. ",[565,1746,1747],{},"head_id"," must be an active person in your organization; ",[565,1750,1751],{},"head_id: null"," leaves the department without a head.",[815,1754,1755,1756,560],{},"Team names are unique within the organization; a duplicate answers ",[565,1757,1479],{},[815,1759,1760,1763,1764,1767],{},[565,1761,1762],{},"GET \u002Fteams\u002F{id}"," lists the team's members that the owner can see in the directory. Membership itself is managed in the app; ",[565,1765,1766],{},"PATCH \u002Fteams\u002F{id}"," changes the team's name, description, department and status only.",[815,1769,1770,1771,679,1774,856,1777,1780,1781,560],{},"Department changes raise ",[565,1772,1773],{},"department.created",[565,1775,1776],{},"department.updated",[565,1778,1779],{},"department.deleted"," ",[557,1782,1784],{"href":1783},"\u002Fapi\u002Fwebhooks\u002Fevents#departments","webhook events",[553,1786,1319,1787,679,1791,560],{},[557,1788,1790],{"href":1789},"\u002Fapi\u002Freference#tag\u002Fdepartments","Departments",[557,1792,1794],{"href":1793},"\u002Fapi\u002Freference#tag\u002Fteams","Teams",[578,1796,1798],{"id":1797},"hr-records","HR records",[553,1800,1801,1802,1805],{},"The records attached to a person live under ",[565,1803,1804],{},"\u002Fusers\u002F{id}\u002F...",". Each is a paged list for one person.",[583,1807,1808,1821],{},[586,1809,1810],{},[589,1811,1812,1815,1818],{},[592,1813,1814],{},"Record",[592,1816,1817],{},"Endpoint",[592,1819,1820],{},"Who the owner can read it for",[602,1822,1823,1835,1848,1860,1872,1885,1897],{},[589,1824,1825,1827,1832],{},[607,1826,484],{},[607,1828,1829],{},[565,1830,1831],{},"GET \u002Fusers\u002F{id}\u002Ftraining",[607,1833,1834],{},"Themselves; anyone for Administrators and Executives; people in their department scope for a Department Head",[589,1836,1837,1840,1845],{},[607,1838,1839],{},"Certifications",[607,1841,1842],{},[565,1843,1844],{},"GET \u002Fusers\u002F{id}\u002Fcertifications",[607,1846,1847],{},"As for training",[589,1849,1850,1853,1858],{},[607,1851,1852],{},"Equipment",[607,1854,1855],{},[565,1856,1857],{},"GET \u002Fusers\u002F{id}\u002Fassets",[607,1859,1847],{},[589,1861,1862,1865,1870],{},[607,1863,1864],{},"Goals",[607,1866,1867],{},[565,1868,1869],{},"GET \u002Fusers\u002F{id}\u002Fgoals",[607,1871,1847],{},[589,1873,1874,1877,1882],{},[607,1875,1876],{},"Custom fields",[607,1878,1879],{},[565,1880,1881],{},"GET \u002Fusers\u002F{id}\u002Fcustom-fields",[607,1883,1884],{},"Their own values; anyone's for Administrators and Executives. Other roles see only values on active tabs visible to their role",[589,1886,1887,1890,1895],{},[607,1888,1889],{},"Benefit enrollments",[607,1891,1892],{},[565,1893,1894],{},"GET \u002Fusers\u002F{id}\u002Fbenefits",[607,1896,820],{},[589,1898,1899,1902,1907],{},[607,1900,1901],{},"Compensation",[607,1903,1904],{},[565,1905,1906],{},"GET \u002Fusers\u002F{id}\u002Fcompensation",[607,1908,1909],{},"Administrators and Executives. Every record returned is written to the sensitive-data access log",[553,1911,1912,1913,560],{},"A person the owner may not read records for answers ",[565,1914,839],{},[1916,1917,1919],"h3",{"id":1918},"assign-training","Assign training",[876,1921,1923],{"className":878,"code":1922,"language":880,"meta":881,"style":881},"curl -X POST https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers\u002Fcmusr4k2h0000ex01lena0001\u002Ftraining \\\n  -H \"Authorization: Bearer $BOOKYOURPTO_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"course_id\": \"cmcrs0000000000000000004\", \"due_date\": \"2026-12-15\" }'\n",[565,1924,1925,1938,1952,1964],{"__ignoreMap":881},[885,1926,1927,1929,1931,1933,1936],{"class":887,"line":888},[885,1928,892],{"class":891},[885,1930,1349],{"class":899},[885,1932,1352],{"class":899},[885,1934,1935],{"class":899}," https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers\u002Fcmusr4k2h0000ex01lena0001\u002Ftraining",[885,1937,907],{"class":906},[885,1939,1940,1942,1944,1946,1948,1950],{"class":887,"line":910},[885,1941,913],{"class":899},[885,1943,896],{"class":895},[885,1945,918],{"class":899},[885,1947,567],{"class":906},[885,1949,903],{"class":895},[885,1951,907],{"class":906},[885,1953,1954,1956,1958,1960,1962],{"class":887,"line":955},[885,1955,913],{"class":899},[885,1957,896],{"class":895},[885,1959,1380],{"class":899},[885,1961,903],{"class":895},[885,1963,907],{"class":906},[885,1965,1966,1968,1970,1973],{"class":887,"line":961},[885,1967,1402],{"class":899},[885,1969,1405],{"class":895},[885,1971,1972],{"class":899},"{ \"course_id\": \"cmcrs0000000000000000004\", \"due_date\": \"2026-12-15\" }",[885,1974,1450],{"class":895},[812,1976,1977,1983,1988,1998],{},[815,1978,1979,1980,1982],{},"Needs ",[565,1981,713],{},", and an owner who is an Administrator or Executive, or the person's Department Head. Nobody assigns training to themselves.",[815,1984,1985,1986,560],{},"A course that is already assigned to the person answers ",[565,1987,1479],{},[815,1989,1990,1991,1501,1994,1997],{},"To record training that has already been completed, send ",[565,1992,1993],{},"\"status\": \"COMPLETED\"",[565,1995,1996],{},"completed_date"," then defaults to today on the person's calendar.",[815,1999,2000,2001,2004,2005,2007],{},"There is no endpoint that lists courses. Take ",[565,2002,2003],{},"course_id"," from an existing assignment (",[565,2006,1831],{}," returns it) or from the course in the app.",[1916,2009,2011],{"id":2010},"issue-equipment","Issue equipment",[876,2013,2015],{"className":878,"code":2014,"language":880,"meta":881,"style":881},"curl -X POST https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers\u002Fcmusr4k2h0000ex01lena0001\u002Fassets \\\n  -H \"Authorization: Bearer $BOOKYOURPTO_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"description\": \"Laptop, 14-inch\", \"serial_number\": \"C02FK3ZPMD6T\", \"category_name\": \"Laptops\", \"date_assigned\": \"2026-11-02\" }'\n",[565,2016,2017,2030,2044,2056],{"__ignoreMap":881},[885,2018,2019,2021,2023,2025,2028],{"class":887,"line":888},[885,2020,892],{"class":891},[885,2022,1349],{"class":899},[885,2024,1352],{"class":899},[885,2026,2027],{"class":899}," https:\u002F\u002Fapp.bookyourpto.com\u002Fapi\u002Fv1\u002Fusers\u002Fcmusr4k2h0000ex01lena0001\u002Fassets",[885,2029,907],{"class":906},[885,2031,2032,2034,2036,2038,2040,2042],{"class":887,"line":910},[885,2033,913],{"class":899},[885,2035,896],{"class":895},[885,2037,918],{"class":899},[885,2039,567],{"class":906},[885,2041,903],{"class":895},[885,2043,907],{"class":906},[885,2045,2046,2048,2050,2052,2054],{"class":887,"line":955},[885,2047,913],{"class":899},[885,2049,896],{"class":895},[885,2051,1380],{"class":899},[885,2053,903],{"class":895},[885,2055,907],{"class":906},[885,2057,2058,2060,2062,2065],{"class":887,"line":961},[885,2059,1402],{"class":899},[885,2061,1405],{"class":895},[885,2063,2064],{"class":899},"{ \"description\": \"Laptop, 14-inch\", \"serial_number\": \"C02FK3ZPMD6T\", \"category_name\": \"Laptops\", \"date_assigned\": \"2026-11-02\" }",[885,2066,1450],{"class":895},[553,2068,2069,2070,2073,2074,2077,2078,2081,2082,679,2085,2088],{},"Give ",[565,2071,2072],{},"category_id",", or ",[565,2075,2076],{},"category_name"," to use a category by name and create it if it does not exist. Use ",[565,2079,2080],{},"PATCH \u002Fusers\u002F{id}\u002Fassets\u002F{asset_id}"," to record a return (",[565,2083,2084],{},"date_returned",[565,2086,2087],{},"\"status\": \"AVAILABLE\"",") or a loss. The same people who may assign training may issue equipment, and nobody issues equipment to themselves.",[553,2090,1319,2091,560],{},[557,2092,2094],{"href":2093},"\u002Fapi\u002Freference#tag\u002Fpeople-records","People records",[578,2096,2098],{"id":2097},"onboarding-and-offboarding-checklists","Onboarding and offboarding checklists",[553,2100,2101,2104,2105,679,2108,2111,2112,1272,2115,2118,2119,560],{},[565,2102,2103],{},"GET \u002Fonboarding"," lists checklists with their tasks. Filter with ",[565,2106,2107],{},"user_id",[565,2109,2110],{},"type"," (",[565,2113,2114],{},"ONBOARDING",[565,2116,2117],{},"OFFBOARDING",") and ",[565,2120,1275],{},[812,2122,2123,2126,2129,2132],{},[815,2124,2125],{},"Administrators and Executives see every checklist.",[815,2127,2128],{},"A Department Head sees their own, those of people in their department scope, and those with a task assigned to them.",[815,2130,2131],{},"Anyone else sees their own and those with a task assigned to them.",[815,2133,2134],{},"On someone else's checklist, only the tasks assigned to the token's owner are listed, unless they administer it.",[553,2136,1319,2137,560],{},[557,2138,450],{"href":2139},"\u002Fapi\u002Freference#tag\u002Fonboarding",[578,2141,2143],{"id":2142},"gotchas","Gotchas",[812,2145,2146,2152,2170,2176],{},[815,2147,2148,2151],{},[818,2149,2150],{},"Visibility is the owner's, not the token's."," Two tokens with the same scopes can return different people. If a sync looks incomplete, check who owns the token.",[815,2153,2154,1780,2157,679,2159,2162,2163,2165,2166,560],{},[818,2155,2156],{},"Calendar days are not timestamps.",[565,2158,1496],{},[565,2160,2161],{},"due_date"," and similar fields are ",[565,2164,1500],{}," days. Do not convert them through your local timezone. See ",[557,2167,2169],{"href":2168},"\u002Fapi\u002Frequests-and-responses#dates-and-times","Dates and times",[815,2171,2172,2175],{},[818,2173,2174],{},"Every page of a people list is recorded as an export"," in the organization's audit log, with the record count. Do not walk the directory more often than you need to; webhooks tell you what changed.",[815,2177,2178,2181],{},[818,2179,2180],{},"Removing someone is an app action."," Offboarding in the app deactivates the account and revokes the person's API tokens; the API cannot deactivate anyone.",[2183,2184,2185],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":881,"searchDepth":888,"depth":910,"links":2187},[2188,2189,2190,2191,2192,2193,2194,2198,2199],{"id":580,"depth":910,"text":581},{"id":806,"depth":910,"text":807},{"id":866,"depth":910,"text":867},{"id":1330,"depth":910,"text":1331},{"id":1528,"depth":910,"text":1529},{"id":1638,"depth":910,"text":1639},{"id":1797,"depth":910,"text":1798,"children":2195},[2196,2197],{"id":1918,"depth":955,"text":1919},{"id":2010,"depth":955,"text":2011},{"id":2097,"depth":910,"text":2098},{"id":2142,"depth":910,"text":2143},"Sync the employee directory, add and update people, manage departments and teams, and read HR records such as training, equipment, benefits and compensation through the API.","md",null,{},{"icon":193},{"title":190,"description":2200},"D8ApfSdCaKV2yp2o7Q4f5oJiYen3BIpj4vREdl8pUgo",[2208,2210],{"title":180,"path":181,"stem":182,"description":2209,"icon":76,"children":-1},"The request limits per token, per organization and per address, the RateLimit and Retry-After headers, the failed-authentication lockout, and how to back off.",{"title":195,"path":196,"stem":197,"description":2211,"icon":198,"children":-1},"Read leave types, requests, balances, public holidays and locked dates, book and cancel leave, and approve or reject requests through the API, with the visibility rules that apply.",1791906544698]