phone calling

v1.0.7

Make international phone calls to any country. Low per-minute rates. Pay with PayPal or UPI.

3· 1.7k·2 current·2 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The skill's name/description (international phone calls) aligns with the provided OpenAPI and guides (calls, billing, transcriptions, webhooks). However, the registry metadata declares no required credentials or env vars while multiple guides repeatedly instruct using an API key (RINGEZ_API_KEY / Authorization: Bearer <key>) and agent-specific headers. That omission is an inconsistency (likely an authoring oversight) and should be clarified.
!
Instruction Scope
The SKILL.md and other docs instruct the agent to: create/store session IDs, use API keys, manage payments, enable real-time transcription, host webhook endpoints and secrets, and verify webhook signatures. These are legitimate for a telephony integration but expand the agent's operational scope far beyond a simple 'make a call' instruction. There's also a contradictory claim ('without requiring authentication or personal data') alongside explicit API key-based authentication — a direct contradiction that needs resolution.
Install Mechanism
This is an instruction-only skill with no install spec and no code files to execute. That is the lowest-risk install model (nothing is written to disk by the skill package itself).
!
Credentials
Although the registry lists no required env vars, the docs repeatedly instruct storing and using secret API keys (sk_live_...), webhook secrets, and payment tokens. Requesting those secrets would be proportionate for a calling service, but the skill metadata should declare them. The mismatch makes it unclear what credentials the agent will actually request or need at runtime.
Persistence & Privilege
The skill is not marked always:true and does not request special platform privileges. Still, the integration patterns require running webhook servers and long-lived secrets (webhook_secret, API keys) which create persistent networking exposure and a larger blast radius if keys are leaked. This is expected for webhook-based services but worth noting.
What to consider before installing
What to check before installing or using this skill: - Verify the vendor: the docs use ringez-api.vercel.app and support@ringez.com; confirm Ringez is a legitimate service (website, company, reviews) before sharing keys or payment tokens. - Expect to supply secrets: the guides require an API key (RINGEZ_API_KEY / Authorization: Bearer), webhook secret, and payment tokens. The registry metadata not declaring these is an inconsistency—ask the author to clarify required env vars and minimal scopes. - Use least-privilege/test keys: if you try the skill, use sandbox/test API keys, set strict rate/spend limits, and avoid exposing production billing keys until you're confident. - Webhook caution: the skill’s examples instruct you to host webhook endpoints and store webhook secrets. Hosting endpoints exposes your network and requires correct signature verification; if you accept this skill, make sure your webhook handling verifies signatures and keeps secrets off public logs. - Monitor billing and logs: allow only small initial spend, monitor for unexpected calls, and rotate keys if anything looks suspicious. - Ask for clarification: request that the publisher update the registry metadata to list required env vars and explain the contradictory statement about authentication. If they cannot clarify, treat the mismatch as a red flag. Overall: the content looks like a real calling API, not obviously malicious, but the omissions and contradictions around credentials and authentication elevate the risk — proceed only after verifying the service and using test/limited credentials.

Like a lobster shell, security has layers — review code before you run it.

latestvk97062ch1pq96m8xr1pbv5rrp980vt3g
1.7kdownloads
3stars
6versions
Updated 1mo ago
v1.0.7
MIT-0

Ringez Phone Calling API

Make affordable international phone calls from anywhere. No hidden fees, no subscriptions — just pay for the minutes you use.

What is Ringez?

Ringez is a simple, privacy-focused international calling service that lets you make phone calls to 200+ countries without complicated setups or expensive plans.

Perfect for:

  • Calling family abroad
  • Business calls to international clients
  • AI agents making reservations or appointments
  • Quick calls without buying a calling plan

Quick Start Guide

1. Create an Account

First, check if your email is already registered:

POST https://ringez-api.vercel.app/api/v1/auth/check-email
Content-Type: application/json

{"email": "you@example.com"}

Response:

  • new_user → Continue to OTP verification
  • existing_user → Login with password

For New Users: Verify with OTP

Step 1: Request OTP

POST https://ringez-api.vercel.app/api/v1/auth/send-otp
Content-Type: application/json

{"email": "you@example.com"}

Step 2: Verify OTP

POST https://ringez-api.vercel.app/api/v1/auth/verify-otp
Content-Type: application/json

{
  "email": "you@example.com",
  "otp": "123456"
}

Response:

{
  "session_id": "sess_abc123xyz",
  "user": {
    "email": "you@example.com",
    "balance_minutes": 5
  }
}

Save the session_id — you will need it for all API calls.

For Existing Users: Login

POST https://ringez-api.vercel.app/api/v1/auth/login
Content-Type: application/json

{
  "email": "you@example.com",
  "password": "your-password"
}

2. Check Your Balance

See how many minutes you have before making a call:

GET https://ringez-api.vercel.app/api/v1/auth/me
X-Session-ID: sess_abc123xyz

Response:

{
  "balance_minutes": 5,
  "balance_usd": 0,
  "email": "you@example.com"
}

3. Make a Phone Call

Use the idempotency_key to prevent accidental duplicate calls:

POST https://ringez-api.vercel.app/api/v1/calls/initiate
X-Session-ID: sess_abc123xyz
Content-Type: application/json

{
  "to_number": "+919876543210",
  "idempotency_key": "sess_abc123xyz_1700000000000_xyz789"
}

Response (Success):

{
  "call_id": "call_xyz789",
  "status": "initiated",
  "mode": "bridge",
  "to_number": "+919876543210",
  "from_number": "+17623713590",
  "twilio_call_sid": "CAxxxxx"
}

Response (Duplicate Call):

{
  "alreadyInitiated": true,
  "callSid": "CAxxxxx"
}

Call Modes Explained

Ringez supports two ways to make calls:

Bridge Mode (Default)

  • How it works: Calls your phone first, then connects you to the destination
  • Best for: Personal calls where you want to talk
  • Your phone: Will ring first

Direct Mode

  • How it works: Calls the destination directly
  • Best for: AI agents, automated calls, or when you do not want your phone to ring
  • Your phone: Does not ring

Force Direct Mode:

POST /api/v1/calls/initiate
X-Session-ID: sess_abc123xyz
Content-Type: application/json

{
  "to_number": "+919876543210",
  "mode": "direct"
}

Preventing Duplicate Calls

When making calls through an API, network delays or retries can accidentally create multiple calls. Use an idempotency key to prevent this.

What is an Idempotency Key?

A unique identifier for each call attempt. If you use the same key within 5 minutes, the API returns the original call instead of creating a new one.

How to Use It

Generate a unique key for each user action:

const idempotencyKey = `${sessionId}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
// Example: sess_abc123_1700000000000_xyz789abc

Important Notes

  • 5-minute window: Same key within 5 minutes returns the existing call
  • After 5 minutes: Same key creates a new call
  • Generate fresh keys: Create a new key for each button click, not for API retries
  • Response: If duplicate detected, you get {alreadyInitiated: true, callSid: "..."}

Pricing

Pay only for what you use. No monthly fees, no subscriptions.

USD Plans

PlanPriceMinutesRate per Minute
Starter$530$0.17
Popular$15120$0.13
Best Value$30300$0.10

INR Plans

PlanPriceMinutesRate per Minute
Starter₹997₹14/min
Popular₹19919₹10/min
Value₹49960₹8/min
Power₹999143₹7/min

Billing: Rounded up to the nearest minute. A 2-minute 30-second call = 3 minutes charged.


Managing Active Calls

Check Call Status

See if your call is still ringing, connected, or completed:

GET https://ringez-api.vercel.app/api/v1/calls/call_xyz789
X-Session-ID: sess_abc123xyz

Response:

{
  "call_id": "call_xyz789",
  "status": "in-progress",
  "duration": 120,
  "estimated_cost": {
    "minutes": 2,
    "amount": 0.25,
    "currency": "USD"
  }
}

End a Call Early

Hang up a call before it finishes:

DELETE https://ringez-api.vercel.app/api/v1/calls/call_xyz789
X-Session-ID: sess_abc123xyz

Navigate Phone Menus (DTMF)

Press numbers during a call (useful for bank menus, customer support):

POST https://ringez-api.vercel.app/api/v1/calls/call_xyz789/actions
X-Session-ID: sess_abc123xyz
Content-Type: application/json

{
  "action": "dtmf",
  "parameters": {
    "digits": "1"
  }
}

Common DTMF uses:

  • {"digits": "1"} — Press 1 for English
  • {"digits": "1234"} — Enter PIN
  • {"digits": "w"} — Wait 0.5 seconds

Call History

See your past calls:

GET https://ringez-api.vercel.app/api/v1/calls?limit=10&offset=0
X-Session-ID: sess_abc123xyz

Response:

{
  "calls": [
    {
      "call_id": "call_abc123",
      "to_number": "+919876543210",
      "status": "completed",
      "duration": 300,
      "cost": 0.375,
      "started_at": "2026-02-09T10:00:00Z"
    }
  ],
  "pagination": {
    "total": 25,
    "has_more": true
  }
}

Use Cases

Personal Call to Family

User: Call my mom in India
AI: I will help you call India. First, let me check your balance...
      You have 15 minutes available.
      Calling +91 98765 43210 now...
      
AI: Your phone is ringing. Pick up and I will connect you.

AI Agent Making a Reservation

User: Book a table at Taj Restaurant for 7 PM
AI: I will call Taj Restaurant for you.
      
      [AI uses direct mode — your phone does not ring]
      
AI: Calling +91 12345 67890...
      
AI: Hello, I would like to make a reservation for 2 people at 7 PM today.
      
AI: ✅ Reservation confirmed! Table for 2 at 7 PM under your name.

Important Information

Free Minutes

New accounts get 5 free minutes to test the service. These are for testing only — please add credits for regular use.

Adding Credits

This skill cannot add credits. To add minutes:

  1. Visit: https://ringez.com/wallet
  2. Pay with PayPal (USD) or UPI (INR)
  3. Credits appear instantly

Why? Payment processing requires secure browser redirects and PCI compliance that APIs cannot handle.

Low Balance Handling

If someone tries to call with insufficient balance:

AI: Let me check your balance...
      
      You have 0 minutes left. You will need to add credits first.
      
      💳 Add credits at: https://ringez.com/wallet
      
      The rates are:
      • USA: $0.05/min
      • India: $0.08/min
      • UK: $0.06/min
      
      Come back after adding credits and I will make that call!

API Reference Quick Reference

ActionMethodEndpointHeaders
Check EmailPOST/auth/check-emailContent-Type
Send OTPPOST/auth/send-otpContent-Type
Verify OTPPOST/auth/verify-otpContent-Type
LoginPOST/auth/loginContent-Type
Check BalanceGET/auth/meX-Session-ID
Make CallPOST/calls/initiateX-Session-ID, Content-Type
Call StatusGET/calls/:call_idX-Session-ID
End CallDELETE/calls/:call_idX-Session-ID
Call HistoryGET/callsX-Session-ID
DTMF/ActionsPOST/calls/:call_id/actionsX-Session-ID, Content-Type

Support

Need help? Contact us at support@ringez.com

About Ringez: Built by an independent creator, not a big corporation. Your support keeps the service running! 🙏

Comments

Loading comments...