{"_id":"@avantguardllc/n8n-nodes-autoelevate","name":"@avantguardllc/n8n-nodes-autoelevate","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@avantguardllc/n8n-nodes-autoelevate","version":"0.1.0","description":"n8n node for AutoElevate Partner(Beta)","keywords":["n8n-community-node-package","autoelevate","avantguardllc"],"license":"MIT","homepage":"","author":{"name":"AvantGuard LLC"},"repository":{"type":"git","url":""},"scripts":{"build":"tsc","dev":"tsc --watch","prepublishOnly":"npm run build"},"n8n":{"n8nNodesApiVersion":1,"credentials":["dist/credentials/AutoElevateApi.credentials.js"],"nodes":["dist/nodes/AutoElevate/AutoElevate.node.js"]},"devDependencies":{"@types/node":"^18.0.0","n8n-workflow":"*","typescript":"~5.7"},"peerDependencies":{"n8n-workflow":"*"},"_id":"@avantguardllc/n8n-nodes-autoelevate@0.1.0","_nodeVersion":"26.5.1","_npmVersion":"11.17.0","dist":{"integrity":"sha512-cDc8rVo0LFBBph4HSu1iXPAkDGBH+33edKYctEx2ABMG2D8SQrJYjgmbQdaYac62RcgwnOccJ7RqnEcDYJF2DQ==","shasum":"0cc0c1ad60d02de4bc17cb4afed21c297b1aa3f6","tarball":"https://registry.npmjs.org/@avantguardllc/n8n-nodes-autoelevate/-/n8n-nodes-autoelevate-0.1.0.tgz","fileCount":14,"unpackedSize":340711,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCx8JUUwviyb74p7FsTOwPX/xJRo70xvkd5iiAYPeY8ywIhAJ5x+lm1ud1uitXnJgRByJuGuUUsKUOoctaOjLPZ/ClH"}]},"_npmUser":{"name":"avantguardllc","email":"appadmin@avantguard.it"},"directories":{},"maintainers":[{"name":"avantguardllc","email":"appadmin@avantguard.it"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-autoelevate_0.1.0_1785361786153_0.9955088547111342"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-29T21:49:46.045Z","0.1.0":"2026-07-29T21:49:46.297Z","modified":"2026-07-29T21:49:46.515Z"},"maintainers":[{"name":"avantguardllc","email":"appadmin@avantguard.it"}],"description":"n8n node for AutoElevate Partner(Beta)","keywords":["n8n-community-node-package","autoelevate","avantguardllc"],"repository":{"type":"git","url":""},"author":{"name":"AvantGuard LLC"},"license":"MIT","readme":"<p align=\"center\">\n  <a href=\"https://n8n.io\"><img src=\"https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png\" alt=\"n8n\" height=\"40\" /></a>\n  &nbsp;&nbsp;&nbsp;&nbsp;\n  <a href=\"https://avantguard.it\"><img src=\"https://i0.wp.com/avantguard.it/wp-content/uploads/2024/02/NewLogoSmalNoPicl.png?fit=398%2C71\" alt=\"AvantGuard\" height=\"40\" /></a>\n</p>\n\n# AutoElevate Partner(Beta) n8n Node\n\n![n8n community node](https://img.shields.io/badge/n8n-community%20node-ff6d5a) ![npm](https://img.shields.io/npm/v/%40avantguardllc%2Fn8n-nodes-autoelevate)\n\nThe Partner API enables integration partners to programmatically accessAutoElevate data for their managed customers — usage metrics, computerinventory, security events, and more.## BetaThis API is in **beta** and may change without notice. Every requestmust include an explicit acknowledgment header:```X-Acknowledgment: i-understand-this-is-beta-and-may-change```Requests missing this header — or sending any other value — arerejected with **400 Bad Request**.## VersioningEvery endpoint is versioned in its URL path — `/api/v1/computers`,`/api/v2/computers`, and so on. Pin your integration to an explicitversion.The **unversioned** path (`/api/computers`) is a permanent alias for**v1** — never the latest version — so publishing a new version cannever silently change the behavior of an existing integration. Newversions are strictly opt-in: adopt one by changing the version segmentin the URL.When a version is deprecated its responses carry a `Deprecation: true`header and, once a removal date is committed, an RFC 8594 `Sunset`header with that date; a `Link` header with `rel=\"successor-version\"`points at the replacement. A version is only removed after a publisheddeprecation window — watch for these headers to migrate ahead of time.## Getting Started### 1. Create an API KeyIn the AutoElevate admin portal, open a **service user** and add an**API Key**. Pick a scheme at creation time:- **API Token (AE-BEARER)** — recommended for most integrations. Works  with any HTTP client, iPaaS platform, SDK generator, or LLM tool.- **HMAC (AE-HMAC-SHA256)** — request-signed scheme. Signs  `scheme + METHOD + URL + bodyHash + ts`, so both the request  target and the body are tamper-protected, bounded by a 5-minute  replay window (see below for the exact signing steps).Bearer keys show a single secret at creation. HMAC keys show **two**values — a wire `token` and a separate `hmacKey` signing key —both displayed once and never retrievable again.### 2. Authenticate**Bearer (AE-BEARER)** — send the token directly:```bashcurl https://partner-api.autoelevate.com/api/usage \\  -H \"Authorization: Bearer aeb_xxxxxxxxxxxxxxxxxxxxxxxx\" \\  -H \"X-Acknowledgment: i-understand-this-is-beta-and-may-change\"```**HMAC (AE-HMAC-SHA256)** — request-signed scheme. Build the`Authorization` header yourself:1. Compute `bodyHash` — the SHA-256 hex digest of the exact request   body bytes. For a request with no body (GET, or a write with an   empty body), use the SHA-256 of the empty string:   `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`   — safe to hardcode rather than recompute every time.2. Build the string to sign, joining the parts below with a real   newline character (not the literal characters `\\n`):   ```   AE-HMAC-SHA256   <METHOD>   <URL>   <bodyHash>   <ts>   ```   `<METHOD>` is uppercase (`GET`, `POST`, ...); `<URL>` is the   full request target including any query string; `<ts>` is the   current time as epoch milliseconds.3. Compute `sig` — HMAC-SHA256 of that string using `hmacKey` as   the key, hex-encoded.4. Send the header:```bashcurl https://partner-api.autoelevate.com/api/usage \\  -H \"Authorization: AE-HMAC-SHA256 token=aeh_xxx,bodyHash=<hex>,ts=<epochMs>,sig=<hex>\" \\  -H \"X-Acknowledgment: i-understand-this-is-beta-and-may-change\"````ts` must be within 5 minutes of server time or the request isrejected.### 3. Keep Your Keys Safe- **Prefer short-lived keys.** Expiration presets go down to 15  minutes — for ad-hoc testing, shared machines, or any less-trusted  environment, create a short-lived key instead of reusing a  long-lived one.- **Scope to least privilege.** Grant only the permissions the  integration actually needs; avoid Full access keys for anything  long-lived.- **Store keys in a secrets manager** — never in source control,  tickets, chat, or shared documents. If a key is ever exposed,  revoke it immediately in the admin portal and create a new one.- **Rotate on personnel or role changes.** Keys are tied to the  service user they were created under; revoke keys that are no  longer needed.## Rate LimitsLimits are applied **per MSP, per HTTP method, per route path** —each unique combination has its own bucket. Defaults during beta:| Bucket | Limit ||--------|-------|| Most endpoints | 100 requests per hour || `/api/usage` | 100 requests per hour |There is no separate per-minute burst layer today; the bucketcounter is a single sliding window. When rate-limited, the APIreturns **429 Too Many Requests** with a `Retry-After` header.Defaults are conservative for beta and may rise as the surfacestabilises.## Client LibrariesGenerate a client from the OpenAPI spec:```bashnpx @openapitools/openapi-generator-cli generate \\  -i partners-openapi-spec.json \\  -g typescript-fetch -o ./partners-client-ts```\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Authentication](#authentication)\n- [Resources & Operations](#resources--operations)\n- [Compatibility](#compatibility)\n- [License](#license)\n\n## Installation\n\nFollow the [n8n community node installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).\n\nOr install directly via npm:\n\n```bash\nnpm install @avantguardllc/n8n-nodes-autoelevate\n```\n\n## Authentication\n\nThis node authenticates using an **API Key**.\n\n| Setting | Value |\n|---------|-------|\n| Type | API Key |\n| Sent in | `header` |\n| Header / Query name | `Authorization` |\n| Base URL | `https://partner-api.autoelevate.com` (editable in credentials) |\n\n> **Tip:** The Base URL can be changed in the credential settings if your instance uses a different host.\n\n## Resources & Operations\n\n**Base URL:** `https://partner-api.autoelevate.com`\n\n### AuditLogs\n\n| | Endpoint | Description |\n|---|----------|-------------|\n| 🔵 **`GET`** | `/api/v1/audit-logs` | List audit log entries |\n\n### Companies\n\n| | Endpoint | Description |\n|---|----------|-------------|\n| 🔵 **`GET`** | `/api/v1/companies` | List companies |\n| 🔵 **`GET`** | `/api/v1/companies/{id}` | Get a single company |\n\n### Computers\n\n| | Endpoint | Description |\n|---|----------|-------------|\n| 🔵 **`GET`** | `/api/v1/computers` | List computers |\n| 🔵 **`GET`** | `/api/v1/computers/{id}` | Get a single computer |\n\n### ElevatedSessions\n\n| | Endpoint | Description |\n|---|----------|-------------|\n| 🔵 **`GET`** | `/api/v1/elevated-sessions` | List elevated sessions |\n| 🔵 **`GET`** | `/api/v1/elevated-sessions/{id}` | Get a single elevated session |\n\n### ElevationEvents\n\n| | Endpoint | Description |\n|---|----------|-------------|\n| 🔵 **`GET`** | `/api/v1/elevation-events` | List elevation events |\n\n### ElevationRequests\n\n| | Endpoint | Description |\n|---|----------|-------------|\n| 🔵 **`GET`** | `/api/v1/elevation-requests` | List elevation requests |\n| 🔵 **`GET`** | `/api/v1/elevation-requests/{id}` | Get a single elevation request |\n| 🟢 **`POST`** | `/api/v1/elevation-requests/{id}/approve` | Approve an elevation request |\n| 🟢 **`POST`** | `/api/v1/elevation-requests/{id}/deny` | Deny an elevation request |\n\n### ElevationRules\n\n| | Endpoint | Description |\n|---|----------|-------------|\n| 🔵 **`GET`** | `/api/v1/elevation-rules` | List elevation rules |\n\n### Locations\n\n| | Endpoint | Description |\n|---|----------|-------------|\n| 🔵 **`GET`** | `/api/v1/locations` | List locations |\n| 🔵 **`GET`** | `/api/v1/locations/{id}` | Get a single location |\n\n### Usage\n\n| | Endpoint | Description |\n|---|----------|-------------|\n| 🔵 **`GET`** | `/api/v1/usage` | Get partner usage data |\n\n## Compatibility\n\n- **n8n version:** 1.0+ (tested on 2.x)\n- **Node.js version:** 18+\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md","_rev":"1-bc88322bea877942f13c2df6e58dacb0"}