Skip to content

Varmply Backend API (0.1.0)

Varmply API – MVP backend for campaigns, wallets, authentication, and influencer participation.

Download OpenAPI description
Languages
Servers
Mock server
https://docs-staging.varmply.com/_mock/openapi/
Local development server
http://localhost:3000/
Staging environment
https://api-staging.varmply.com/
Production environment
https://api.varmply.com/

Health

Health check endpoints

Operations

Authentication

User registration and authentication

Operations

Wallet

Wallet balance and operations

Operations

Dev

Development-only endpoints for testing (not available in production)

Operations

Fund wallet (dev-only)

Request

Fund a wallet for the authenticated user. This endpoint is only available in non-production environments. Returns 403 if called in production. Requires a valid JWT access token. The wallet must already exist for the user and currency (no auto-create). Creates a ledger-backed transaction to record the funding.

Security
bearerAuth
Bodyapplication/jsonrequired
currencyCodestringrequired

ISO currency code for the wallet

Enum"NGN""USD"
Example: "NGN"
amountCentsinteger>= 1required

Amount to fund in cents (must be positive)

Example: 500000
curl -i -X POST \
  https://docs-staging.varmply.com/_mock/openapi/dev/wallets/fund \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "currencyCode": "NGN",
    "amountCents": 500000
  }'

Responses

Wallet funded successfully

Bodyapplication/json
walletIdstringrequired

Unique identifier for the wallet

Example: "wallet_abc123"
userIdstringrequired

User identifier who owns the wallet

Example: "user_123"
currencyCodestringrequired

ISO currency code

Enum"NGN""USD"
Example: "NGN"
availableBalanceAmountCentsintegerrequired

Updated available balance in cents

Example: 500000
lockedBalanceAmountCentsintegerrequired

Locked balance in cents (unchanged)

Example: 0
createdAtTimestampstring(date-time)required

ISO 8601 timestamp when the wallet was created

Example: "2024-01-01T00:00:00Z"
lastUpdatedAtTimestampstring(date-time)required

ISO 8601 timestamp when the wallet was last updated

Example: "2024-01-01T00:00:00Z"
Response
application/json
{ "walletId": "wallet_abc123", "userId": "user_123", "currencyCode": "NGN", "availableBalanceAmountCents": 500000, "lockedBalanceAmountCents": 0, "createdAtTimestamp": "2024-01-01T00:00:00Z", "lastUpdatedAtTimestamp": "2024-01-01T00:00:00Z" }

Campaigns

Campaign creation, management, and funding

Operations

Participation

Campaign participation and content submission

Operations

OAuth

Social media OAuth connection flows

Operations

Metrics

Content metrics and analytics endpoints

Operations