[{"data":1,"prerenderedAt":633},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fiam-and-access\u002Fapi-tokens":361,"\u002Fdocs\u002Fiam-and-access\u002Fapi-tokens-surround":628},[4,264,315,342],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":263},"Docs","i-lucide-book-open","\u002Fdocs","1.docs",[10,30,57,96,119,194,201,227],{"title":11,"path":12,"stem":13,"children":14,"icon":29},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[15,17,21,25],{"title":11,"path":12,"stem":13,"icon":16},"i-lucide-house",{"title":18,"path":19,"stem":20},"Platform Overview","\u002Fdocs\u002Fgetting-started\u002Fplatform-overview","1.docs\u002F1.getting-started\u002F2.platform-overview",{"title":22,"path":23,"stem":24},"Create an Organisation","\u002Fdocs\u002Fgetting-started\u002Fcreate-an-organisation","1.docs\u002F1.getting-started\u002F3.create-an-organisation",{"title":26,"path":27,"stem":28},"Quickstarts","\u002Fdocs\u002Fgetting-started\u002Fquickstarts","1.docs\u002F1.getting-started\u002F4.quickstarts","i-lucide-rocket",{"title":31,"path":32,"stem":33,"children":34,"icon":56},"Admin Center","\u002Fdocs\u002Finfuse-cloud","1.docs\u002F2.infuse-cloud\u002F1.index",[35,36,40,44,48,52],{"title":31,"path":32,"stem":33},{"title":37,"path":38,"stem":39},"Create or Switch Organisations","\u002Fdocs\u002Finfuse-cloud\u002Fcreate-or-switch-organisations","1.docs\u002F2.infuse-cloud\u002F2.create-or-switch-organisations",{"title":41,"path":42,"stem":43},"Organisation Profile","\u002Fdocs\u002Finfuse-cloud\u002Forganisation-profile","1.docs\u002F2.infuse-cloud\u002F3.organisation-profile",{"title":45,"path":46,"stem":47},"Members and Invitations","\u002Fdocs\u002Finfuse-cloud\u002Fmembers-and-invitations","1.docs\u002F2.infuse-cloud\u002F4.members-and-invitations",{"title":49,"path":50,"stem":51},"Member Roles","\u002Fdocs\u002Finfuse-cloud\u002Fmember-roles","1.docs\u002F2.infuse-cloud\u002F5.member-roles",{"title":53,"path":54,"stem":55},"API Access","\u002Fdocs\u002Finfuse-cloud\u002Fapi-access","1.docs\u002F2.infuse-cloud\u002F6.api-access","i-lucide-building-2",{"title":58,"path":59,"stem":60,"children":61,"icon":95},"Infuse IoT","\u002Fdocs\u002Finfuse-iot","1.docs\u002F3.infuse-iot\u002F1.index",[62,63,67,71,75,79,83,87,91],{"title":58,"path":59,"stem":60},{"title":64,"path":65,"stem":66},"Devices","\u002Fdocs\u002Finfuse-iot\u002Fdevices","1.docs\u002F3.infuse-iot\u002F2.devices",{"title":68,"path":69,"stem":70},"Provisioning","\u002Fdocs\u002Finfuse-iot\u002Fprovisioning","1.docs\u002F3.infuse-iot\u002F3.provisioning",{"title":72,"path":73,"stem":74},"Telemetry","\u002Fdocs\u002Finfuse-iot\u002Ftelemetry","1.docs\u002F3.infuse-iot\u002F4.telemetry",{"title":76,"path":77,"stem":78},"Commands","\u002Fdocs\u002Finfuse-iot\u002Fcommands","1.docs\u002F3.infuse-iot\u002F5.commands",{"title":80,"path":81,"stem":82},"Firmware","\u002Fdocs\u002Finfuse-iot\u002Ffirmware","1.docs\u002F3.infuse-iot\u002F6.firmware",{"title":84,"path":85,"stem":86},"Definitions","\u002Fdocs\u002Finfuse-iot\u002Fdefinitions","1.docs\u002F3.infuse-iot\u002F7.definitions",{"title":88,"path":89,"stem":90},"Connectivity","\u002Fdocs\u002Finfuse-iot\u002Fconnectivity","1.docs\u002F3.infuse-iot\u002F8.connectivity",{"title":92,"path":93,"stem":94},"SDK Reference","\u002Fdocs\u002Finfuse-iot\u002Fsdk-reference","1.docs\u002F3.infuse-iot\u002F9.sdk-reference","i-lucide-radio-tower",{"title":97,"path":98,"stem":99,"children":100,"icon":118},"Infuse DB","\u002Fdocs\u002Finfuse-db","1.docs\u002F4.infuse-db\u002F1.index",[101,102,106,110,114],{"title":97,"path":98,"stem":99},{"title":103,"path":104,"stem":105},"Datasets","\u002Fdocs\u002Finfuse-db\u002Fdatasets","1.docs\u002F4.infuse-db\u002F2.datasets",{"title":107,"path":108,"stem":109},"Ingestion","\u002Fdocs\u002Finfuse-db\u002Fingestion","1.docs\u002F4.infuse-db\u002F3.ingestion",{"title":111,"path":112,"stem":113},"Querying","\u002Fdocs\u002Finfuse-db\u002Fquerying","1.docs\u002F4.infuse-db\u002F4.querying",{"title":115,"path":116,"stem":117},"Retention","\u002Fdocs\u002Finfuse-db\u002Fretention","1.docs\u002F4.infuse-db\u002F5.retention","i-lucide-database",{"title":120,"path":121,"stem":122,"children":123,"icon":193},"Marketplace","\u002Fdocs\u002Fmarketplace","1.docs\u002F5.marketplace\u002F1.index",[124,125,129,133,161],{"title":120,"path":121,"stem":122},{"title":126,"path":127,"stem":128},"Marketplace Instances","\u002Fdocs\u002Fmarketplace\u002Finstances","1.docs\u002F5.marketplace\u002F2.instances",{"title":130,"path":131,"stem":132},"Marketplace Roles","\u002Fdocs\u002Fmarketplace\u002Froles","1.docs\u002F5.marketplace\u002F3.roles",{"title":134,"path":135,"stem":136,"children":137,"icon":160},"Developers","\u002Fdocs\u002Fmarketplace\u002Fdevelopers","1.docs\u002F5.marketplace\u002Fdevelopers\u002F1.index",[138,140,144,148,152,156],{"title":139,"path":135,"stem":136},"Marketplace Developers",{"title":141,"path":142,"stem":143},"Create a Product","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fcreate-product","1.docs\u002F5.marketplace\u002Fdevelopers\u002F2.create-product",{"title":145,"path":146,"stem":147},"Upload Assets","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fupload-assets","1.docs\u002F5.marketplace\u002Fdevelopers\u002F3.upload-assets",{"title":149,"path":150,"stem":151},"Releases and Versions","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Freleases-and-versions","1.docs\u002F5.marketplace\u002Fdevelopers\u002F4.releases-and-versions",{"title":153,"path":154,"stem":155},"Pricing","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fpricing","1.docs\u002F5.marketplace\u002Fdevelopers\u002F5.pricing",{"title":157,"path":158,"stem":159},"Publish a Product","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fpublish-product","1.docs\u002F5.marketplace\u002Fdevelopers\u002F6.publish-product","i-lucide-code-2",{"title":162,"path":163,"stem":164,"children":165,"icon":192},"Providers","\u002Fdocs\u002Fmarketplace\u002Fproviders","1.docs\u002F5.marketplace\u002Fproviders\u002F1.index",[166,168,172,176,180,184,188],{"title":167,"path":163,"stem":164},"Marketplace Providers",{"title":169,"path":170,"stem":171},"Discover Products","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fdiscover-products","1.docs\u002F5.marketplace\u002Fproviders\u002F2.discover-products",{"title":173,"path":174,"stem":175},"Create and Manage Listings","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fcreate-listings","1.docs\u002F5.marketplace\u002Fproviders\u002F3.create-listings",{"title":177,"path":178,"stem":179},"Build a Storefront","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fbuild-a-storefront","1.docs\u002F5.marketplace\u002Fproviders\u002F4.build-a-storefront",{"title":181,"path":182,"stem":183},"Checkout Flow","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fcheckout-flow","1.docs\u002F5.marketplace\u002Fproviders\u002F5.checkout-flow",{"title":185,"path":186,"stem":187},"Purchases","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fpurchases","1.docs\u002F5.marketplace\u002Fproviders\u002F6.purchases",{"title":189,"path":190,"stem":191},"Install Purchased Products","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Finstall-purchased-products","1.docs\u002F5.marketplace\u002Fproviders\u002F7.install-purchased-products","i-lucide-handshake","i-lucide-store",{"title":195,"path":196,"stem":197,"children":198,"icon":200},"Infuse Analytics","\u002Fdocs\u002Finfuse-analytics","1.docs\u002F6.infuse-analytics\u002F1.index",[199],{"title":195,"path":196,"stem":197},"i-lucide-chart-no-axes-combined",{"title":202,"path":203,"stem":204,"children":205,"icon":226},"Concepts","\u002Fdocs\u002Fconcepts","1.docs\u002F7.concepts\u002F1.index",[206,207,211,215,218,222],{"title":202,"path":203,"stem":204},{"title":208,"path":209,"stem":210},"Organisations","\u002Fdocs\u002Fconcepts\u002Forganisations","1.docs\u002F7.concepts\u002F2.organisations",{"title":212,"path":213,"stem":214},"Products","\u002Fdocs\u002Fconcepts\u002Fproducts","1.docs\u002F7.concepts\u002F3.products",{"title":64,"path":216,"stem":217},"\u002Fdocs\u002Fconcepts\u002Fdevices","1.docs\u002F7.concepts\u002F5.devices",{"title":219,"path":220,"stem":221},"Entitlements","\u002Fdocs\u002Fconcepts\u002Fentitlements","1.docs\u002F7.concepts\u002F6.entitlements",{"title":223,"path":224,"stem":225},"Marketplace Model","\u002Fdocs\u002Fconcepts\u002Fmarketplace-model","1.docs\u002F7.concepts\u002F7.marketplace-model","i-lucide-map",{"title":228,"path":229,"stem":230,"children":231,"icon":262},"IAM & Access","\u002Fdocs\u002Fiam-and-access","1.docs\u002F8.iam-and-access\u002F1.index",[232,234,238,242,246,250,254,258],{"title":233,"path":229,"stem":230},"IAM and Access",{"title":235,"path":236,"stem":237},"Users, Groups, and Roles","\u002Fdocs\u002Fiam-and-access\u002Fusers-groups-and-roles","1.docs\u002F8.iam-and-access\u002F2.users-groups-and-roles",{"title":239,"path":240,"stem":241},"Permissions","\u002Fdocs\u002Fiam-and-access\u002Fpermissions","1.docs\u002F8.iam-and-access\u002F3.permissions",{"title":243,"path":244,"stem":245},"Service Accounts","\u002Fdocs\u002Fiam-and-access\u002Fservice-accounts","1.docs\u002F8.iam-and-access\u002F4.service-accounts",{"title":247,"path":248,"stem":249},"API Tokens","\u002Fdocs\u002Fiam-and-access\u002Fapi-tokens","1.docs\u002F8.iam-and-access\u002F5.api-tokens",{"title":251,"path":252,"stem":253},"Token Exchange","\u002Fdocs\u002Fiam-and-access\u002Ftoken-exchange","1.docs\u002F8.iam-and-access\u002F6.token-exchange",{"title":255,"path":256,"stem":257},"Rotate and Revoke Credentials","\u002Fdocs\u002Fiam-and-access\u002Frotate-and-revoke-credentials","1.docs\u002F8.iam-and-access\u002F7.rotate-and-revoke-credentials",{"title":259,"path":260,"stem":261},"Troubleshooting Auth","\u002Fdocs\u002Fiam-and-access\u002Ftroubleshooting-auth","1.docs\u002F8.iam-and-access\u002F8.troubleshooting-auth","i-lucide-shield-check",false,{"title":265,"path":266,"stem":267,"children":268,"icon":314},"Guides","\u002Fguides","2.guides\u002F1.index",[269,270,282,293,304],{"title":265,"path":266,"stem":267},{"title":271,"path":272,"stem":273,"children":274,"icon":281},"Access","\u002Fguides\u002Faccess","2.guides\u002Faccess\u002F1.index",[275,277],{"title":276,"path":272,"stem":273},"Access Guides",{"title":278,"path":279,"stem":280},"Create an API Token","\u002Fguides\u002Faccess\u002Fcreate-an-api-token","2.guides\u002Faccess\u002F2.create-an-api-token","i-lucide-key-round",{"title":283,"path":284,"stem":285,"children":286,"icon":118},"Data","\u002Fguides\u002Fdata","2.guides\u002Fdata\u002F1.index",[287,289],{"title":288,"path":284,"stem":285},"Data Guides",{"title":290,"path":291,"stem":292},"Stream IoT Data to Infuse DB","\u002Fguides\u002Fdata\u002Fstream-iot-data-to-infuse-db","2.guides\u002Fdata\u002F2.stream-iot-data-to-infuse-db",{"title":294,"path":295,"stem":296,"children":297,"icon":95},"IoT","\u002Fguides\u002Fiot","2.guides\u002Fiot\u002F1.index",[298,300],{"title":299,"path":295,"stem":296},"IoT Guides",{"title":301,"path":302,"stem":303},"Connect an IoT Device","\u002Fguides\u002Fiot\u002Fconnect-a-device","2.guides\u002Fiot\u002F2.connect-a-device",{"title":120,"path":305,"stem":306,"children":307,"icon":193},"\u002Fguides\u002Fmarketplace","2.guides\u002Fmarketplace\u002F1.index",[308,310],{"title":309,"path":305,"stem":306},"Marketplace Guides",{"title":311,"path":312,"stem":313},"Build a Marketplace Storefront","\u002Fguides\u002Fmarketplace\u002Fbuild-a-storefront","2.guides\u002Fmarketplace\u002F2.build-a-storefront","i-lucide-route",{"title":316,"path":317,"stem":318,"children":319,"icon":341},"API Reference","\u002Fapi-reference","3.api-reference\u002F1.index",[320,321,325,329,333,337],{"title":316,"path":317,"stem":318},{"title":322,"path":323,"stem":324},"Admin API","\u002Fapi-reference\u002Fcloud","3.api-reference\u002F2.cloud",{"title":326,"path":327,"stem":328},"Marketplace API","\u002Fapi-reference\u002Fmarketplace","3.api-reference\u002F3.marketplace",{"title":330,"path":331,"stem":332},"IAM API","\u002Fapi-reference\u002Fiam","3.api-reference\u002F4.iam",{"title":334,"path":335,"stem":336},"Infuse IoT API","\u002Fapi-reference\u002Fiot","3.api-reference\u002F5.iot",{"title":338,"path":339,"stem":340},"Infuse DB API","\u002Fapi-reference\u002Fdb","3.api-reference\u002F6.db","i-lucide-braces",{"title":343,"path":344,"stem":345,"children":346,"icon":360},"Resources","\u002Fresources","4.resources\u002F1.index",[347,348,352,356],{"title":343,"path":344,"stem":345},{"title":349,"path":350,"stem":351},"SDKs","\u002Fresources\u002Fsdks","4.resources\u002F2.sdks",{"title":353,"path":354,"stem":355},"OpenAPI Specs","\u002Fresources\u002Fopenapi-specs","4.resources\u002F3.openapi-specs",{"title":357,"path":358,"stem":359},"Examples","\u002Fresources\u002Fexamples","4.resources\u002F4.examples","i-lucide-folder-open",{"id":362,"title":247,"body":363,"description":621,"extension":622,"links":623,"meta":624,"navigation":625,"path":248,"seo":626,"stem":249,"__hash__":627},"docs\u002F1.docs\u002F8.iam-and-access\u002F5.api-tokens.md",{"type":364,"value":365,"toc":612},"minimark",[366,370,381,394,399,451,457,467,471,500,503,506,527,531,549,552,555,565,571,575,578,596,599,603,606,609],[367,368,369],"p",{},"API tokens are credentials issued to API-key principals. Use them for backend integrations that need to call Infuse APIs without a signed-in user.",[367,371,372,373,376,377,380],{},"Create and manage API-key principals from ",[374,375,271],"strong",{}," > ",[374,378,379],{},"API Keys",".",[382,383,384],"warning",{},[367,385,386,389,390,380],{},[374,387,388],{},"Current Infuse IoT token limitation:"," API-key credentials issued here do not currently work with Infuse IoT APIs. Infuse IoT still uses legacy organisation-level admin tokens from ",[391,392,393],"code",{},"\u002Fadmin\u002Fdeveloper",[395,396,398],"h2",{"id":397},"which-token-to-use","Which Token to Use",[400,401,402,415],"table",{},[403,404,405],"thead",{},[406,407,408,412],"tr",{},[409,410,411],"th",{},"Need",[409,413,414],{},"Use",[416,417,418,430,440],"tbody",{},[406,419,420,424],{},[421,422,423],"td",{},"Manage IAM API-key principals and role assignments in the tenant console",[421,425,426,376,428],{},[374,427,271],{},[374,429,379],{},[406,431,432,435],{},[421,433,434],{},"Authenticate current Infuse IoT API calls",[421,436,437,438],{},"Legacy organisation-level admin token from ",[391,439,393],{},[406,441,442,445],{},[421,443,444],{},"Exchange an IAM API key for a short-lived bearer token",[421,446,447,450],{},[391,448,449],{},"POST \u002Fiam\u002Fauth\u002Ftoken",", where supported by the API you are calling",[367,452,453,454,456],{},"The ",[391,455,393],{}," page is a legacy developer key flow. It exposes the linked Infuse IoT organisation id and the Infuse IoT admin API key used by current Infuse IoT API flows.",[367,458,459,460,464,465,380],{},"For API-led device onboarding with this credential model, see ",[461,462,463],"a",{"href":69},"Infuse IoT Provisioning"," and ",[461,466,301],{"href":302},[395,468,470],{"id":469},"create-an-api-key-principal","Create an API-Key Principal",[472,473,474,482,488,491,494,497],"ol",{},[475,476,477,478,376,480,380],"li",{},"Open ",[374,479,271],{},[374,481,379],{},[475,483,484,485,380],{},"Select ",[374,486,487],{},"Create API key",[475,489,490],{},"Enter a display name for the integration.",[475,492,493],{},"Choose the principal status.",[475,495,496],{},"Add an optional expiry date.",[475,498,499],{},"Create the principal.",[367,501,502],{},"The principal belongs to the current organisation.",[367,504,505],{},"Principal statuses are:",[507,508,509,515,521],"ul",{},[475,510,511,514],{},[391,512,513],{},"Active"," for credentials that can authenticate,",[475,516,517,520],{},[391,518,519],{},"Suspended"," for principals that should not authenticate temporarily,",[475,522,523,526],{},[391,524,525],{},"Revoked"," for principals that should no longer be used.",[395,528,530],{"id":529},"issue-a-credential","Issue a Credential",[472,532,533,536,541,544,546],{},[475,534,535],{},"Open the API-key principal.",[475,537,484,538,380],{},[374,539,540],{},"Issue API key",[475,542,543],{},"Enter a credential name.",[475,545,496],{},[475,547,548],{},"Create the credential.",[367,550,551],{},"The generated API key is shown once. Store it immediately in a server-side secret manager.",[367,553,554],{},"API keys use this format:",[556,557,563],"pre",{"className":558,"code":560,"language":561,"meta":562},[559],"language-text","ik_\u003CkeyId>.\u003CkeySecret>\n","text","",[391,564,560],{"__ignoreMap":562},[367,566,567,568,570],{},"Do not use this IAM API-key value for current Infuse IoT API calls. Use the legacy organisation-level admin token from ",[391,569,393],{}," until Infuse IoT supports IAM-issued credentials.",[395,572,574],{"id":573},"assign-access","Assign Access",[367,576,577],{},"API-key principals need role assignments before they can call protected APIs.",[472,579,580,582,593],{},[475,581,535],{},[475,583,584,585,588,589,592],{},"In ",[374,586,587],{},"Role assignments",", choose a role that supports ",[391,590,591],{},"ApiKey"," principals.",[475,594,595],{},"Save the assignment.",[367,597,598],{},"The role must be available to the current organisation and support API-key principals.",[395,600,602],{"id":601},"revoke-a-credential","Revoke a Credential",[367,604,605],{},"Open the API-key principal and revoke the credential from the active credentials list.",[367,607,608],{},"Revoking a credential stops that credential from authenticating. It does not delete the API-key principal or remove other credentials issued to the same principal.",[367,610,611],{},"Do not expose API tokens in browser code, mobile apps, public repositories, or customer-visible examples.",{"title":562,"searchDepth":613,"depth":614,"links":615},1,2,[616,617,618,619,620],{"id":397,"depth":614,"text":398},{"id":469,"depth":614,"text":470},{"id":529,"depth":614,"text":530},{"id":573,"depth":614,"text":574},{"id":601,"depth":614,"text":602},"Create API-key principals and issue credentials for backend integrations.","md",null,{},true,{"title":247,"description":621},"RsqGPLPoASPoYt5AdcznPp93X_OusQM8DgD7Lc7qbAg",[629,631],{"title":243,"path":244,"stem":245,"description":630,"children":-1},"Understand API-managed service-account principals.",{"title":251,"path":252,"stem":253,"description":632,"children":-1},"Exchange API keys for short-lived bearer tokens used by secure server-side Infuse API integrations.",1779344633217]