{"id":24588073,"url":"https://github.com/jstott/postman-ninjarmm","last_synced_at":"2025-07-01T05:04:55.687Z","repository":{"id":145950676,"uuid":"289722637","full_name":"jstott/postman-ninjarmm","owner":"jstott","description":"Postman collection for accessing the Ninja RMM APIs","archived":false,"fork":false,"pushed_at":"2020-08-24T14:40:26.000Z","size":105,"stargazers_count":3,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-20T19:58:36.648Z","etag":null,"topics":["api-wrapper","ninjarmm","ninjarmm-api","postman","rmm"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jstott.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-08-23T16:19:11.000Z","updated_at":"2025-01-15T02:37:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"850a64ac-eb95-4658-8c4f-2286f54f2bc7","html_url":"https://github.com/jstott/postman-ninjarmm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jstott/postman-ninjarmm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jstott%2Fpostman-ninjarmm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jstott%2Fpostman-ninjarmm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jstott%2Fpostman-ninjarmm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jstott%2Fpostman-ninjarmm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jstott","download_url":"https://codeload.github.com/jstott/postman-ninjarmm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jstott%2Fpostman-ninjarmm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261026013,"owners_count":23099096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-wrapper","ninjarmm","ninjarmm-api","postman","rmm"],"created_at":"2025-01-24T07:14:08.246Z","updated_at":"2025-07-01T05:04:55.670Z","avatar_url":"https://github.com/jstott.png","language":"JavaScript","funding_links":["https://www.buymeacoffee.com/jwstott"],"categories":[],"sub_categories":[],"readme":"# postman-ninjarmm\nPostman collection for accessing [Ninja RMM APIs](https://www.ninjarmm.com/dev-api/#introduction) using the custom authentication headers.\n\nThe Ninja authentication requirement doesn't easily lend itself to the more traditional authorization options found in  API client tools such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/).\n\n\u003e The NinjaRMM REST API uses a custom HTTP scheme based on a keyed-HMAC (Hash Message Authentication Code) for authentication. To authenticate a request, you first concatenate selected elements of the request to form a string. You then use your API secret access key to calculate the HMAC of that string.\n\nThis project is an attempt to eliminate this pain-point, and provides a Postman pre-script option to build the required auth headers based on your Ninja api keys.\n\nThe easiest method to get started with this project is to launch the `Run in Postman button` below.  The collection contains the latest [Ninja Api 2.0 yaml](https://app.ninjarmm.com/apidocs/) definitions at the time of this post.\n\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/e74f2c0aa33bbb250e59)\n\n\u003e You must update the Collection variables with your own API Keys!\n\nYou can also download the [Collection](./nina-rmm-api-2-collection.json) export directly, or the [pre-script](./pm-ninja-pre-request.js) file if that's all you need.\n\nThese are the Postman variables **you will need to configure**:\n 1) baseUrl - defaults to https://app.ninjarmm.com/\n 2) ninja_accessKeyId\n 3) ninja_secretAccessKey\n\n\n## Ninja API Keys\nThe access keys can be found in your main NinjaRMM portal, under Configuration -\u003e Integrations -\u003e API\n\n![ninja-api](./img/ninja-generate-api-key.png)\n\n## Setup Postman Variables\n\nVariables allow you to store and reuse values in your requests and scripts.  This script will use variables defined at the Global, Collection, Environment, or Local scopes.  They Ninja keys are defaulted to the sample values used in their documentation.\n\nTo edit a variable for this collection, select the collection in Collections on the left of the Postman app, open the View more actions (...) menu, and click Edit.\n\n![postman-var](./img/postman-variables.png)\n\n## Postman Pre-Request scripts\nPostman provides a runtime based on Node.js that allows to add dynamic behavior to requests.  \n\nThe `pm-ninja-pre-request` script retrieves the key variables and constructs the authentication and date header for each request. \n\nThe script includes comments that should give enough details for each step used in construct \u0026 sign the request signature needed. The Ninja resource that provides the example code for signing requests can be found the ref's below.\n\nIf you found this helpful...\n \n\u003ca href=\"https://www.buymeacoffee.com/jwstott\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-orange.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n\n## Ref's\n[Ninja API Authentication](https://www.ninjarmm.com/dev-api/)  \n[Ninja API 2.0 docs](https://app.ninjarmm.com/apidocs/)  \n[Postman Download](https://www.postman.com/downloads/)  \n[Postman pre-request scripts](https://learning.postman.com/docs/writing-scripts/pre-request-scripts/)  \n[Postman sandbox - script refs](https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/)  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjstott%2Fpostman-ninjarmm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjstott%2Fpostman-ninjarmm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjstott%2Fpostman-ninjarmm/lists"}