Getting Started
First Time Setup
Getting Started With Jobs
Getting Started with Ticketing
Setting Sonar up for Billing
Getting Started with Accounts
Getting Started with Inventory
Baseline Configuration
User Specific Resources
Accounts
Account Types: Overview & Example Use Cases
Account Statuses: Overview & Example Use Cases
Account Management View: Overview
Scheduled Events: Overview & Use Cases
Notes & Tasks: Best Practices & Use Cases
Child Accounts: Best Practices & How Tos
Disconnecting an Account
Account List View: Overview
Account Groups: Overview & Example Use Cases
Serviceable Addresses: Overview and Usage
Creating a New Account
Billing
Setting up Bank Account & Credit Card Processors
Billing Settings
Billing Defaults
Taxes Setup
General Ledger Codes: Overview
Services: Overview
Building a Data Service
Building Packages
Delinquency Billing Best Practices
Accounts in Vacation Mode
Batch Payments & Deposit Slips: Overview
Payment Reversal vs Refund vs Voiding
Creating Discounts for Services and Packages
Canadian ACH tool
Printed Invoice Batches: Overview
Delinquency Exclusions: Overview and Use Cases
Multi-Month Billing & Multi-Month Services
Email Invoice Batch: Overview
Billing Calculator
Proration Calculator
Communication
Setting up an Outbound Email Domain
Triggered Emails: Setup
Call Logs: General Best Practices
Using the Mass Email Tool
Email Messages: Example Content
Email Categories: Overview & Use Cases
Email Variables & Conditions
Trigger Explanations
Companies
Financial
Contract Templates
Invoice Attachment Use Cases & PDF Examples
Invoice Messages: Overview & Use Cases
FCC Form 477: General Overview and Usage
Invoices in Sonar: Examples, Creation & Contents
Integrations
Inventory
Setup of Inventory: Manufacturers, Categories, and Assignees
Inventory List View: Overview
Inventory Model Management: General Overview
Tracking and Using Consumable Inventory
Jobs
Job Types: Best Practices
Setting Up Schedules General Overview
Applying Task Templates to Jobs
Example Jobs & Templates
Geofences: Overview
Jobs and Scheduling: Overview
Mapping
Misc.
Monitoring
Building a Monitoring Template
Pollers: General Overview, Deployment Strategy, Build Out & Setup
Building Alerting Rotations
Networking
IP Assignments & Sonar
MikroTik: Setting Up a Sonar Controlled DHCP Server
Setting Up a DHCP Batcher
IPAM: Basic Setup
MikroTik as an Inline Device: Integration With Sonar
MikroTik: Controlling Speeds
MikroTik: Controlling Access
Setting Up CoA Proxy
RADIUS: Building Reply Attributes
Data Usage Available Methods
Pulse, Polling, and PHP
MikroTik: Creating a Self-signed Certificate for use in API-SSL
IPAM: Overview
Sonar Flow
RADIUS: Build-Out & Integration with Sonar
Network Dashboard: Overview
Building a Device Mapper
Sonar IP Addressing
Network Sites: Overview
Building RADIUS Groups
Building Address Lists
Finding your OIDs
Sales Whitepapers
Security
User Role Creation & Best Practices
Removing a Terminated Employee In Sonar
Password Policy In Depth
Application Firewall: General Overview and Best Practices
Users: Overview
Role Creation using GraphiQL
System
How to Best Use Global Search
How Your Data is Backed Up
How To Use GraphiQL to Understand the Sonar API
Frequently Used Terms
Sonar's Rich Text Editor
Mutations in the Sonar API
API Calls Using Third Party Applications - Personal Access Tokens
The New Sonar API
A Deeper Dive into the new Sonar API
Consuming the Sonar API
Filtering: Simple vs Advanced
API Wrappers for V1 Compatibility
My Info: Your Personal User Settings
Customizing your Customer Portal
Release Notes
Reporting
Ticketing
Ticketing: Overview
Canned Replies Examples & Templates
Canned Reply Categories
Inbound Mailboxes Example Build
Ticket Categories Best Practices & Example Build
Ticket Groups To Consider
Using Parent Tickets
How to Integrate Inbound Mailboxes with Slack
Accounting with Sonar
Working With the Sonar Team & Additional Resources
Table of Contents
- All Categories
- System
- API Calls Using Third Party Applications - Personal Access Tokens
API Calls Using Third Party Applications - Personal Access Tokens
Updated
by Alex Moore
When creating an integration that will access Sonar through the API, the first step is to create a personal access token in your Sonar instance for that integration to use. The following article details the steps in creating a personal access token.
- Create an appropriate role and a user that you will use to perform the queries or mutations.
- Log in as that user.
- Click the Avatar on the top-right (first letter of your username by default) and select the name from the drop down.

- Click the down-arrow next to Update Info and select Create Personal Access Token.

- Name your access token. Generally speaking, it is best practice to name this as device, vendor, or server that will be integrating with Sonar.


GraphQL from CLI
Below is an example of running GraphQL query from the command line via curl. It is the most basic possible example of querying GraphQL outside of using https://instance.sonar.software/graphiql.
It should be run from bash or *nix because of the singe quotes. If you’re a Windows user, be sure to set up WSL for running Ubuntu in a container.
<token>
with an actual token that you got from following the instructions abovecurl -X POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data-raw '{"query": "query {users(id: 1) {entities { id name public_name username } } }"}' \
https://instance.sonar.software/api/graphql
Using Postman
You can also connect to your Sonar instance using the Personal Access Token by using an application such as Postman. In this case, you would provide the Personal Access Token as Authorization Type / Bearer Token
