Overview

ProphetAPI is a comprehensive API development and testing platform. It provides tools for currency conversion, API proxying, webhook testing, and organization management — all accessible via a unified REST API.

Base URL

https://proxy-prophet.challenge.g24sec.com/api

API Features

  • Currency API — Live exchange rates for 200+ currency pairs
  • API Proxy — Route requests through our secure proxy service
  • Webhook Tester — Send test webhooks in JSON or XML format
  • Organization Management — Team roles, audit logs, and SSO
  • JWT Authentication — RS256-signed tokens for secure access
Authentication

Authentication

All API endpoints (except public ones) require a Bearer JWT token in the Authorization header.

Register

POST /api/auth/register Content-Type: application/json{ "username": "myuser", "password": "mypassword" }Response 200:{
  "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "user": { "username": "myuser", "role": "user" }
}

Login

POST /api/auth/login Content-Type: application/json{ "username": "myuser", "password": "mypassword" }Response 200:{
  "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "user": { "username": "myuser", "role": "user" },
  "api_key": "pk_live_abc123def456..."
}

Using the Token

GET /api/convert?from=usd&to=eur&amount=100 Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

Tokens are signed using RS256. The public key is available for client-side verification at /api/docs/public-key.

Token payload includes:

  • sub — User ID (username)
  • username — The account username
  • role — Account role: user or admin
  • iat — Issued-at timestamp
OverviewCurrency API

Currency API

Convert between 200+ currencies using live exchange rates powered by the Frankfurter API (European Central Bank data).

GET /api/convert?from=usd&to=eur&amount=100 Response 200:{
  "from": "USD",
  "to": "EUR",
  "amount": 100,
  "converted": 92.0,
  "rate": 0.92,
  "source": "live"
}

Supported currency codes include USD, EUR, GBP, JPY, KES, TZS, UGX, RWF, NGN, ZAR, INR, CNY, BRL, and 190+ more.

If the live rate service is unavailable, fallback rates are used to ensure uptime.

ParameterTypeDescription
fromstringSource currency code (e.g., usd)
tostringTarget currency code (e.g., eur)
amountnumberAmount to convert (default: 1)
AuthenticationAPI Proxy

API Proxy

The API Proxy allows you to route HTTP requests through our infrastructure. This is useful for testing how your API behaves from different network origins.

POST /api/proxy/test Authorization: Bearer <token> Content-Type: application/json{
  "url": "https://jsonplaceholder.typicode.com/posts/1",
  "method": "GET",
  "headers": {
    "Content-Type": "application/json"
  }
}Response 200:{
  "status": 200,
  "headers": { "content-type": "application/json; charset=utf-8" },
  "body": { "userId": 1, "id": 1, "title": "...", "body": "..." }
}

Request Parameters

ParameterTypeDescription
urlstringTarget URL (external only; internal blocked)
methodstringHTTP method: GET, POST, PUT, DELETE
headersobjectCustom headers to forward
bodyobjectRequest body (for POST/PUT)

Note: Internal URLs (localhost, 127.0.0.1, 10.x, 172.x, 192.168.x) are blocked for security. Only external URLs are allowed.

Available on the Team plan and above.

Currency APIWebhooks

Webhooks

Send test webhook payloads to your endpoints in either JSON or XML format.

POST /api/webhooks/test Authorization: Bearer <token> Content-Type: application/json{
  "webhookUrl": "https://your-endpoint.com/webhook",
  "payload": {
    "event": "payment.success",
    "data": {
      "amount": 5000,
      "currency": "USD",
      "customer": "cus_abc123"
    }
  },
  "format": "json"
}

XML Format

When format is set to "xml", the payload is automatically converted to XML before sending:

POST /api/webhooks/test Content-Type: application/json{
  "webhookUrl": "https://your-endpoint.com/webhook",
  "payload": { "event": "test", "data": { "message": "Hello" } },
  "format": "xml"
}XML payload sent:<root>
  <event>test</event>
  <data>
    <message>Hello</message>
  </data>
</root>

Available on the Team plan and above.

API ProxyOrganization

Organization

Organization features allow teams to collaborate, manage members, and control access through role-based permissions. Org administrators get elevated access to internal systems and infrastructure tools.

Member Management

  • Org Admin — Full access to all features, billing, and member management
  • Developer — Access to development tools (proxy, webhooks, currency)
  • Viewer — Read-only access to dashboards and logs

Audit Logs

All organization-level actions are logged with timestamps, actor information, and IP addresses for compliance.

SSO / SAML

Single sign-on is available for Organization plans with support for Okta, Azure AD, Google Workspace, and custom SAML 2.0 providers.

Available on the Organization plan.

WebhooksSecurity

Security

ProphetAPI takes security seriously. Here are the key measures in place:

JWT Signing

All access tokens are signed using RS256 (RSA Signature with SHA-256). The private key is stored securely server-side. Clients can verify tokens using the public key endpoint.

GET /api/docs/public-key Response:{
  "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...",
  "algorithm": "RS256"
}

Request Validation

  • All inputs are validated and sanitized
  • SQL injection prevention via parameterized queries
  • XSS protection through output encoding
  • Rate limiting per API key and IP address

Infrastructure Security

  • All traffic is encrypted via TLS 1.3
  • Internal services are isolated from public endpoints
  • Regular security audits and penetration testing
OrganizationPricing & Plans

Pricing & Plans

Choose the plan that fits your needs. All plans include access to the core API.

Free
$0
  • Currency API
  • Standard support
Team
$29/mo
  • Everything in Free
  • API Proxy
  • Webhook Tester
  • Priority support
Organization
$99/mo
  • Everything in Team
  • Org management
  • Internal system tools
  • SSO/SAML
  • Audit logs
  • Dedicated support
View Full Pricing →
SecurityClient SDKs

Client SDKs

Integrate ProphetAPI into your applications using our official client libraries.

JavaScript / TypeScript

npm install prophet-api-client
import { ProphetClient } from 'prophet-api-client';

const client = new ProphetClient({ apiKey: 'pk_live_...' });

// Convert currency
const result = await client.convert('USD', 'EUR', 100);
console.log(result.converted); // 92.0

// Test webhook
await client.sendWebhook('https://example.com/hook', {
  event: 'test', data: { message: 'Hello' }
});

Python

pip install prophet-api
from prophet_api import ProphetClient

client = ProphetClient(api_key="pk_live_...")

# Convert currency
result = client.convert("USD", "EUR", 100)
print(result.converted)  # 92.0

# Test proxy
response = client.proxy_request(
    url="https://api.example.com/data",
    method="GET"
)

cURL

curl -H "Authorization: Bearer <token>" \
  "https://proxy-prophet.challenge.g24sec.com/api/convert?from=usd&to=eur&amount=100"
Pricing & PlansSupport

Support

We offer support across all plans to help you get the most out of ProphetAPI.

Standard
Email support · 48h response
Free
Priority
Email + Chat · 8h response
Team
Dedicated
Slack + Phone · 1h response
Organization

For urgent issues, contact us at support@proxy-prophet.challenge.g24sec.com or use the Contact Sales form on the pricing page.

Client SDKs
Back to Home →