[{"data":1,"prerenderedAt":691},["ShallowReactive",2],{"apis-partner-overview":3},{"id":4,"title":5,"body":6,"description":683,"extension":684,"meta":685,"navigation":408,"path":687,"seo":688,"stem":689,"__hash__":690},"content/apis/partner/overview.md","Partner API Overview",{"type":7,"value":8,"toc":666},"minimal",[9,14,23,53,63,66,70,73,111,119,124,127,143,149,153,160,169,172,176,179,183,191,202,209,266,273,283,290,307,314,324,331,341,345,442,446,449,457,461,569,573,576,580,591,596,600,609,612,643,647,650,662],[10,11,13],"h2",{"id":12},"overview","Overview",[15,16,17,18,22],"p",{},"The ",[19,20,21],"strong",{},"Partner API"," is designed to synchronize dealer, site, device, site contact, and monitoring station data with the CHeKT system. This RESTful API enables seamless integration between your platform and CHeKT's security infrastructure.",[24,25,28,31,50],"guide-alert",{"type":26,"title":27},"info","Two Separate Partner APIs",[15,29,30],{},"CHeKT provides two distinct APIs for partner integrations:",[32,33,34,40],"ul",{},[35,36,37,39],"li",{},[19,38,21],{}," (this document): RESTful API for managing dealers, sites, devices, contacts, and monitoring stations (CRUD operations)",[35,41,42,49],{},[19,43,44],{},[45,46,48],"a",{"href":47},"/apis/partner/event-api","Partner Event API",": Real-time event ingestion API for sending alarms, troubles, and arming events with media",[15,51,52],{},"Each API has its own authentication method. This document covers the Partner API.",[24,54,56],{"type":26,"title":55},"Base URL",[15,57,58,59],{},"All API requests should be made to: ",[60,61,62],"code",{},"https://api.chekt.com",[64,65],"hr",{},[10,67,69],{"id":68},"authentication","Authentication",[15,71,72],{},"The Partner API uses OAuth 2.0 with two different flows depending on the endpoint:",[74,75,76,89],"table",{},[77,78,79],"thead",{},[80,81,82,86],"tr",{},[83,84,85],"th",{},"Endpoint",[83,87,88],{},"Authentication Method",[90,91,92,103],"tbody",{},[80,93,94,100],{},[95,96,97],"td",{},[60,98,99],{},"/partner/v1/dealers/connect",[95,101,102],{},"OAuth 2.0 Authorization Code Flow",[80,104,105,108],{},[95,106,107],{},"All other endpoints",[95,109,110],{},"OAuth 2.0 Client Credentials Grant (M2M with JWT)",[15,112,113,114,118],{},"For detailed authentication setup and examples, see the ",[45,115,117],{"href":116},"/apis/partner/authentication","Partner API Authentication"," guide.",[120,121,123],"h3",{"id":122},"quick-start","Quick Start",[15,125,126],{},"After obtaining an access token, include it in the request header:",[128,129,134],"pre",{"className":130,"code":131,"language":132,"meta":133,"style":133},"language-http shiki shiki-themes github-light github-dark","Authorization: Bearer {access_token}\n","http","",[60,135,136],{"__ignoreMap":133},[137,138,141],"span",{"class":139,"line":140},"line",1,[137,142,131],{},[24,144,146],{"type":145},"warning",[15,147,148],{},"Access tokens expire after a period (typically 1 hour). Generate a new token when the current one expires.",[10,150,152],{"id":151},"request-tracking","Request Tracking",[15,154,155,156,159],{},"All API endpoints support the optional ",[60,157,158],{},"x-partner-trace-id"," header for request tracking:",[128,161,163],{"className":130,"code":162,"language":132,"meta":133,"style":133},"x-partner-trace-id: 550e8400-e29b-41d4-a716-123456789000\n",[60,164,165],{"__ignoreMap":133},[137,166,167],{"class":139,"line":140},[137,168,162],{},[15,170,171],{},"This UUID helps track requests across systems for debugging and monitoring purposes.",[10,173,175],{"id":174},"query-string-parameters","Query String Parameters",[15,177,178],{},"The Partner API supports advanced query string parameters for filtering, sorting, and pagination:",[120,180,182],{"id":181},"available-parameters","Available Parameters",[15,184,185,190],{},[19,186,187],{},[60,188,189],{},"fields"," (optional)",[32,192,193,196],{},[35,194,195],{},"Specifies column names to retrieve",[35,197,198,199],{},"Example: ",[60,200,201],{},"fields=table1.column1,table2.column2",[15,203,204,190],{},[19,205,206],{},[60,207,208],{},"filter",[32,210,211,214,261],{},[35,212,213],{},"Filter data based on database column values",[35,215,216,217],{},"Supported operators:\n",[32,218,219,225,231,237,243,249,255],{},[35,220,221,224],{},[60,222,223],{},"eq"," (default): Equal to",[35,226,227,230],{},[60,228,229],{},"neq",": Not equal to",[35,232,233,236],{},[60,234,235],{},"lt",": Less than",[35,238,239,242],{},[60,240,241],{},"lte",": Less than or equal to",[35,244,245,248],{},[60,246,247],{},"gt",": Greater than",[35,250,251,254],{},[60,252,253],{},"gte",": Greater than or equal to",[35,256,257,260],{},[60,258,259],{},"regex",": Regular expression match",[35,262,198,263],{},[60,264,265],{},"filter=column,value,eq",[15,267,268,190],{},[19,269,270],{},[60,271,272],{},"sort",[32,274,275,278],{},[35,276,277],{},"Specify column to sort by",[35,279,198,280],{},[60,281,282],{},"sort=column1",[15,284,285,190],{},[19,286,287],{},[60,288,289],{},"dir",[32,291,292,302],{},[35,293,294,295,298,299],{},"Sorting direction: ",[60,296,297],{},"asc"," (default) or ",[60,300,301],{},"desc",[35,303,198,304],{},[60,305,306],{},"dir=desc",[15,308,309,190],{},[19,310,311],{},[60,312,313],{},"limit",[32,315,316,319],{},[35,317,318],{},"Maximum number of rows to return",[35,320,198,321],{},[60,322,323],{},"limit=10",[15,325,326,190],{},[19,327,328],{},[60,329,330],{},"offset",[32,332,333,336],{},[35,334,335],{},"Starting position in results",[35,337,198,338],{},[60,339,340],{},"offset=20",[120,342,344],{"id":343},"query-string-examples","Query String Examples",[128,346,350],{"className":347,"code":348,"language":349,"meta":133,"style":133},"language-bash shiki shiki-themes github-light github-dark","# Select specific fields with filter\n/api/resource?fields=col1,col2&filter=col1,value1,eq&sort=col1&dir=asc&limit=10\n\n# Multiple filters\n/api/resource?fields=col1,col2&filter=col1,value1,eq&filter=col2,value2,gt&limit=10\n","bash",[60,351,352,358,403,410,416],{"__ignoreMap":133},[137,353,354],{"class":139,"line":140},[137,355,357],{"class":356},"sJ8bj","# Select specific fields with filter\n",[137,359,361,365,369,373,377,380,383,385,388,391,393,395,398,400],{"class":139,"line":360},2,[137,362,364],{"class":363},"sScJk","/api/resource?fields",[137,366,368],{"class":367},"sZZnC","=col1,col2",[137,370,372],{"class":371},"sVt8B","&filter",[137,374,376],{"class":375},"szBVR","=",[137,378,379],{"class":367},"col1,value1,eq",[137,381,382],{"class":371},"&sort",[137,384,376],{"class":375},[137,386,387],{"class":367},"col1",[137,389,390],{"class":371},"&dir",[137,392,376],{"class":375},[137,394,297],{"class":367},[137,396,397],{"class":371},"&limit",[137,399,376],{"class":375},[137,401,402],{"class":367},"10\n",[137,404,406],{"class":139,"line":405},3,[137,407,409],{"emptyLinePlaceholder":408},true,"\n",[137,411,413],{"class":139,"line":412},4,[137,414,415],{"class":356},"# Multiple filters\n",[137,417,419,421,423,425,427,429,431,433,436,438,440],{"class":139,"line":418},5,[137,420,364],{"class":363},[137,422,368],{"class":367},[137,424,372],{"class":371},[137,426,376],{"class":375},[137,428,379],{"class":367},[137,430,372],{"class":371},[137,432,376],{"class":375},[137,434,435],{"class":367},"col2,value2,gt",[137,437,397],{"class":371},[137,439,376],{"class":375},[137,441,402],{"class":367},[10,443,445],{"id":444},"api-categories","API Categories",[15,447,448],{},"The Partner API is organized into the following categories:",[450,451,452],"guide-next-steps",{},[15,453,454],{},[137,455,456],{},"\n{\n\"title\": \"Authentication\",\n\"description\": \"Learn how to authenticate with OAuth 2.0 and JWT\",\n\"link\": \"/apis/partner/authentication\"\n},\n{\n\"title\": \"Event API\",\n\"description\": \"Send real-time events and media to CHeKT\",\n\"link\": \"/apis/partner/event-api\"\n},\n{\n\"title\": \"Dealers\",\n\"description\": \"Connect and manage dealer accounts\",\n\"link\": \"/apis/partner/dealers\"\n},\n{\n\"title\": \"Sites\",\n\"description\": \"Create and manage customer sites\",\n\"link\": \"/apis/partner/sites\"\n},\n{\n\"title\": \"Monitoring Stations\",\n\"description\": \"Configure monitoring station settings\",\n\"link\": \"/apis/partner/monitoring-stations\"\n},\n{\n\"title\": \"Contacts\",\n\"description\": \"Manage site contacts and emergency contacts\",\n\"link\": \"/apis/partner/contacts\"\n},\n{\n\"title\": \"Devices\",\n\"description\": \"Register and manage security devices\",\n\"link\": \"/apis/partner/devices\"\n},\n{\n\"title\": \"Arming Settings\",\n\"description\": \"Configure site arming and security settings\",\n\"link\": \"/apis/partner/arming-settings\"\n},\n{\n\"title\": \"Alarm Verifications\",\n\"description\": \"Handle alarm verification responses\",\n\"link\": \"/apis/partner/alarm-verifications\"\n}\n",[10,458,460],{"id":459},"common-response-codes","Common Response Codes",[74,462,463,476],{},[77,464,465],{},[80,466,467,470,473],{},[83,468,469],{},"Status Code",[83,471,472],{},"Description",[83,474,475],{},"Solution",[90,477,478,491,504,517,530,543,556],{},[80,479,480,485,488],{},[95,481,482],{},[60,483,484],{},"200",[95,486,487],{},"Success",[95,489,490],{},"Request completed successfully",[80,492,493,498,501],{},[95,494,495],{},[60,496,497],{},"201",[95,499,500],{},"Created",[95,502,503],{},"Resource created successfully",[80,505,506,511,514],{},[95,507,508],{},[60,509,510],{},"204",[95,512,513],{},"No Content",[95,515,516],{},"Resource deleted successfully",[80,518,519,524,527],{},[95,520,521],{},[60,522,523],{},"400",[95,525,526],{},"Bad Request",[95,528,529],{},"Check request payload format",[80,531,532,537,540],{},[95,533,534],{},[60,535,536],{},"401",[95,538,539],{},"Unauthorized",[95,541,542],{},"Refresh your access token",[80,544,545,550,553],{},[95,546,547],{},[60,548,549],{},"403",[95,551,552],{},"Forbidden",[95,554,555],{},"Verify your permissions",[80,557,558,563,566],{},[95,559,560],{},[60,561,562],{},"404",[95,564,565],{},"Not Found",[95,567,568],{},"Check resource ID",[10,570,572],{"id":571},"rate-limiting","Rate Limiting",[15,574,575],{},"To ensure service stability, API requests are subject to rate limiting. Contact CHeKT support if you need higher rate limits for your integration.",[10,577,579],{"id":578},"api-versioning","API Versioning",[15,581,582,583,586,587,590],{},"The current API version is ",[19,584,585],{},"v1",". All endpoints are prefixed with ",[60,588,589],{},"/partner/v1/",".",[24,592,593],{"type":26},[15,594,595],{},"We maintain backward compatibility within major versions. Breaking changes will be introduced in new major versions (e.g., v2).",[10,597,599],{"id":598},"document-version","Document Version",[601,602,603],"blockquote",{},[15,604,605,606],{},"⚠️ This document is subject to change. Current version: ",[19,607,608],{},"0.8",[15,610,611],{},"Recent changes:",[32,613,614,619,625,631,637],{},[35,615,616,618],{},[19,617,608],{}," (2025-05-28): Added arming-setting and verification APIs",[35,620,621,624],{},[19,622,623],{},"0.7"," (2025-05-23): Updated monitoring station CRUD APIs",[35,626,627,630],{},[19,628,629],{},"0.6"," (2025-05-16): Added disconnect API",[35,632,633,636],{},[19,634,635],{},"0.5"," (2025-05-15): Updated Contacts APIs",[35,638,639,642],{},[19,640,641],{},"0.4"," (2025-05-12): Updated Devices APIs",[10,644,646],{"id":645},"support","Support",[15,648,649],{},"For API support and questions:",[32,651,652,659],{},[35,653,654,655],{},"Email: ",[45,656,658],{"href":657},"mailto:support@chekt.com","support@chekt.com",[35,660,661],{},"Documentation: developer.chekt.com",[663,664,665],"style",{},"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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":133,"searchDepth":405,"depth":405,"links":667},[668,669,672,673,677,678,679,680,681,682],{"id":12,"depth":360,"text":13},{"id":68,"depth":360,"text":69,"children":670},[671],{"id":122,"depth":405,"text":123},{"id":151,"depth":360,"text":152},{"id":174,"depth":360,"text":175,"children":674},[675,676],{"id":181,"depth":405,"text":182},{"id":343,"depth":405,"text":344},{"id":444,"depth":360,"text":445},{"id":459,"depth":360,"text":460},{"id":571,"depth":360,"text":572},{"id":578,"depth":360,"text":579},{"id":598,"depth":360,"text":599},{"id":645,"depth":360,"text":646},"Comprehensive API documentation for integrating with the CHeKT Partner platform","md",{"category":686,"order":140},"API Reference","/apis/partner/overview",{"title":5,"description":683},"apis/partner/overview","Z08VyB464WqR2ciBtT2ulS_tUvqXVIQXK4pbm4PEggk",1770959187781]