Base URL

All API endpoints are available at:
https://jmpy.me/api/v1

API Modules

The Jmpy.me API is organized into the following modules:

Request Format

Headers

All requests must include:
HeaderValueRequired
AuthorizationBearer YOUR_API_KEYYes
Content-Typeapplication/jsonFor POST/PUT/PATCH

Request Body

For endpoints that accept data, send JSON in the request body:
{
  "url": "https://example.com",
  "custom_alias": "my-link",
  "name": "My Short URL"
}

Response Format

All responses follow a consistent structure:

Success Response

{
  "success": true,
  "data": {
    // Response data
  },
  "meta": {
    // Pagination info (if applicable)
    "page": 1,
    "limit": 20,
    "total": 100
  }
}

Error Response

{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable message",
    "details": {
      // Additional context
    }
  }
}

Pagination

List endpoints support pagination with these query parameters:
ParameterTypeDefaultDescription
pageinteger1Page number
limitinteger20Items per page (max 100)
sortstringcreated_atSort field
orderstringdescSort order (asc or desc)

Example

GET /api/v1/short-urls?page=2&limit=50&sort=clicks&order=desc

Filtering

Many endpoints support filtering with query parameters:
GET /api/v1/short-urls?status=active&campaign_id=abc123
GET /api/v1/analytics/url-clicks?start_date=2024-01-01&end_date=2024-01-31

Common Fields

Timestamps

All resources include timestamp fields:
FieldFormatDescription
created_atISO 8601When the resource was created
updated_atISO 8601When the resource was last modified

IDs

All resource IDs are UUIDs:
550e8400-e29b-41d4-a716-446655440000

SDK & Libraries