Records an endpoint id nobody has proven yet, which is the point and also
the risk. A key already registered anywhere is refused, without saying
where — whether another organization holds one is that organization’s
business.
A key registered here for a device in this organization is claimed by that
device the next time it connects and proves it, so registering ahead of
provisioning needs no cleanup.
Attach the endpoint to this member of the organization — their laptop, say. Omit for one the organization holds directly, or for a device that will claim it on its next connection. The address must belong to a member
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"NervesHub","colors":{"primary":"#6366f1","light":"#818cf8","dark":"#4f46e5"},"logo":{"light":"https://mintcdn.com/nervescloud/5bz8_cB7diUKfY2L/images/logo-lockup-light-t.png?fit=max\u0026auto=format\u0026n=5bz8_cB7diUKfY2L\u0026q=85\u0026s=4fcfcec9804e3d1c56649d112bd05a07","dark":"https://mintcdn.com/nervescloud/5bz8_cB7diUKfY2L/images/logo-lockup-dark.png?fit=max\u0026auto=format\u0026n=5bz8_cB7diUKfY2L\u0026q=85\u0026s=77bf0bf18a9cd7e7d6297f9d4edadb90","href":"/"},"favicon":{"light":"https://mintcdn.com/nervescloud/LUktOqWBfC2J1-GL/images/favicon.svg?fit=max\u0026auto=format\u0026n=LUktOqWBfC2J1-GL\u0026q=85\u0026s=f5dc1749a812cc58283e4a849867d83e","dark":"https://mintcdn.com/nervescloud/LUktOqWBfC2J1-GL/images/favicon.svg?fit=max\u0026auto=format\u0026n=LUktOqWBfC2J1-GL\u0026q=85\u0026s=f5dc1749a812cc58283e4a849867d83e"},"navbar":{"links":[{"href":"https://nerves-hub.org","label":"NervesHub"},{"href":"https://nervescloud.com","label":"NervesCloud"},{"href":"https://discord.gg/Xb4pedSDy9","label":"Discord"}]},"footer":{"socials":{"github":"https://github.com/nerves-hub"}},"contextual":{"options":["copy","view","chatgpt","claude","download-pdf"],"display":"toc"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nervescloud","hasAudioNarration":false,"actualSubdomain":"nervescloud","customDomains":["docs.nerves-hub.org"],"gitSource":{"type":"github","owner":"nerves-hub","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ab472a1f7c5fd9770140c6a","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"HTTP API","count":79},{"language":"default","tag":"Endpoints","count":77},{"language":"default","tag":"Documentation","count":20},{"language":"default","tag":"Devices","count":14},{"language":"default","tag":"Devices (short URL)","count":10},{"language":"default","tag":"Setup","count":6},{"language":"default","tag":"Organization Members","count":6},{"language":"default","tag":"Products","count":6},{"language":"default","tag":"Integrations","count":5},{"language":"default","tag":"Auth","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".chat-assistant-floating-input{display:none!important}"}],"page":{"pagePath":"api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization","slug":"/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization","pageMetadata":{"title":"Register an Iroh Endpoint for an Organization","description":"Records an endpoint id nobody has proven yet, which is the point and also\nthe risk. A key already registered anywhere is refused, without saying\nwhere — whether another organization holds one is that organization's\nbusiness.\n\nA key registered here for a device in this organization is claimed by that\ndevice the next time it connects and proves it, so registering ahead of\nprovisioning needs no cleanup.\n","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/iroh_endpoints","href":"/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Records an endpoint id nobody has proven yet, which is the point and also\\nthe risk. A key already registered anywhere is refused, without saying\\nwhere — whether another organization holds one is that organization’s\\nbusiness.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"A key registered here for a device in this organization is claimed by that\\ndevice the next time it connects and proves it, so registering ahead of\\nprovisioning needs no cleanup.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Register an Iroh Endpoint for an Organization","description":"Records an endpoint id nobody has proven yet, which is the point and also\nthe risk. A key already registered anywhere is refused, without saying\nwhere — whether another organization holds one is that organization's\nbusiness.\n\nA key registered here for a device in this organization is claimed by that\ndevice the next time it connects and proves it, so registering ahead of\nprovisioning needs no cleanup.\n","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/iroh_endpoints","href":"/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"callbacks":{},"description":"Records an endpoint id nobody has proven yet, which is the point and also\nthe risk. A key already registered anywhere is refused, without saying\nwhere — whether another organization holds one is that organization's\nbusiness.\n\nA key registered here for a device in this organization is claimed by that\ndevice the next time it connects and proves it, so registering ahead of\nprovisioning needs no cleanup.\n","operationId":"NervesHubWeb.API.IrohEndpointController.create","parameters":["d3efe525-f54c-4439-ba71-12cb1e889a55"],"requestBody":"70ac3ef6-259e-4361-890c-acb50d07bd0d","responses":{"201":"1a96440d-c6ec-40be-a8a7-5eb5cd884cfe","401":"5ca1f8ab-13dd-4183-93be-2f6b24299cfa","403":"ac40dc17-c0f7-48f6-9a40-b297e75b9b3c","409":"a53f64cd-1265-4292-84bf-216ece29bb82","422":"b3eb7bad-3755-478c-a818-abf7bc2e5c8c"},"security":["39e90c79-6af5-465e-8720-bb03226748db"],"summary":"Register an Iroh Endpoint for an Organization","tags":["Iroh Endpoints"],"method":"post","type":"path","servers":["e871b597-9109-48ff-a49a-5063a4052e4d"],"path":"/api/orgs/{org_name}/iroh_endpoints","baseUrlOptions":["https://manage.nervescloud.com"],"title":"Register an Iroh Endpoint for an Organization","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"d3efe525-f54c-4439-ba71-12cb1e889a55":{"description":"Organization Name","example":"example_org","in":"path","name":"org_name","required":true,"schema":{"type":"string","isRequired":true,"description":"Organization Name","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"description":"POST body for registering an Iroh Endpoint against an Organization","example":{"identifier":"c8924b6c9b7a8528b1365ebec4b2e43b6edebef684f8521f12b8caaf6e1b2302","instance":"console","user_email":"member@example.com"},"properties":{"identifier":{"description":"The endpoint id — the public key the endpoint proves it holds, not a ticket or a relay url","type":"string","isRequired":true,"uniqueKey":"identifier","typeLabel":"string"},"details":{"additionalProperties":true,"description":"Anything worth recording alongside the key. Non-authoritative, and never a secret","type":"object","uniqueKey":"details","typeLabel":"object"},"instance":{"default":"default","description":"Names which endpoint this is, for something running more than one. Omit for a single one","type":"string","uniqueKey":"instance","typeLabel":"string"},"user_email":{"oneOf":[{"description":"Attach the endpoint to this member of the organization — their laptop, say. Omit for one the organization holds directly, or for a device that will claim it on its next connection. The address must belong to a member","type":"string","uniqueKey":"user_email.oneOf.0","typeLabel":"string"},{"description":"Attach the endpoint to this member of the organization — their laptop, say. Omit for one the organization holds directly, or for a device that will claim it on its next connection. The address must belong to a member","type":"null","uniqueKey":"user_email.oneOf.1","typeLabel":"null"}],"uniqueKey":"user_email","typeLabel":"string | null"}},"required":["identifier"],"title":"IrohEndpointCreateRequest","type":"object","uniqueKey":"","typeLabel":"IrohEndpointCreateRequest · object"},"examples":{"Example":{"title":"Example","value":{"identifier":"c8924b6c9b7a8528b1365ebec4b2e43b6edebef684f8521f12b8caaf6e1b2302","instance":"console","user_email":"member@example.com"}}},"exampleType":"generated"}},"description":"Iroh Endpoint registration request body","required":true,"exampleType":"generated"},"responses":{"1a96440d-c6ec-40be-a8a7-5eb5cd884cfe":{"content":{"application/json":{"schema":{"description":"Iroh Endpoint show response","example":{"data":{"details":{},"identifier":"c8924b6c9b7a8528b1365ebec4b2e43b6edebef684f8521f12b8caaf6e1b2302","inserted_at":"2026-08-14T11:02:31Z","instance":"default","last_reported_at":"2026-08-16T09:14:00Z","owner":{"device_identifier":"example_device","type":"device","user_email":null,"user_name":null},"service":"iroh","source":"device_reported","updated_at":"2026-08-16T09:14:00Z"}},"properties":{"data":{"description":"An iroh endpoint id registered to an organization","example":{"details":{},"identifier":"c8924b6c9b7a8528b1365ebec4b2e43b6edebef684f8521f12b8caaf6e1b2302","inserted_at":"2026-08-14T11:02:31Z","instance":"default","last_reported_at":"2026-08-16T09:14:00Z","owner":{"device_identifier":"example_device","type":"device","user_email":null,"user_name":null},"service":"iroh","source":"device_reported","updated_at":"2026-08-16T09:14:00Z"},"properties":{"details":{"additionalProperties":true,"type":"object","uniqueKey":"data.details","typeLabel":"object"},"identifier":{"description":"The endpoint id — 64 hex characters","type":"string","uniqueKey":"data.identifier","typeLabel":"string"},"inserted_at":{"format":"date-time","type":"string","uniqueKey":"data.inserted_at","typeLabel":"string\u003cdate-time>"},"instance":{"description":"Which endpoint of iroh this is. `default` for anything running a single one","type":"string","uniqueKey":"data.instance","typeLabel":"string"},"last_reported_at":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"data.last_reported_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"data.last_reported_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.last_reported_at","typeLabel":"string\u003cdate-time> | null"},"owner":{"description":"What holds this endpoint id","example":{"device_identifier":"example_device","type":"device","user_email":null,"user_name":null},"properties":{"device_identifier":{"oneOf":[{"description":"Set when `type` is `device`","type":"string","uniqueKey":"data.owner.device_identifier.oneOf.0","typeLabel":"string"},{"description":"Set when `type` is `device`","type":"null","uniqueKey":"data.owner.device_identifier.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.owner.device_identifier","typeLabel":"string | null"},"type":{"description":"`device` for one a device proved, `user` for a member's own machine, `none` for one the organization holds directly","enum":["device","user","none"],"type":"string","uniqueKey":"data.owner.type","typeLabel":"enum\u003cstring>"},"user_email":{"oneOf":[{"description":"Set when `type` is `user`","type":"string","uniqueKey":"data.owner.user_email.oneOf.0","typeLabel":"string"},{"description":"Set when `type` is `user`","type":"null","uniqueKey":"data.owner.user_email.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.owner.user_email","typeLabel":"string | null"},"user_name":{"oneOf":[{"description":"Set when `type` is `user`","type":"string","uniqueKey":"data.owner.user_name.oneOf.0","typeLabel":"string"},{"description":"Set when `type` is `user`","type":"null","uniqueKey":"data.owner.user_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.owner.user_name","typeLabel":"string | null"}},"title":"IrohEndpointOwner","type":"object","uniqueKey":"data.owner","typeLabel":"IrohEndpointOwner · object"},"service":{"enum":["iroh"],"type":"string","uniqueKey":"data.service","typeLabel":"enum\u003cstring>"},"source":{"description":"`device_reported` means a device proved this key; `operator` means it was registered by hand","enum":["device_reported","operator"],"type":"string","uniqueKey":"data.source","typeLabel":"enum\u003cstring>"},"updated_at":{"format":"date-time","type":"string","uniqueKey":"data.updated_at","typeLabel":"string\u003cdate-time>"}},"title":"IrohEndpoint","type":"object","uniqueKey":"data","typeLabel":"IrohEndpoint · object"}},"title":"IrohEndpointShowResponse","type":"object","uniqueKey":"","typeLabel":"IrohEndpointShowResponse · object"},"examples":{"Example":{"title":"Example","value":{"data":{"details":{},"identifier":"c8924b6c9b7a8528b1365ebec4b2e43b6edebef684f8521f12b8caaf6e1b2302","inserted_at":"2026-08-14T11:02:31Z","instance":"default","last_reported_at":"2026-08-16T09:14:00Z","owner":{"device_identifier":"example_device","type":"device","user_email":null,"user_name":null},"service":"iroh","source":"device_reported","updated_at":"2026-08-16T09:14:00Z"}}}},"exampleType":"generated"}},"description":"Iroh Endpoint","exampleType":"generated"},"5ca1f8ab-13dd-4183-93be-2f6b24299cfa":{"content":{"application/json":{"schema":{"description":"Error response","example":{"errors":{"detail":"Resource Not Found or Authorization Insufficient"}},"properties":{"errors":{"properties":{"detail":{"type":"string","uniqueKey":"errors.detail","typeLabel":"string"}},"type":"object","uniqueKey":"errors","typeLabel":"object"}},"title":"ErrorResponse","type":"object","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"errors":{"detail":"Resource Not Found or Authorization Insufficient"}}}},"exampleType":"generated"}},"description":"Unauthorized","exampleType":"generated"},"ac40dc17-c0f7-48f6-9a40-b297e75b9b3c":{"content":{"application/json":{"schema":{"description":"Error response","example":{"errors":{"detail":"Resource Not Found or Authorization Insufficient"}},"properties":{"errors":{"properties":{"detail":{"type":"string","uniqueKey":"errors.detail","typeLabel":"string"}},"type":"object","uniqueKey":"errors","typeLabel":"object"}},"title":"ErrorResponse","type":"object","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"errors":{"detail":"Resource Not Found or Authorization Insufficient"}}}},"exampleType":"generated"}},"description":"Forbidden","exampleType":"generated"},"a53f64cd-1265-4292-84bf-216ece29bb82":{"content":{"application/json":{"schema":{"description":"Error response","example":{"errors":{"detail":"Resource Not Found or Authorization Insufficient"}},"properties":{"errors":{"properties":{"detail":{"type":"string","uniqueKey":"errors.detail","typeLabel":"string"}},"type":"object","uniqueKey":"errors","typeLabel":"object"}},"title":"ErrorResponse","type":"object","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"errors":{"detail":"Resource Not Found or Authorization Insufficient"}}}},"exampleType":"generated"}},"description":"Already registered","exampleType":"generated"},"b3eb7bad-3755-478c-a818-abf7bc2e5c8c":{"content":{"application/json":{"schema":{"description":"Validation error response","example":{"errors":{"identifier":["can't be blank"]}},"properties":{"errors":{"additionalProperties":{"items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"type":"object","uniqueKey":"errors","typeLabel":"object"}},"title":"ChangesetErrorResponse","type":"object","uniqueKey":"","typeLabel":"ChangesetErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"errors":{"identifier":["can't be blank"]}}}},"exampleType":"generated"}},"description":"Unprocessable Entity","exampleType":"generated"}},"security":{"39e90c79-6af5-465e-8720-bb03226748db":{"bearer_auth":{"scheme":"bearer","type":"http","scopes":[]}}},"servers":{"e871b597-9109-48ff-a49a-5063a4052e4d":{"url":"https://manage.nervescloud.com","variables":{}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"scheme":"bearer","type":"http","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer_auth","name":"Authorization"}],"title":"bearer_auth"}]},"originalFileLocation":"https://manage.nervescloud.com/api/openapi"},"subdomain":"nervescloud","siteName":"NervesHub","title":"Register an Iroh Endpoint for an Organization - NervesHub","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-06T04:33:55.795Z","originalFileLocation":"api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Records an endpoint id nobody has proven yet, which is the point and also the risk. A key already registered anywhere is refused, without saying where — whether another organization holds one is that organization\u0026#x27;s business. A key registered here for a device in this organization is claimed by that device the next time it connects and proves it, so registering ahead of provisioning needs no cleanup.\">\u003cmeta data-mint-head name=\"application-name\" content=\"NervesHub\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Register an Iroh Endpoint for an Organization - NervesHub\">\u003cmeta data-mint-head property=\"og:description\" content=\"Records an endpoint id nobody has proven yet, which is the point and also the risk. A key already registered anywhere is refused, without saying where — whether another organization holds one is that organization\u0026#x27;s business. A key registered here for a device in this organization is claimed by that device the next time it connects and proves it, so registering ahead of provisioning needs no cleanup.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"NervesHub\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nervescloud.mintlify.site/_mintlify/api/og/v2?division=Iroh+Endpoints\u0026amp;title=Register+an+Iroh+Endpoint+for+an+Organization\u0026amp;description=Records+an+endpoint+id+nobody+has+proven+yet%2C+which+is+the+point+and+also%0Athe+risk.+A+key+already+registered+anywhere+is+refused%2C+without+saying%0Awhere+%E2%80%94+whether\u0026amp;theme=0d044273fdf3829dc983b90b\u0026amp;signature=746cf2cd387c824cf0ab7c13568011a907f624beb06dc5b3b03769931915d3ec\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Register an Iroh Endpoint for an Organization - NervesHub\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Records an endpoint id nobody has proven yet, which is the point and also the risk. A key already registered anywhere is refused, without saying where — whether another organization holds one is that organization\u0026#x27;s business. A key registered here for a device in this organization is claimed by that device the next time it connects and proves it, so registering ahead of provisioning needs no cleanup.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nervescloud.mintlify.site/_mintlify/api/og/v2?division=Iroh+Endpoints\u0026amp;title=Register+an+Iroh+Endpoint+for+an+Organization\u0026amp;description=Records+an+endpoint+id+nobody+has+proven+yet%2C+which+is+the+point+and+also%0Athe+risk.+A+key+already+registered+anywhere+is+refused%2C+without+saying%0Awhere+%E2%80%94+whether\u0026amp;theme=0d044273fdf3829dc983b90b\u0026amp;signature=746cf2cd387c824cf0ab7c13568011a907f624beb06dc5b3b03769931915d3ec\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/nervescloud/N1H5AzYnduZJqgXB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"NervesHub\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366f1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nerves-hub.org/#organization\",\"name\":\"NervesHub\",\"url\":\"https://docs.nerves-hub.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nervescloud/5bz8_cB7diUKfY2L/images/logo-lockup-light-t.png?fit=max\u0026auto=format\u0026n=5bz8_cB7diUKfY2L\u0026q=85\u0026s=4fcfcec9804e3d1c56649d112bd05a07\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nerves-hub.org#website\",\"name\":\"NervesHub\",\"url\":\"https://docs.nerves-hub.org\",\"publisher\":{\"@id\":\"https://docs.nerves-hub.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization#webpage\",\"url\":\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization\",\"name\":\"Register an Iroh Endpoint for an Organization\",\"description\":\"Records an endpoint id nobody has proven yet, which is the point and also the risk. A key already registered anywhere is refused, without saying where — whether another organization holds one is that organization's business. A key registered here for a device in this organization is claimed by that device the next time it connects and proves it, so registering ahead of provisioning needs no cleanup.\",\"dateModified\":\"2026-09-06T04:33:55.795Z\",\"isPartOf\":{\"@id\":\"https://docs.nerves-hub.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.nerves-hub.org/api-reference/products/retrieves-a-products-details\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Iroh Endpoints\",\"item\":\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/show-an-iroh-endpoint-for-an-organization\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Register an Iroh Endpoint for an Organization\",\"item\":\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization#apireference\",\"headline\":\"Register an Iroh Endpoint for an Organization\",\"name\":\"Register an Iroh Endpoint for an Organization\",\"description\":\"Records an endpoint id nobody has proven yet, which is the point and also the risk. A key already registered anywhere is refused, without saying where — whether another organization holds one is that organization's business. A key registered here for a device in this organization is claimed by that device the next time it connects and proves it, so registering ahead of provisioning needs no cleanup.\",\"url\":\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nerves-hub.org/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization#webpage\"},\"dateModified\":\"2026-09-06T04:33:55.795Z\",\"publisher\":{\"@id\":\"https://docs.nerves-hub.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nerves-hub.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"NervesHub\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"NervesHub","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/installation"}]},{"tab":"HTTP API","groups":[{"group":"Basics","pages":[{"title":"REST API Overview","sidebarTitle":"Overview","href":"/api/overview"},{"title":"API Authentication","sidebarTitle":"Authentication","href":"/api/authentication"}]},{"group":"Endpoints","pages":[{"group":"Products","pages":[{"title":"Retrieves a Products details","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}","href":"/api-reference/products/retrieves-a-products-details"},{"title":"Update a Product's settings","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi put /api/orgs/{org_name}/products/{product_name}","href":"/api-reference/products/update-a-products-settings"},{"title":"Delete an Organizations Product","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/products/{product_name}","href":"/api-reference/products/delete-an-organizations-product"},{"title":"Update a Product's settings","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi patch /api/orgs/{org_name}/products/{product_name}","href":"/api-reference/products/update-a-products-settings-1"},{"title":"List all Products for an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products","href":"/api-reference/products/list-all-products-for-an-organization"},{"title":"Create a new Product in an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products","href":"/api-reference/products/create-a-new-product-in-an-organization"}]},{"group":"Support Scripts","pages":[{"title":"List Support Scripts","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/scripts","href":"/api-reference/support-scripts/list-support-scripts"},{"title":"Create a Support Script","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/scripts","href":"/api-reference/support-scripts/create-a-support-script"},{"title":"Get a Support Script by ID","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/scripts/{id}","href":"/api-reference/support-scripts/get-a-support-script-by-id"},{"title":"Update a Support Script","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi put /api/orgs/{org_name}/products/{product_name}/scripts/{id}","href":"/api-reference/support-scripts/update-a-support-script"},{"title":"Delete a Support Script by ID","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/products/{product_name}/scripts/{id}","href":"/api-reference/support-scripts/delete-a-support-script-by-id"}]},{"group":"Iroh Endpoints","pages":[{"title":"Show an Iroh Endpoint for an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/iroh_endpoints/{identifier}","href":"/api-reference/iroh-endpoints/show-an-iroh-endpoint-for-an-organization"},{"title":"Delete an Iroh Endpoint for an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/iroh_endpoints/{identifier}","href":"/api-reference/iroh-endpoints/delete-an-iroh-endpoint-for-an-organization"},{"title":"List all Iroh Endpoints for an Organization","description":"Newest first.\n\n`search` matches the **start** of an endpoint id, and anywhere within a\ndevice identifier or a member's name. Prefix rather than substring on the\nkey because that is the half a caller has: logs and tables show a key\ntruncated, so the beginning is what can be copied out of one.\n","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/iroh_endpoints","href":"/api-reference/iroh-endpoints/list-all-iroh-endpoints-for-an-organization"},{"title":"Register an Iroh Endpoint for an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/iroh_endpoints","href":"/api-reference/iroh-endpoints/register-an-iroh-endpoint-for-an-organization"}]},{"group":"CA Certificates","pages":[{"title":"List all CA Certificates for an Organization","description":null,"deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/ca_certificates","href":"/api-reference/ca-certificates/list-all-ca-certificates-for-an-organization"},{"title":"Create a CA Certificate for an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/ca_certificates","href":"/api-reference/ca-certificates/create-a-ca-certificate-for-an-organization"},{"title":"View an Organization's CA Certificate","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/ca_certificates/{serial}","href":"/api-reference/ca-certificates/view-an-organizations-ca-certificate"},{"title":"Delete an Organization's CA Certificate","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/ca_certificates/{serial}","href":"/api-reference/ca-certificates/delete-an-organizations-ca-certificate"},{"title":"Generate a token for verifying the ownership of a CA Certificate","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/ca_certificates/verification_token","href":"/api-reference/ca-certificates/generate-a-token-for-verifying-the-ownership-of-a-ca-certificate"}]},{"group":"Device Logs","pages":[{"title":"List the Log Lines a Device has sent","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/logs","href":"/api-reference/device-logs/list-the-log-lines-a-device-has-sent"}]},{"group":"Auth","pages":[{"title":"Authenticate a user (deprecated)","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/users/login","href":"/api-reference/auth/authenticate-a-user-deprecated"},{"title":"Check the CLI authentication progress","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/auth/cli_session/{token}","href":"/api-reference/auth/check-the-cli-authentication-progress"},{"title":"Start the CLI authentication process","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/auth/cli_session","href":"/api-reference/auth/start-the-cli-authentication-process"},{"title":"Show details of the currently logged in user","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/users/me","href":"/api-reference/auth/show-details-of-the-currently-logged-in-user"},{"title":"Authenticate a user","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/users/auth","href":"/api-reference/auth/authenticate-a-user"}]},{"group":"Device Certificates","pages":[{"title":"Show a Certificate for a Device","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/certificates/{serial}","href":"/api-reference/device-certificates/show-a-certificate-for-a-device"},{"title":"Delete a Device's Certificate","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/certificates/{serial}","href":"/api-reference/device-certificates/delete-a-devices-certificate"},{"title":"List all Certificates for a Device","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/certificates","href":"/api-reference/device-certificates/list-all-certificates-for-a-device"},{"title":"Create a Certificate for a Device","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/certificates","href":"/api-reference/device-certificates/create-a-certificate-for-a-device"}]},{"group":"Devices","pages":[{"title":"Request a Device upgrade to a different Firmware","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/upgrade","href":"/api-reference/devices/request-a-device-upgrade-to-a-different-firmware"},{"title":"Request a Device reboot","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/reboot","href":"/api-reference/devices/request-a-device-reboot"},{"title":"Clear the penalty box for a Device","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/penalty","href":"/api-reference/devices/clear-the-penalty-box-for-a-device"},{"title":"Bulk create Devices from a manifest. Only a Microchip Trust and Go manifest is currently supported.","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/import","href":"/api-reference/devices/bulk-create-devices-from-a-manifest-only-a-microchip-trust-and-go-manifest-is-currently-supported"},{"title":"Request a Device run some Elixir code in it's console connection","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/code","href":"/api-reference/devices/request-a-device-run-some-elixir-code-in-its-console-connection"},{"title":"List Devices","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/devices","href":"/api-reference/devices/list-devices"},{"title":"Request a Device reconnect","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/reconnect","href":"/api-reference/devices/request-a-device-reconnect"},{"title":"Show a Device","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/devices/{identifier}","href":"/api-reference/devices/show-a-device"},{"title":"Update a Device","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi put /api/orgs/{org_name}/products/{product_name}/devices/{identifier}","href":"/api-reference/devices/update-a-device"},{"title":"Create a Device","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/{identifier}","href":"/api-reference/devices/create-a-device"},{"title":"Delete a Device","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/products/{product_name}/devices/{identifier}","href":"/api-reference/devices/delete-a-device"},{"title":"Test a Devices Certificate authentication","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/auth","href":"/api-reference/devices/test-a-devices-certificate-authentication"},{"title":"Move a Device to a different Product","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/move","href":"/api-reference/devices/move-a-device-to-a-different-product"},{"title":"Send a Support Script to a Device","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/scripts/{name_or_id}","href":"/api-reference/devices/send-a-support-script-to-a-device"}]},{"group":"Devices (short URL)","pages":[{"title":"Request a Device reconnect","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/devices/{identifier}/reconnect","href":"/api-reference/devices-short-url/request-a-device-reconnect"},{"title":"List the Log Lines a Device has sent","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/devices/{identifier}/logs","href":"/api-reference/devices-short-url/list-the-log-lines-a-device-has-sent"},{"title":"Request a Device run some Elixir code in it's console connection","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/devices/{identifier}/code","href":"/api-reference/devices-short-url/request-a-device-run-some-elixir-code-in-its-console-connection"},{"title":"Send a Support Script to a Device","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/devices/{identifier}/scripts/{name_or_id}","href":"/api-reference/devices-short-url/send-a-support-script-to-a-device"},{"title":"Request a Device upgrade to a different Firmware","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/devices/{identifier}/upgrade","href":"/api-reference/devices-short-url/request-a-device-upgrade-to-a-different-firmware"},{"title":"Clear the penalty box for a Device","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/devices/{identifier}/penalty","href":"/api-reference/devices-short-url/clear-the-penalty-box-for-a-device"},{"title":"List Support Scripts","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/devices/{identifier}/scripts","href":"/api-reference/devices-short-url/list-support-scripts"},{"title":"Request a Device reboot","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/devices/{identifier}/reboot","href":"/api-reference/devices-short-url/request-a-device-reboot"},{"title":"Move a Device to a different Product","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/devices/{identifier}/move","href":"/api-reference/devices-short-url/move-a-device-to-a-different-product"},{"title":"Show a Device","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/devices/{identifier}","href":"/api-reference/devices-short-url/show-a-device"}]},{"group":"Firmwares","pages":[{"title":"Show a Firmware","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/firmwares/{uuid}","href":"/api-reference/firmwares/show-a-firmware"},{"title":"Delete a Firmware","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/products/{product_name}/firmwares/{uuid}","href":"/api-reference/firmwares/delete-a-firmware"},{"title":"List all Firmwares for a Product","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/firmwares","href":"/api-reference/firmwares/list-all-firmwares-for-a-product"},{"title":"Upload a Firmware for a Product","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/firmwares","href":"/api-reference/firmwares/upload-a-firmware-for-a-product"},{"title":"Download a Firmware","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/firmwares/{uuid}/download","href":"/api-reference/firmwares/download-a-firmware"}]},{"group":"Signing Keys","pages":[{"title":"Show a Signing Key for an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/keys/{name}","href":"/api-reference/signing-keys/show-a-signing-key-for-an-organization"},{"title":"Delete a Signing Key for an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/keys/{name}","href":"/api-reference/signing-keys/delete-a-signing-key-for-an-organization"},{"title":"List all Firmware and Archive Signing Keys for an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/keys","href":"/api-reference/signing-keys/list-all-firmware-and-archive-signing-keys-for-an-organization"},{"title":"Create a new Signing Key for an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/keys","href":"/api-reference/signing-keys/create-a-new-signing-key-for-an-organization"}]},{"group":"Organization Members","pages":[{"title":"List all members of an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/users","href":"/api-reference/organization-members/list-all-members-of-an-organization"},{"title":"Add a user to an Organization","deprecated":true,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/users","href":"/api-reference/organization-members/add-a-user-to-an-organization"},{"title":"Show membership details of a user in an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/users/{user_email}","href":"/api-reference/organization-members/show-membership-details-of-a-user-in-an-organization"},{"title":"Update a user's role in an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi put /api/orgs/{org_name}/users/{user_email}","href":"/api-reference/organization-members/update-a-users-role-in-an-organization"},{"title":"Remove a user from an Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/users/{user_email}","href":"/api-reference/organization-members/remove-a-user-from-an-organization"},{"title":"Invite a user to the Organization","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/users/invite","href":"/api-reference/organization-members/invite-a-user-to-the-organization"}]},{"group":"Network Identities","pages":[{"title":"List the Network Identities a Device holds","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/devices/{identifier}/network_identities","href":"/api-reference/network-identities/list-the-network-identities-a-device-holds"}]},{"group":"Deployment Groups","pages":[{"title":"Show a Deployment Group","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/deployments/{name}","href":"/api-reference/deployment-groups/show-a-deployment-group"},{"title":"Update a Deployment Group","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi put /api/orgs/{org_name}/products/{product_name}/deployments/{name}","href":"/api-reference/deployment-groups/update-a-deployment-group"},{"title":"Delete a Product's Deployment Group","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi delete /api/orgs/{org_name}/products/{product_name}/deployments/{name}","href":"/api-reference/deployment-groups/delete-a-products-deployment-group"},{"title":"List all Deployment Groups for a Product","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs/{org_name}/products/{product_name}/deployments","href":"/api-reference/deployment-groups/list-all-deployment-groups-for-a-product"},{"title":"Create a new Deployment Group for a Product","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi post /api/orgs/{org_name}/products/{product_name}/deployments","href":"/api-reference/deployment-groups/create-a-new-deployment-group-for-a-product"}]},{"group":"Platform Status","pages":[{"title":"Check platform status","deprecated":false,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /status/alive","href":"/api-reference/platform-status/check-platform-status"}]},{"group":"Organizations","pages":[{"title":"List all Organizations the authenticated user belongs to","deprecated":null,"version":null,"openapi":"https://manage.nervescloud.com/api/openapi get /api/orgs","href":"/api-reference/organizations/list-all-organizations-the-authenticated-user-belongs-to"}]}]}]},{"tab":"Device API","pages":[{"title":"Device API","href":"/device-api/websocket-overview"}]}]},"basePath":"","title":"Register an Iroh Endpoint for an Organization - NervesHub","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}