{"id":49367,"library":"sipgate-rest-api-client","title":"sipgate REST API Client","description":"Unofficial or official Node.js client for the sipgate REST API v1. Version 2.4.1 is the latest stable release. It supports phone call management, SMS, fax, and contacts operations. Differentiates by providing a typed, promise-based interface for sipgate API services, handling authentication and pagination internally. Suitable for both browser (with bundler) and Node.js environments.","status":"active","version":"2.4.1","language":"javascript","source_language":"en","source_url":"https://github.com/sipgate/rest-api-client","tags":["javascript","sipgate","rest","api","client"],"install":[{"cmd":"npm install sipgate-rest-api-client","lang":"bash","label":"npm"},{"cmd":"yarn add sipgate-rest-api-client","lang":"bash","label":"yarn"},{"cmd":"pnpm add sipgate-rest-api-client","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"HTTP client for API requests","package":"axios","optional":false}],"imports":[{"note":"Default export is an object { SipgateClient }. In CommonJS use require('sipgate-rest-api-client').SipgateClient.","wrong":"const SipgateClient = require('sipgate-rest-api-client')","symbol":"SipgateClient","correct":"import { SipgateClient } from 'sipgate-rest-api-client'"},{"note":"PhoneCall is a named export. Non-ESM bundlers may require destructuring from default export.","wrong":"const { PhoneCall } = require('sipgate-rest-api-client')","symbol":"PhoneCall","correct":"import { PhoneCall } from 'sipgate-rest-api-client'"},{"note":"Sms is not a default export. Must use named import.","wrong":"import Sms from 'sipgate-rest-api-client'","symbol":"Sms","correct":"import { Sms } from 'sipgate-rest-api-client'"}],"quickstart":{"code":"import { SipgateClient } from 'sipgate-rest-api-client';\n\nconst client = new SipgateClient({\n  tokenId: process.env.SIPGATE_TOKEN_ID ?? '',\n  token: process.env.SIPGATE_TOKEN ?? ''\n});\n\nasync function makeCall() {\n  try {\n    const call = await client.phoneCalls.makeCall({\n      callerId: '0190...',\n      calleeNumber: '0176...',\n      deviceId: 'device-id'\n    });\n    console.log('Call initiated:', call.id);\n  } catch (error) {\n    console.error('Error:', error);\n  }\n}\n\nmakeCall();","lang":"typescript","description":"Shows how to initialize the client with API credentials and make a phone call."},"warnings":[{"fix":"Implement exponential backoff or use a queuing mechanism.","message":"API rate limiting: sipgate REST API enforces rate limits; client does not auto-retry.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use environment variables or a secure secret store.","message":"Environment variables for credentials: hardcoding tokens in source code is a security risk.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Use client.sms.send() instead of client.sendSms().","message":"Deprecated method 'sendSms' replaced by 'sms.send' in v2.0.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Use a bundler setting for browser, or use the browser build if available.","message":"Browser usage requires bundler (e.g., webpack) due to CommonJS dependency on axios.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'2.4.1':17 'api':3,14,44,63 'authent':47 'base':40 'browser':54 'bundler':56 'call':26 'client':4,9,64 'contact':31 'differenti':33 'environ':59 'fax':29 'handl':46 'interfac':41 'intern':50 'javascript':60 'latest':20 'manag':27 'node.js':8,58 'offici':7 'oper':32 'pagin':49 'phone':25 'promis':39 'promise-bas':38 'provid':35 'releas':22 'rest':2,13,62 'servic':45 'sipgat':1,12,43,61 'sms':28 'stabl':21 'suitabl':51 'support':24 'type':37 'unoffici':5 'v1':15 'version':16","created_at":"2026-06-07T17:01:24.508253+00:00","updated_at":"2026-06-07T17:01:24.508253+00:00","problems":[{"fix":"Use import or convert project to ESM (type: 'module').","cause":"Using require() with an ESM-only package (if future versions drop CJS).","error":"ERR_REQUIRE_ESM: require() of ES Module not supported"},{"fix":"Set process.env.SIPGATE_TOKEN_ID and SIPGATE_TOKEN in your environment.","cause":"Missing required environment variables for authentication.","error":"Error: SIPGATE_TOKEN_ID and SIPGATE_TOKEN environment variables not set"},{"fix":"Upgrade to version >=2.0 or use the appropriate method for your version.","cause":"Using version <2.0 where phoneCalls API was not available.","error":"TypeError: client.phoneCalls.makeCall is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/sipgate/rest-api-client#readme","github":"https://github.com/sipgate/rest-api-client","docs":null,"changelog":null,"pypi":null,"npm":"sipgate-rest-api-client","openapi_spec":null,"status_page":null,"smithery":null,"categories":["communication"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}