[{"data":1,"prerenderedAt":603},["ShallowReactive",2],{"doc-sdks\u002Fjava":3,"content-query-9lpnp4Kn76":4},null,{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":8,"sidebar_position":10,"body":11,"_type":597,"_id":598,"_source":599,"_file":600,"_stem":601,"_extension":602},"\u002Fdocs\u002Fsdks\u002Fjava","sdks",false,"","Java SDK",3,{"type":12,"children":13,"toc":590},"root",[14,22,39,62,69,74,168,173,178,194,199,248,253,259,272,365,370,376,381,402,408,573,579,584],{"type":15,"tag":16,"props":17,"children":19},"element","h1",{"id":18},"java-sdk",[20],{"type":21,"value":9},"text",{"type":15,"tag":23,"props":24,"children":29},"div",{"className":25,"ariaHidden":28},[26,27],"docs-page-hero","docs-page-hero--sage","true",[30,32],{"type":21,"value":31},"\n  ",{"type":15,"tag":33,"props":34,"children":38},"img",{"src":35,"alt":8,"width":36,"height":37},"\u002Fimages\u002Fdocs-illustrations\u002Fsdks.svg",128,72,[],{"type":15,"tag":40,"props":41,"children":42},"p",{},[43,45,52,54,60],{"type":21,"value":44},"The local Java SDK artifact is ",{"type":15,"tag":46,"props":47,"children":49},"code",{"className":48},[],[50],{"type":21,"value":51},"com.credvault:credvault-edge",{"type":21,"value":53}," version ",{"type":15,"tag":46,"props":55,"children":57},{"className":56},[],[58],{"type":21,"value":59},"1.0.0",{"type":21,"value":61},". It uses OkHttp for HTTP requests and Gson for JSON serialization.",{"type":15,"tag":63,"props":64,"children":66},"h2",{"id":65},"installation",[67],{"type":21,"value":68},"Installation",{"type":15,"tag":40,"props":70,"children":71},{},[72],{"type":21,"value":73},"If CredVault gives you a local JAR, install it into your local Maven repository first:",{"type":15,"tag":75,"props":76,"children":80},"pre",{"className":77,"code":78,"language":79,"meta":8,"style":8},"language-bash shiki shiki-themes github-dark","mvn install:install-file \\\n  -Dfile=credvault-edge-java-1.0.0.jar \\\n  -DgroupId=com.credvault \\\n  -DartifactId=credvault-edge \\\n  -Dversion=1.0.0 \\\n  -Dpackaging=jar\n","bash",[81],{"type":15,"tag":46,"props":82,"children":83},{"__ignoreMap":8},[84,108,121,133,146,159],{"type":15,"tag":85,"props":86,"children":89},"span",{"class":87,"line":88},"line",1,[90,96,102],{"type":15,"tag":85,"props":91,"children":93},{"style":92},"--shiki-default:#B392F0",[94],{"type":21,"value":95},"mvn",{"type":15,"tag":85,"props":97,"children":99},{"style":98},"--shiki-default:#9ECBFF",[100],{"type":21,"value":101}," install:install-file",{"type":15,"tag":85,"props":103,"children":105},{"style":104},"--shiki-default:#79B8FF",[106],{"type":21,"value":107}," \\\n",{"type":15,"tag":85,"props":109,"children":111},{"class":87,"line":110},2,[112,117],{"type":15,"tag":85,"props":113,"children":114},{"style":104},[115],{"type":21,"value":116},"  -Dfile=credvault-edge-java-1.0.0.jar",{"type":15,"tag":85,"props":118,"children":119},{"style":104},[120],{"type":21,"value":107},{"type":15,"tag":85,"props":122,"children":123},{"class":87,"line":10},[124,129],{"type":15,"tag":85,"props":125,"children":126},{"style":104},[127],{"type":21,"value":128},"  -DgroupId=com.credvault",{"type":15,"tag":85,"props":130,"children":131},{"style":104},[132],{"type":21,"value":107},{"type":15,"tag":85,"props":134,"children":136},{"class":87,"line":135},4,[137,142],{"type":15,"tag":85,"props":138,"children":139},{"style":104},[140],{"type":21,"value":141},"  -DartifactId=credvault-edge",{"type":15,"tag":85,"props":143,"children":144},{"style":104},[145],{"type":21,"value":107},{"type":15,"tag":85,"props":147,"children":149},{"class":87,"line":148},5,[150,155],{"type":15,"tag":85,"props":151,"children":152},{"style":104},[153],{"type":21,"value":154},"  -Dversion=1.0.0",{"type":15,"tag":85,"props":156,"children":157},{"style":104},[158],{"type":21,"value":107},{"type":15,"tag":85,"props":160,"children":162},{"class":87,"line":161},6,[163],{"type":15,"tag":85,"props":164,"children":165},{"style":104},[166],{"type":21,"value":167},"  -Dpackaging=jar\n",{"type":15,"tag":40,"props":169,"children":170},{},[171],{"type":21,"value":172},"Then add it to your project.",{"type":15,"tag":40,"props":174,"children":175},{},[176],{"type":21,"value":177},"For Gradle:",{"type":15,"tag":75,"props":179,"children":183},{"className":180,"code":181,"language":182,"meta":8,"style":8},"language-gradle shiki shiki-themes github-dark","implementation 'com.credvault:credvault-edge:1.0.0'\n","gradle",[184],{"type":15,"tag":46,"props":185,"children":186},{"__ignoreMap":8},[187],{"type":15,"tag":85,"props":188,"children":189},{"class":87,"line":88},[190],{"type":15,"tag":85,"props":191,"children":192},{},[193],{"type":21,"value":181},{"type":15,"tag":40,"props":195,"children":196},{},[197],{"type":21,"value":198},"For Maven:",{"type":15,"tag":75,"props":200,"children":204},{"className":201,"code":202,"language":203,"meta":8,"style":8},"language-xml shiki shiki-themes github-dark","\u003Cdependency>\n  \u003CgroupId>com.credvault\u003C\u002FgroupId>\n  \u003CartifactId>credvault-edge\u003C\u002FartifactId>\n  \u003Cversion>1.0.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n","xml",[205],{"type":15,"tag":46,"props":206,"children":207},{"__ignoreMap":8},[208,216,224,232,240],{"type":15,"tag":85,"props":209,"children":210},{"class":87,"line":88},[211],{"type":15,"tag":85,"props":212,"children":213},{},[214],{"type":21,"value":215},"\u003Cdependency>\n",{"type":15,"tag":85,"props":217,"children":218},{"class":87,"line":110},[219],{"type":15,"tag":85,"props":220,"children":221},{},[222],{"type":21,"value":223},"  \u003CgroupId>com.credvault\u003C\u002FgroupId>\n",{"type":15,"tag":85,"props":225,"children":226},{"class":87,"line":10},[227],{"type":15,"tag":85,"props":228,"children":229},{},[230],{"type":21,"value":231},"  \u003CartifactId>credvault-edge\u003C\u002FartifactId>\n",{"type":15,"tag":85,"props":233,"children":234},{"class":87,"line":135},[235],{"type":15,"tag":85,"props":236,"children":237},{},[238],{"type":21,"value":239},"  \u003Cversion>1.0.0\u003C\u002Fversion>\n",{"type":15,"tag":85,"props":241,"children":242},{"class":87,"line":148},[243],{"type":15,"tag":85,"props":244,"children":245},{},[246],{"type":21,"value":247},"\u003C\u002Fdependency>\n",{"type":15,"tag":40,"props":249,"children":250},{},[251],{"type":21,"value":252},"If your organization publishes the SDK to a private Maven registry or Maven Central, use that registry instead of installing the JAR by hand.",{"type":15,"tag":63,"props":254,"children":256},{"id":255},"connecting-to-credvault",[257],{"type":21,"value":258},"Connecting to CredVault",{"type":15,"tag":40,"props":260,"children":261},{},[262,264,270],{"type":21,"value":263},"The SDK defaults to ",{"type":15,"tag":46,"props":265,"children":267},{"className":266},[],[268],{"type":21,"value":269},"http:\u002F\u002Flocalhost:5000\u002Fapi",{"type":21,"value":271},", which is only for local backend development. Production code must pass the CredVault backend API URL.",{"type":15,"tag":75,"props":273,"children":277},{"className":274,"code":275,"language":276,"meta":8,"style":8},"language-java shiki shiki-themes github-dark","import com.credvault.sdk.CredVaultClient;\n\nString apiKey = System.getenv(\"CREDVAULT_API_KEY\");\nCredVaultClient client = new CredVaultClient(\n    apiKey,\n    \"https:\u002F\u002F\u003Cyour-credvault-backend>\u002Fapi\"\n);\n\nString customers = client.data.query(\"customers\", \"{\\\"status\\\":\\\"active\\\"}\");\nSystem.out.println(customers);\n","java",[278],{"type":15,"tag":46,"props":279,"children":280},{"__ignoreMap":8},[281,289,298,306,314,322,330,339,347,356],{"type":15,"tag":85,"props":282,"children":283},{"class":87,"line":88},[284],{"type":15,"tag":85,"props":285,"children":286},{},[287],{"type":21,"value":288},"import com.credvault.sdk.CredVaultClient;\n",{"type":15,"tag":85,"props":290,"children":291},{"class":87,"line":110},[292],{"type":15,"tag":85,"props":293,"children":295},{"emptyLinePlaceholder":294},true,[296],{"type":21,"value":297},"\n",{"type":15,"tag":85,"props":299,"children":300},{"class":87,"line":10},[301],{"type":15,"tag":85,"props":302,"children":303},{},[304],{"type":21,"value":305},"String apiKey = System.getenv(\"CREDVAULT_API_KEY\");\n",{"type":15,"tag":85,"props":307,"children":308},{"class":87,"line":135},[309],{"type":15,"tag":85,"props":310,"children":311},{},[312],{"type":21,"value":313},"CredVaultClient client = new CredVaultClient(\n",{"type":15,"tag":85,"props":315,"children":316},{"class":87,"line":148},[317],{"type":15,"tag":85,"props":318,"children":319},{},[320],{"type":21,"value":321},"    apiKey,\n",{"type":15,"tag":85,"props":323,"children":324},{"class":87,"line":161},[325],{"type":15,"tag":85,"props":326,"children":327},{},[328],{"type":21,"value":329},"    \"https:\u002F\u002F\u003Cyour-credvault-backend>\u002Fapi\"\n",{"type":15,"tag":85,"props":331,"children":333},{"class":87,"line":332},7,[334],{"type":15,"tag":85,"props":335,"children":336},{},[337],{"type":21,"value":338},");\n",{"type":15,"tag":85,"props":340,"children":342},{"class":87,"line":341},8,[343],{"type":15,"tag":85,"props":344,"children":345},{"emptyLinePlaceholder":294},[346],{"type":21,"value":297},{"type":15,"tag":85,"props":348,"children":350},{"class":87,"line":349},9,[351],{"type":15,"tag":85,"props":352,"children":353},{},[354],{"type":21,"value":355},"String customers = client.data.query(\"customers\", \"{\\\"status\\\":\\\"active\\\"}\");\n",{"type":15,"tag":85,"props":357,"children":359},{"class":87,"line":358},10,[360],{"type":15,"tag":85,"props":361,"children":362},{},[363],{"type":21,"value":364},"System.out.println(customers);\n",{"type":15,"tag":40,"props":366,"children":367},{},[368],{"type":21,"value":369},"Create one client and reuse it across your service.",{"type":15,"tag":63,"props":371,"children":373},{"id":372},"working-with-data",[374],{"type":21,"value":375},"Working with Data",{"type":15,"tag":40,"props":377,"children":378},{},[379],{"type":21,"value":380},"The Java SDK returns JSON strings from API calls. Parse them into your own DTOs when you need strongly typed application objects.",{"type":15,"tag":75,"props":382,"children":384},{"className":274,"code":383,"language":276,"meta":8,"style":8},"String customers = client.data.query(\"customers\", \"{\\\"status\\\":\\\"active\\\"}\");\nSystem.out.println(customers);\n",[385],{"type":15,"tag":46,"props":386,"children":387},{"__ignoreMap":8},[388,395],{"type":15,"tag":85,"props":389,"children":390},{"class":87,"line":88},[391],{"type":15,"tag":85,"props":392,"children":393},{},[394],{"type":21,"value":355},{"type":15,"tag":85,"props":396,"children":397},{"class":87,"line":110},[398],{"type":15,"tag":85,"props":399,"children":400},{},[401],{"type":21,"value":364},{"type":15,"tag":63,"props":403,"children":405},{"id":404},"available-resources",[406],{"type":21,"value":407},"Available Resources",{"type":15,"tag":409,"props":410,"children":411},"ul",{},[412,424,435,446,457,468,479,490,501,512,523,534,551,562],{"type":15,"tag":413,"props":414,"children":415},"li",{},[416,422],{"type":15,"tag":46,"props":417,"children":419},{"className":418},[],[420],{"type":21,"value":421},"auth",{"type":21,"value":423}," for sign-in and sign-up",{"type":15,"tag":413,"props":425,"children":426},{},[427,433],{"type":15,"tag":46,"props":428,"children":430},{"className":429},[],[431],{"type":21,"value":432},"data",{"type":21,"value":434}," for clusters and collection data",{"type":15,"tag":413,"props":436,"children":437},{},[438,444],{"type":15,"tag":46,"props":439,"children":441},{"className":440},[],[442],{"type":21,"value":443},"cie",{"type":21,"value":445}," for datasets, models, and predictions",{"type":15,"tag":413,"props":447,"children":448},{},[449,455],{"type":15,"tag":46,"props":450,"children":452},{"className":451},[],[453],{"type":21,"value":454},"webhooks",{"type":21,"value":456}," for event delivery",{"type":15,"tag":413,"props":458,"children":459},{},[460,466],{"type":15,"tag":46,"props":461,"children":463},{"className":462},[],[464],{"type":21,"value":465},"functions",{"type":21,"value":467}," for serverless functions",{"type":15,"tag":413,"props":469,"children":470},{},[471,477],{"type":15,"tag":46,"props":472,"children":474},{"className":473},[],[475],{"type":21,"value":476},"triggers",{"type":21,"value":478}," for collection events",{"type":15,"tag":413,"props":480,"children":481},{},[482,488],{"type":15,"tag":46,"props":483,"children":485},{"className":484},[],[486],{"type":21,"value":487},"backups",{"type":21,"value":489}," for backup and restore",{"type":15,"tag":413,"props":491,"children":492},{},[493,499],{"type":15,"tag":46,"props":494,"children":496},{"className":495},[],[497],{"type":21,"value":498},"schema",{"type":21,"value":500}," for schema and indexes",{"type":15,"tag":413,"props":502,"children":503},{},[504,510],{"type":15,"tag":46,"props":505,"children":507},{"className":506},[],[508],{"type":21,"value":509},"apiKeys",{"type":21,"value":511}," for API key management",{"type":15,"tag":413,"props":513,"children":514},{},[515,521],{"type":15,"tag":46,"props":516,"children":518},{"className":517},[],[519],{"type":21,"value":520},"metrics",{"type":21,"value":522}," for platform monitoring",{"type":15,"tag":413,"props":524,"children":525},{},[526,532],{"type":15,"tag":46,"props":527,"children":529},{"className":528},[],[530],{"type":21,"value":531},"logs",{"type":21,"value":533}," for activity and audit logs",{"type":15,"tag":413,"props":535,"children":536},{},[537,543,545],{"type":15,"tag":46,"props":538,"children":540},{"className":539},[],[541],{"type":21,"value":542},"notifications",{"type":21,"value":544}," for notifications; preference methods should be checked against ",{"type":15,"tag":46,"props":546,"children":548},{"className":547},[],[549],{"type":21,"value":550},"\u002Fapi-docs",{"type":15,"tag":413,"props":552,"children":553},{},[554,560],{"type":15,"tag":46,"props":555,"children":557},{"className":556},[],[558],{"type":21,"value":559},"settings",{"type":21,"value":561}," for account settings, but some methods still need backend route alignment",{"type":15,"tag":413,"props":563,"children":564},{},[565,571],{"type":15,"tag":46,"props":566,"children":568},{"className":567},[],[569],{"type":21,"value":570},"robots",{"type":21,"value":572}," for robot\u002Fdevice endpoints, but this area still needs route alignment before it is public-ready",{"type":15,"tag":63,"props":574,"children":576},{"id":575},"security",[577],{"type":21,"value":578},"Security",{"type":15,"tag":40,"props":580,"children":581},{},[582],{"type":21,"value":583},"Read API keys from environment variables, your platform secret manager, or your deployment system. Do not commit API keys to source control or package them inside a JAR.",{"type":15,"tag":585,"props":586,"children":587},"style",{},[588],{"type":21,"value":589},"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":110,"depth":110,"links":591},[592,593,594,595,596],{"id":65,"depth":110,"text":68},{"id":255,"depth":110,"text":258},{"id":372,"depth":110,"text":375},{"id":404,"depth":110,"text":407},{"id":575,"depth":110,"text":578},"markdown","content:docs:sdks:java.md","content","docs\u002Fsdks\u002Fjava.md","docs\u002Fsdks\u002Fjava","md",1794695981553]