A unified platform for payments, users, and analytics.
RESTful endpoints, predictable responses, and comprehensive documentation.
# Check service health curl https://api.example.com/v1/health \ -H "Authorization: Bearer sk_test_..." # Response { "status": "healthy", "version": "1.8.3", "latency_ms": 4 }
Everything you need to integrate the Meridian API into your application.
Predictable resource-oriented URLs, standard HTTP methods, and JSON responses. Follows OpenAPI 3.1 specification.
Bearer token auth with scoped API keys. Test keys (sk_test_) for staging, live keys (sk_live_) for production.
1,000 req/s for test mode, 10,000 req/s for production. Headers X-RateLimit-Remaining included in every response.
Real-time event notifications with HMAC-SHA256 signatures. Automatic retries with exponential backoff on failure.
Safe retries via Idempotency-Key header. Duplicate POST requests return cached responses for 24 hours.
Official clients for Node.js, Python, Go, and Ruby. Community-maintained SDKs for PHP, Java, and .NET.
Quick integration examples in popular languages.
curl -X POST https://api.example.com/v1/users \ -H "Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc" \ -H "Content-Type: application/json" \ -d '{ "email": "developer@example.com", "name": "Jane Doe", "role": "developer" }'
import Meridian from '@meridian/sdk'; const client = new Meridian('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); const user = await client.users.create({ email: 'developer@example.com', name: 'Jane Doe', role: 'developer', }); console.log(user.id); // usr_a1b2c3d4
import meridian client = meridian.Client("sk_test_4eC39HqLyjWDarjtT1zdp7dc") user = client.users.create( email="developer@example.com", name="Jane Doe", role="developer", ) print(user.id) # usr_a1b2c3d4
package main import ( "fmt" "github.com/meridian-api/meridian-go" ) func main() { client := meridian.New("sk_test_4eC39HqLyjWDarjtT1zdp7dc") user, _ := client.Users.Create(&meridian.UserParams{ Email: "developer@example.com", Name: "Jane Doe", Role: "developer", }) fmt.Println(user.ID) // usr_a1b2c3d4 }
Core resources and endpoints. All requests require a valid API key.
/v1/usersList all users/v1/users/:idRetrieve a user/v1/usersCreate a user/v1/users/:idUpdate a user/v1/users/:idDelete a user/v2/users/batchBatch create users/v1/auth/loginCreate session/v1/auth/refreshRefresh access token/v1/auth/logoutInvalidate session/v1/productsList products/v1/products/:idRetrieve a product/v1/productsCreate a product/v1/products/:idUpdate a product/v1/ordersList orders/v1/ordersCreate an order/v1/orders/:idRetrieve an order/v1/payments/chargeCreate a charge/v1/payments/:id/statusRetrieve charge status/v1/webhooksList webhooks/v1/webhooksRegister a webhook/v1/webhooks/:idDelete a webhook/v1/analytics/overviewUsage summary/v1/analytics/funnelConversion funnelCurrent health of Meridian API services. Updated every 60 seconds.
Test API endpoints directly from your browser with live responses,
auto-generated request IDs, and detailed timing metrics.
Sign up for early access and we'll notify you when it launches.
Meridian API uses standard HTTP status codes. All errors return a consistent JSON body.
{
"error": {
"type": "invalid_request",
"code": "missing_field",
"message": "The 'email' field is required.",
"param": "email",
"request_id": "req_a1b2c3d4e5f6"
}
}