[{"data":1,"prerenderedAt":1093},["ShallowReactive",2],{"doc-sdks":3,"content-query-afs3HTXAzt":4},null,{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":8,"sidebar_position":10,"body":11,"_type":1087,"_id":1088,"_source":1089,"_file":1090,"_stem":1091,"_extension":1092},"\u002Fdocs\u002Fsdks","docs",false,"","SDKs Overview",4,{"type":12,"children":13,"toc":1078},"root",[14,23,40,46,51,213,218,257,264,298,303,309,465,471,476,491,496,510,515,521,526,619,632,638,643,815,821,826,892,897,910,915,974,980,1067,1072],{"type":15,"tag":16,"props":17,"children":19},"element","h1",{"id":18},"official-sdks",[20],{"type":21,"value":22},"text","Official SDKs",{"type":15,"tag":24,"props":25,"children":30},"div",{"className":26,"ariaHidden":29},[27,28],"docs-page-hero","docs-page-hero--sage","true",[31,33],{"type":21,"value":32},"\n  ",{"type":15,"tag":34,"props":35,"children":39},"img",{"src":36,"alt":8,"width":37,"height":38},"\u002Fimages\u002Fdocs-illustrations\u002Fsdks.svg",128,72,[],{"type":15,"tag":41,"props":42,"children":43},"p",{},[44],{"type":21,"value":45},"CredVault provides SDK package archives for Node.js, Python, Go, and Java. These are real SDKs, but the current distribution is through CredVault-provided package files or source archives unless your organization has published them to a private or public package registry.",{"type":15,"tag":41,"props":47,"children":48},{},[49],{"type":21,"value":50},"The current SDK archives are:",{"type":15,"tag":52,"props":53,"children":54},"table",{},[55,85],{"type":15,"tag":56,"props":57,"children":58},"thead",{},[59],{"type":15,"tag":60,"props":61,"children":62},"tr",{},[63,69,74,80],{"type":15,"tag":64,"props":65,"children":66},"th",{},[67],{"type":21,"value":68},"Language",{"type":15,"tag":64,"props":70,"children":71},{},[72],{"type":21,"value":73},"Local package name",{"type":15,"tag":64,"props":75,"children":77},{"align":76},"right",[78],{"type":21,"value":79},"Version",{"type":15,"tag":64,"props":81,"children":82},{},[83],{"type":21,"value":84},"Main use",{"type":15,"tag":86,"props":87,"children":88},"tbody",{},[89,122,151,183],{"type":15,"tag":60,"props":90,"children":91},{},[92,98,108,117],{"type":15,"tag":93,"props":94,"children":95},"td",{},[96],{"type":21,"value":97},"Node.js",{"type":15,"tag":93,"props":99,"children":100},{},[101],{"type":15,"tag":102,"props":103,"children":105},"code",{"className":104},[],[106],{"type":21,"value":107},"credvault-edge",{"type":15,"tag":93,"props":109,"children":110},{"align":76},[111],{"type":15,"tag":102,"props":112,"children":114},{"className":113},[],[115],{"type":21,"value":116},"1.0.0",{"type":15,"tag":93,"props":118,"children":119},{},[120],{"type":21,"value":121},"JavaScript and TypeScript backend apps",{"type":15,"tag":60,"props":123,"children":124},{},[125,130,138,146],{"type":15,"tag":93,"props":126,"children":127},{},[128],{"type":21,"value":129},"Python",{"type":15,"tag":93,"props":131,"children":132},{},[133],{"type":15,"tag":102,"props":134,"children":136},{"className":135},[],[137],{"type":21,"value":107},{"type":15,"tag":93,"props":139,"children":140},{"align":76},[141],{"type":15,"tag":102,"props":142,"children":144},{"className":143},[],[145],{"type":21,"value":116},{"type":15,"tag":93,"props":147,"children":148},{},[149],{"type":21,"value":150},"Python services, scripts, and notebooks",{"type":15,"tag":60,"props":152,"children":153},{},[154,159,168,178],{"type":15,"tag":93,"props":155,"children":156},{},[157],{"type":21,"value":158},"Go",{"type":15,"tag":93,"props":160,"children":161},{},[162],{"type":15,"tag":102,"props":163,"children":165},{"className":164},[],[166],{"type":21,"value":167},"github.com\u002Fcredvault\u002Fcredvault-edge-go",{"type":15,"tag":93,"props":169,"children":170},{"align":76},[171,176],{"type":15,"tag":102,"props":172,"children":174},{"className":173},[],[175],{"type":21,"value":116},{"type":21,"value":177}," source",{"type":15,"tag":93,"props":179,"children":180},{},[181],{"type":21,"value":182},"Go services and automation",{"type":15,"tag":60,"props":184,"children":185},{},[186,191,200,208],{"type":15,"tag":93,"props":187,"children":188},{},[189],{"type":21,"value":190},"Java",{"type":15,"tag":93,"props":192,"children":193},{},[194],{"type":15,"tag":102,"props":195,"children":197},{"className":196},[],[198],{"type":21,"value":199},"com.credvault:credvault-edge",{"type":15,"tag":93,"props":201,"children":202},{"align":76},[203],{"type":15,"tag":102,"props":204,"children":206},{"className":205},[],[207],{"type":21,"value":116},{"type":15,"tag":93,"props":209,"children":210},{},[211],{"type":21,"value":212},"Java and Spring Boot services",{"type":15,"tag":41,"props":214,"children":215},{},[216],{"type":21,"value":217},"The separate CIE CLI package remains the terminal tool:",{"type":15,"tag":219,"props":220,"children":224},"pre",{"className":221,"code":222,"language":223,"meta":8,"style":8},"language-bash shiki shiki-themes github-dark","npm install -g credvault-cie\n","bash",[225],{"type":15,"tag":102,"props":226,"children":227},{"__ignoreMap":8},[228],{"type":15,"tag":229,"props":230,"children":233},"span",{"class":231,"line":232},"line",1,[234,240,246,252],{"type":15,"tag":229,"props":235,"children":237},{"style":236},"--shiki-default:#B392F0",[238],{"type":21,"value":239},"npm",{"type":15,"tag":229,"props":241,"children":243},{"style":242},"--shiki-default:#9ECBFF",[244],{"type":21,"value":245}," install",{"type":15,"tag":229,"props":247,"children":249},{"style":248},"--shiki-default:#79B8FF",[250],{"type":21,"value":251}," -g",{"type":15,"tag":229,"props":253,"children":254},{"style":242},[255],{"type":21,"value":256}," credvault-cie\n",{"type":15,"tag":258,"props":259,"children":261},"h2",{"id":260},"important-package-status",[262],{"type":21,"value":263},"Important Package Status",{"type":15,"tag":41,"props":265,"children":266},{},[267,269,274,276,282,284,289,290,296],{"type":21,"value":268},"Use only confirmed package names and registry locations in production. The Node.js SDK package is ",{"type":15,"tag":102,"props":270,"children":272},{"className":271},[],[273],{"type":21,"value":107},{"type":21,"value":275},", not ",{"type":15,"tag":102,"props":277,"children":279},{"className":278},[],[280],{"type":21,"value":281},"credvault-sdk",{"type":21,"value":283},". The Python SDK package is ",{"type":15,"tag":102,"props":285,"children":287},{"className":286},[],[288],{"type":21,"value":107},{"type":21,"value":275},{"type":15,"tag":102,"props":291,"children":293},{"className":292},[],[294],{"type":21,"value":295},"credvault",{"type":21,"value":297},".",{"type":15,"tag":41,"props":299,"children":300},{},[301],{"type":21,"value":302},"For now, SDK users should install from the package files or source archives provided by CredVault. When a package is published to a registry, update these docs with the public registry command.",{"type":15,"tag":258,"props":304,"children":306},{"id":305},"what-users-can-use-today",[307],{"type":21,"value":308},"What Users Can Use Today",{"type":15,"tag":52,"props":310,"children":311},{},[312,333],{"type":15,"tag":56,"props":313,"children":314},{},[315],{"type":15,"tag":60,"props":316,"children":317},{},[318,323,328],{"type":15,"tag":64,"props":319,"children":320},{},[321],{"type":21,"value":322},"Tool",{"type":15,"tag":64,"props":324,"children":325},{},[326],{"type":21,"value":327},"Install source",{"type":15,"tag":64,"props":329,"children":330},{},[331],{"type":21,"value":332},"Status",{"type":15,"tag":86,"props":334,"children":335},{},[336,358,382,406,424,441],{"type":15,"tag":60,"props":337,"children":338},{},[339,344,353],{"type":15,"tag":93,"props":340,"children":341},{},[342],{"type":21,"value":343},"CIE CLI",{"type":15,"tag":93,"props":345,"children":346},{},[347],{"type":15,"tag":102,"props":348,"children":350},{"className":349},[],[351],{"type":21,"value":352},"npm install -g credvault-cie",{"type":15,"tag":93,"props":354,"children":355},{},[356],{"type":21,"value":357},"Public CLI package",{"type":15,"tag":60,"props":359,"children":360},{},[361,366,377],{"type":15,"tag":93,"props":362,"children":363},{},[364],{"type":21,"value":365},"Node.js SDK",{"type":15,"tag":93,"props":367,"children":368},{},[369,371],{"type":21,"value":370},"Local ",{"type":15,"tag":102,"props":372,"children":374},{"className":373},[],[375],{"type":21,"value":376},"credvault-edge-1.0.0.tgz",{"type":15,"tag":93,"props":378,"children":379},{},[380],{"type":21,"value":381},"Local package artifact",{"type":15,"tag":60,"props":383,"children":384},{},[385,390,402],{"type":15,"tag":93,"props":386,"children":387},{},[388],{"type":21,"value":389},"Python SDK",{"type":15,"tag":93,"props":391,"children":392},{},[393,394,400],{"type":21,"value":370},{"type":15,"tag":102,"props":395,"children":397},{"className":396},[],[398],{"type":21,"value":399},"credvault_edge-1.0.0",{"type":21,"value":401}," wheel or source archive",{"type":15,"tag":93,"props":403,"children":404},{},[405],{"type":21,"value":381},{"type":15,"tag":60,"props":407,"children":408},{},[409,414,419],{"type":15,"tag":93,"props":410,"children":411},{},[412],{"type":21,"value":413},"Go SDK",{"type":15,"tag":93,"props":415,"children":416},{},[417],{"type":21,"value":418},"Local Go module source",{"type":15,"tag":93,"props":420,"children":421},{},[422],{"type":21,"value":423},"Local source module",{"type":15,"tag":60,"props":425,"children":426},{},[427,432,437],{"type":15,"tag":93,"props":428,"children":429},{},[430],{"type":21,"value":431},"Java SDK",{"type":15,"tag":93,"props":433,"children":434},{},[435],{"type":21,"value":436},"Local JAR or Gradle source",{"type":15,"tag":93,"props":438,"children":439},{},[440],{"type":21,"value":381},{"type":15,"tag":60,"props":442,"children":443},{},[444,449,460],{"type":15,"tag":93,"props":445,"children":446},{},[447],{"type":21,"value":448},"REST API",{"type":15,"tag":93,"props":450,"children":451},{},[452,458],{"type":15,"tag":102,"props":453,"children":455},{"className":454},[],[456],{"type":21,"value":457},"\u002Fapi-docs",{"type":21,"value":459}," on the backend",{"type":15,"tag":93,"props":461,"children":462},{},[463],{"type":21,"value":464},"Available through backend",{"type":15,"tag":258,"props":466,"children":468},{"id":467},"production-base-url",[469],{"type":21,"value":470},"Production Base URL",{"type":15,"tag":41,"props":472,"children":473},{},[474],{"type":21,"value":475},"The SDK source currently defaults to a local development backend:",{"type":15,"tag":219,"props":477,"children":480},{"className":478,"code":479,"language":21,"meta":8,"style":8},"language-text shiki shiki-themes github-dark","http:\u002F\u002Flocalhost:5000\u002Fapi\n",[481],{"type":15,"tag":102,"props":482,"children":483},{"__ignoreMap":8},[484],{"type":15,"tag":229,"props":485,"children":486},{"class":231,"line":232},[487],{"type":15,"tag":229,"props":488,"children":489},{},[490],{"type":21,"value":479},{"type":15,"tag":41,"props":492,"children":493},{},[494],{"type":21,"value":495},"That is correct for local backend testing only. Production users must pass the CredVault API base URL when creating the client:",{"type":15,"tag":219,"props":497,"children":499},{"className":478,"code":498,"language":21,"meta":8,"style":8},"https:\u002F\u002F\u003Cyour-credvault-backend>\u002Fapi\n",[500],{"type":15,"tag":102,"props":501,"children":502},{"__ignoreMap":8},[503],{"type":15,"tag":229,"props":504,"children":505},{"class":231,"line":232},[506],{"type":15,"tag":229,"props":507,"children":508},{},[509],{"type":21,"value":498},{"type":15,"tag":41,"props":511,"children":512},{},[513],{"type":21,"value":514},"If the base URL is not set, the SDK will try to call a backend running on the user's own computer and production requests will fail.",{"type":15,"tag":258,"props":516,"children":518},{"id":517},"authentication-scope",[519],{"type":21,"value":520},"Authentication Scope",{"type":15,"tag":41,"props":522,"children":523},{},[524],{"type":21,"value":525},"The SDKs support both API keys and signed-in user tokens, but they are not the same thing.",{"type":15,"tag":52,"props":527,"children":528},{},[529,550],{"type":15,"tag":56,"props":530,"children":531},{},[532],{"type":15,"tag":60,"props":533,"children":534},{},[535,540,545],{"type":15,"tag":64,"props":536,"children":537},{},[538],{"type":21,"value":539},"Credential",{"type":15,"tag":64,"props":541,"children":542},{},[543],{"type":21,"value":544},"Works best for",{"type":15,"tag":64,"props":546,"children":547},{},[548],{"type":21,"value":549},"Example endpoints",{"type":15,"tag":86,"props":551,"children":552},{},[553,575],{"type":15,"tag":60,"props":554,"children":555},{},[556,561,566],{"type":15,"tag":93,"props":557,"children":558},{},[559],{"type":21,"value":560},"API key",{"type":15,"tag":93,"props":562,"children":563},{},[564],{"type":21,"value":565},"Server-to-server data access",{"type":15,"tag":93,"props":567,"children":568},{},[569],{"type":15,"tag":102,"props":570,"children":572},{"className":571},[],[573],{"type":21,"value":574},"\u002Fapi\u002Fv1\u002Fdata\u002F:collection",{"type":15,"tag":60,"props":576,"children":577},{},[578,583,588],{"type":15,"tag":93,"props":579,"children":580},{},[581],{"type":21,"value":582},"User token",{"type":15,"tag":93,"props":584,"children":585},{},[586],{"type":21,"value":587},"Dashboard-style user actions",{"type":15,"tag":93,"props":589,"children":590},{},[591,597,599,605,606,612,613],{"type":15,"tag":102,"props":592,"children":594},{"className":593},[],[595],{"type":21,"value":596},"\u002Fapi\u002Fclusters",{"type":21,"value":598},", ",{"type":15,"tag":102,"props":600,"children":602},{"className":601},[],[603],{"type":21,"value":604},"\u002Fapi\u002Ffunctions",{"type":21,"value":598},{"type":15,"tag":102,"props":607,"children":609},{"className":608},[],[610],{"type":21,"value":611},"\u002Fapi\u002Fwebhooks",{"type":21,"value":598},{"type":15,"tag":102,"props":614,"children":616},{"className":615},[],[617],{"type":21,"value":618},"\u002Fapi\u002Fsettings",{"type":15,"tag":41,"props":620,"children":621},{},[622,624,630],{"type":21,"value":623},"If an SDK method calls ",{"type":15,"tag":102,"props":625,"children":627},{"className":626},[],[628],{"type":21,"value":629},"\u002Fapi\u002Fv1\u002Fdata",{"type":21,"value":631},", use an API key with the right data permissions. If a method calls dashboard\u002Fadmin routes such as clusters, functions, API-key management, settings, or logs, use a signed-in user token.",{"type":15,"tag":258,"props":633,"children":635},{"id":634},"resources-included",[636],{"type":21,"value":637},"Resources Included",{"type":15,"tag":41,"props":639,"children":640},{},[641],{"type":21,"value":642},"The SDKs expose the same core platform areas:",{"type":15,"tag":644,"props":645,"children":646},"ul",{},[647,659,670,681,692,703,714,725,736,755,766,777,793,804],{"type":15,"tag":648,"props":649,"children":650},"li",{},[651,657],{"type":15,"tag":102,"props":652,"children":654},{"className":653},[],[655],{"type":21,"value":656},"auth",{"type":21,"value":658}," for user login and profile calls",{"type":15,"tag":648,"props":660,"children":661},{},[662,668],{"type":15,"tag":102,"props":663,"children":665},{"className":664},[],[666],{"type":21,"value":667},"data",{"type":21,"value":669}," for clusters and collection data",{"type":15,"tag":648,"props":671,"children":672},{},[673,679],{"type":15,"tag":102,"props":674,"children":676},{"className":675},[],[677],{"type":21,"value":678},"cie",{"type":21,"value":680}," for Intelligence Engine datasets, models, and predictions",{"type":15,"tag":648,"props":682,"children":683},{},[684,690],{"type":15,"tag":102,"props":685,"children":687},{"className":686},[],[688],{"type":21,"value":689},"webhooks",{"type":21,"value":691}," for event delivery configuration",{"type":15,"tag":648,"props":693,"children":694},{},[695,701],{"type":15,"tag":102,"props":696,"children":698},{"className":697},[],[699],{"type":21,"value":700},"functions",{"type":21,"value":702}," for serverless functions",{"type":15,"tag":648,"props":704,"children":705},{},[706,712],{"type":15,"tag":102,"props":707,"children":709},{"className":708},[],[710],{"type":21,"value":711},"triggers",{"type":21,"value":713}," for database event automation",{"type":15,"tag":648,"props":715,"children":716},{},[717,723],{"type":15,"tag":102,"props":718,"children":720},{"className":719},[],[721],{"type":21,"value":722},"backups",{"type":21,"value":724}," for backup and restore operations",{"type":15,"tag":648,"props":726,"children":727},{},[728,734],{"type":15,"tag":102,"props":729,"children":731},{"className":730},[],[732],{"type":21,"value":733},"schema",{"type":21,"value":735}," for schema and index operations",{"type":15,"tag":648,"props":737,"children":738},{},[739,745,747,753],{"type":15,"tag":102,"props":740,"children":742},{"className":741},[],[743],{"type":21,"value":744},"apiKeys",{"type":21,"value":746}," or ",{"type":15,"tag":102,"props":748,"children":750},{"className":749},[],[751],{"type":21,"value":752},"api_keys",{"type":21,"value":754}," for API key management",{"type":15,"tag":648,"props":756,"children":757},{},[758,764],{"type":15,"tag":102,"props":759,"children":761},{"className":760},[],[762],{"type":21,"value":763},"metrics",{"type":21,"value":765}," for monitoring data",{"type":15,"tag":648,"props":767,"children":768},{},[769,775],{"type":15,"tag":102,"props":770,"children":772},{"className":771},[],[773],{"type":21,"value":774},"logs",{"type":21,"value":776}," for activity and audit logs",{"type":15,"tag":648,"props":778,"children":779},{},[780,786,788],{"type":15,"tag":102,"props":781,"children":783},{"className":782},[],[784],{"type":21,"value":785},"notifications",{"type":21,"value":787}," for user notifications; preference methods should be checked against ",{"type":15,"tag":102,"props":789,"children":791},{"className":790},[],[792],{"type":21,"value":457},{"type":15,"tag":648,"props":794,"children":795},{},[796,802],{"type":15,"tag":102,"props":797,"children":799},{"className":798},[],[800],{"type":21,"value":801},"settings",{"type":21,"value":803}," for account and platform settings; some methods need backend route alignment before public use",{"type":15,"tag":648,"props":805,"children":806},{},[807,813],{"type":15,"tag":102,"props":808,"children":810},{"className":809},[],[811],{"type":21,"value":812},"robots",{"type":21,"value":814}," for robot and device endpoints, but this area needs route alignment before being documented as public-ready",{"type":15,"tag":258,"props":816,"children":818},{"id":817},"choosing-an-integration-method",[819],{"type":21,"value":820},"Choosing An Integration Method",{"type":15,"tag":41,"props":822,"children":823},{},[824],{"type":21,"value":825},"Use the REST API when building directly against HTTP:",{"type":15,"tag":219,"props":827,"children":829},{"className":221,"code":828,"language":223,"meta":8,"style":8},"curl https:\u002F\u002F\u003Cyour-credvault-backend>\u002Fapi\u002Fv1\u002Fdata\u002Fcustomers \\\n  -H \"X-API-Key: \u003Cyour-api-key>\"\n",[830],{"type":15,"tag":102,"props":831,"children":832},{"__ignoreMap":8},[833,878],{"type":15,"tag":229,"props":834,"children":835},{"class":231,"line":232},[836,841,846,852,857,863,868,873],{"type":15,"tag":229,"props":837,"children":838},{"style":236},[839],{"type":21,"value":840},"curl",{"type":15,"tag":229,"props":842,"children":843},{"style":242},[844],{"type":21,"value":845}," https:\u002F\u002F",{"type":15,"tag":229,"props":847,"children":849},{"style":848},"--shiki-default:#F97583",[850],{"type":21,"value":851},"\u003C",{"type":15,"tag":229,"props":853,"children":854},{"style":242},[855],{"type":21,"value":856},"your-credvault-backen",{"type":15,"tag":229,"props":858,"children":860},{"style":859},"--shiki-default:#E1E4E8",[861],{"type":21,"value":862},"d",{"type":15,"tag":229,"props":864,"children":865},{"style":848},[866],{"type":21,"value":867},">",{"type":15,"tag":229,"props":869,"children":870},{"style":242},[871],{"type":21,"value":872},"\u002Fapi\u002Fv1\u002Fdata\u002Fcustomers",{"type":15,"tag":229,"props":874,"children":875},{"style":248},[876],{"type":21,"value":877}," \\\n",{"type":15,"tag":229,"props":879,"children":881},{"class":231,"line":880},2,[882,887],{"type":15,"tag":229,"props":883,"children":884},{"style":248},[885],{"type":21,"value":886},"  -H",{"type":15,"tag":229,"props":888,"children":889},{"style":242},[890],{"type":21,"value":891}," \"X-API-Key: \u003Cyour-api-key>\"\n",{"type":15,"tag":41,"props":893,"children":894},{},[895],{"type":21,"value":896},"Use an SDK when your application is written in Node.js, Python, Go, or Java and you want a language-native client.",{"type":15,"tag":41,"props":898,"children":899},{},[900,902,909],{"type":21,"value":901},"For a feature-by-feature map of what the SDKs cover compared with the CredVault dashboard, see ",{"type":15,"tag":903,"props":904,"children":906},"a",{"href":905},"\u002Fdocs\u002Fsdks\u002Fplatform-coverage",[907],{"type":21,"value":908},"Platform Coverage",{"type":21,"value":297},{"type":15,"tag":41,"props":911,"children":912},{},[913],{"type":21,"value":914},"Use the CIE CLI when working from a terminal:",{"type":15,"tag":219,"props":916,"children":918},{"className":221,"code":917,"language":223,"meta":8,"style":8},"cie login\ncie data upload .\u002Fcustomers.csv\ncie jobs list\n",[919],{"type":15,"tag":102,"props":920,"children":921},{"__ignoreMap":8},[922,934,956],{"type":15,"tag":229,"props":923,"children":924},{"class":231,"line":232},[925,929],{"type":15,"tag":229,"props":926,"children":927},{"style":236},[928],{"type":21,"value":678},{"type":15,"tag":229,"props":930,"children":931},{"style":242},[932],{"type":21,"value":933}," login\n",{"type":15,"tag":229,"props":935,"children":936},{"class":231,"line":880},[937,941,946,951],{"type":15,"tag":229,"props":938,"children":939},{"style":236},[940],{"type":21,"value":678},{"type":15,"tag":229,"props":942,"children":943},{"style":242},[944],{"type":21,"value":945}," data",{"type":15,"tag":229,"props":947,"children":948},{"style":242},[949],{"type":21,"value":950}," upload",{"type":15,"tag":229,"props":952,"children":953},{"style":242},[954],{"type":21,"value":955}," .\u002Fcustomers.csv\n",{"type":15,"tag":229,"props":957,"children":959},{"class":231,"line":958},3,[960,964,969],{"type":15,"tag":229,"props":961,"children":962},{"style":236},[963],{"type":21,"value":678},{"type":15,"tag":229,"props":965,"children":966},{"style":242},[967],{"type":21,"value":968}," jobs",{"type":15,"tag":229,"props":970,"children":971},{"style":242},[972],{"type":21,"value":973}," list\n",{"type":15,"tag":258,"props":975,"children":977},{"id":976},"authentication-methods",[978],{"type":21,"value":979},"Authentication Methods",{"type":15,"tag":52,"props":981,"children":982},{},[983,1004],{"type":15,"tag":56,"props":984,"children":985},{},[986],{"type":15,"tag":60,"props":987,"children":988},{},[989,994,999],{"type":15,"tag":64,"props":990,"children":991},{},[992],{"type":21,"value":993},"Method",{"type":15,"tag":64,"props":995,"children":996},{},[997],{"type":21,"value":998},"Best for",{"type":15,"tag":64,"props":1000,"children":1001},{},[1002],{"type":21,"value":1003},"Notes",{"type":15,"tag":86,"props":1005,"children":1006},{},[1007,1025,1049],{"type":15,"tag":60,"props":1008,"children":1009},{},[1010,1015,1020],{"type":15,"tag":93,"props":1011,"children":1012},{},[1013],{"type":21,"value":1014},"Session token",{"type":15,"tag":93,"props":1016,"children":1017},{},[1018],{"type":21,"value":1019},"User actions from apps and CLI sessions",{"type":15,"tag":93,"props":1021,"children":1022},{},[1023],{"type":21,"value":1024},"Created by sign-in",{"type":15,"tag":60,"props":1026,"children":1027},{},[1028,1032,1037],{"type":15,"tag":93,"props":1029,"children":1030},{},[1031],{"type":21,"value":560},{"type":15,"tag":93,"props":1033,"children":1034},{},[1035],{"type":21,"value":1036},"Server applications and automation",{"type":15,"tag":93,"props":1038,"children":1039},{},[1040,1042,1047],{"type":21,"value":1041},"Best for ",{"type":15,"tag":102,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":21,"value":629},{"type":21,"value":1048}," routes",{"type":15,"tag":60,"props":1050,"children":1051},{},[1052,1057,1062],{"type":15,"tag":93,"props":1053,"children":1054},{},[1055],{"type":21,"value":1056},"OAuth",{"type":15,"tag":93,"props":1058,"children":1059},{},[1060],{"type":21,"value":1061},"Browser user sign-in",{"type":15,"tag":93,"props":1063,"children":1064},{},[1065],{"type":21,"value":1066},"Google and GitHub routes exist",{"type":15,"tag":41,"props":1068,"children":1069},{},[1070],{"type":21,"value":1071},"Store tokens and API keys in environment variables or a secrets manager. Never commit them into source control.",{"type":15,"tag":1073,"props":1074,"children":1075},"style",{},[1076],{"type":21,"value":1077},"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);}",{"title":8,"searchDepth":880,"depth":880,"links":1079},[1080,1081,1082,1083,1084,1085,1086],{"id":260,"depth":880,"text":263},{"id":305,"depth":880,"text":308},{"id":467,"depth":880,"text":470},{"id":517,"depth":880,"text":520},{"id":634,"depth":880,"text":637},{"id":817,"depth":880,"text":820},{"id":976,"depth":880,"text":979},"markdown","content:docs:sdks:index.md","content","docs\u002Fsdks\u002Findex.md","docs\u002Fsdks\u002Findex","md",1794695981396]