Skip to main content

API Documentation

Integrate Metric37's text transformation into your applications

Quick Start
Get started with the Metric37 API in minutes

1. Get your API key

Create an account and subscribe to a paid plan to get API access.

Get Started

2. Make your first request

curl https://api.metric37.com/v1/humanize \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Your AI-generated text here",
    "tone": "conversational",
    "formality": "balanced"
  }'
Authentication
Secure your API requests with authentication

All API requests require authentication. Include your API key in the X-API-Key header:

X-API-Key: YOUR_API_KEY

Keep your API key secure

Never expose your API key in client-side code or public repositories.

API Endpoints
Available API endpoints and methods
POST/v1/humanize

Transform AI-generated text into natural, human-sounding prose.

Request Body

{
  "text": "string (required) - The text to humanize",
  "tone": "string (optional) - conversational | professional | friendly | casual | formal",
  "formality": "string (optional) - very-casual | casual | balanced | formal | very-formal",
  "creativity": "string (optional) - conservative | moderate | creative | very-creative"
}

Response

{
  "success": true,
  "data": {
    "original_text": "Your original text",
    "humanized_text": "The transformed, human-sounding text",
    "word_count": 42,
    "processing_time_ms": 1234
  },
  "usage": {
    "words_used": 42,
    "words_remaining": 4958
  }
}

Example

const response = await fetch('https://api.metric37.com/v1/humanize', {
  method: 'POST',
  headers: {
    'X-API-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    text: 'The implementation requires utilization of advanced processes.',
    tone: 'conversational',
    formality: 'balanced',
    creativity: 'moderate'
  })
});

const data = await response.json();
console.log(data.data.humanized_text);
// Output: "To implement this, we'll use advanced processes."
GET/v1/usage

Check your current API usage and remaining quota.

Response

{
  "success": true,
  "data": {
    "plan": "Pro",
    "words_limit": 50000,
    "words_used": 12450,
    "words_remaining": 37550,
    "reset_date": "2026-03-01T00:00:00Z"
  }
}
Rate Limits
API request limits by plan

Rate limit headers: Each response includes X-RateLimit-Limit and X-RateLimit-Remaining headers.

Error Codes
Common error responses and their meanings
400

Bad Request

Invalid request parameters

401

Unauthorized

Missing or invalid API key

402

Payment Required

Insufficient credits or quota exceeded

429

Too Many Requests

Rate limit exceeded

500

Internal Server Error

Server error, please retry

Error Response Format

{
  "success": false,
  "error": {
    "code": "invalid_request",
    "message": "Text parameter is required",
    "details": {
      "field": "text",
      "issue": "missing_required_field"
    }
  }
}
Need Help?
Get support for API integration
Feedback