Developer API

RESTful JSON endpoints for trust signals, public profile summaries, and honor-note data — authenticated with API keys you control from your dashboard.

🔑
1. Get API Key

Sign in and visit your API Keys dashboard to request a sandbox or production key.

📡
2. Make Request

Include your key in the Authorization header as Bearer bmh_...

📊
3. Get Data

Receive JSON responses with honor scores, profiles, and notes data.

Base URL

https://bymyhonor.com/api

Authentication

Send your API key in the Authorization header:

Authorization: Bearer bmh_your_api_key_here

Rate Limits

EnvironmentLimitWindow
Sandbox500 requests24 hours
Production1,000 requests24 hours

Rate limit headers included in responses: X-RateLimit-Remaining, X-RateLimit-Reset

Endpoints

Method Endpoint Auth Description
GET /api/public/honor/{accountid} Public Public honor profile (throttled)
GET /api/v1/ping API Key Health check
GET /api/v1/trust/{accountid} API Key Honor score & validation status
GET /api/v1/profile/{accountid} API Key Public profile fields
GET /api/v1/honornotes/{accountid} API Key Recent closed honor notes
GET /api/v1/summary/{accountid} API Key Aggregated honor stats

Endpoint Details

GET /api/v1/ping API Key Required

Health check endpoint. Returns a pong message with your user ID and environment.

Example Request
curl -X GET "https://api.bymyhonor.com/api/v1/ping" \
  -H "Authorization: Bearer bmh_your_api_key_here"
Response 200 OK
{
  "message": "pong",
  "user_id": 123,
  "environment": "sandbox"
}
GET /api/v1/trust/{accountid} API Key Required

Returns the honor score and validation status for a user. Useful for trust verification integrations.

Path Parameters
ParameterTypeDescription
accountidstringUser's unique account ID (e.g., NG55RGIULP)
Example Request
curl -X GET "https://api.bymyhonor.com/api/v1/trust/NG55RGIULP" \
  -H "Authorization: Bearer bmh_your_api_key_here"
Response 200 OK
{
  "accountid": "NG55RGIULP",
  "full_name": "John Smith",
  "honor_score": 85,
  "validation_status": "validated"
}
Error Responses
StatusCodeMessage
404NOT_FOUNDUser not found
429RATE_LIMITEDToo many requests
GET /api/v1/profile/{accountid} API Key Required

Returns limited public profile information for a user.

Response 200 OK
{
  "accountid": "NG55RGIULP",
  "full_name": "John Smith",
  "country_of_residence": "Nigeria",
  "validation_status": "validated"
}
GET /api/v1/honornotes/{accountid} API Key Required

Returns up to 50 recent closed honor notes for a user. Notes include title, status, and sender info.

Response 200 OK
{
  "accountid": "NG55RGIULP",
  "honor_notes": [
    {
      "id": "hn123abc",
      "title": "Excellent service delivery",
      "status": "accepted",
      "closed_format": "positive",
      "created_at": "2026-08-01 14:30:00",
      "sender_accountid": "AB1234CD"
    },
    {
      "id": "hn456def",
      "title": "Fast and reliable",
      "status": "accepted",
      "closed_format": "positive",
      "created_at": "2026-07-15 09:15:00",
      "sender_accountid": "EF5678GH"
    }
  ]
}
GET /api/v1/summary/{accountid} API Key Required

Returns aggregated honor note statistics including total, positive, and negative counts.

Response 200 OK
{
  "accountid": "NG55RGIULP",
  "full_name": "John Smith",
  "honor_score": 85,
  "validation_status": "validated",
  "honor_notes": {
    "total": 24,
    "positive": 20,
    "negative": 4
  }
}
GET /api/public/honor/{accountid} Public (No Auth)

Public endpoint — no API key required. Returns basic honor profile info. Rate limited to 60 requests per minute per IP.

Response 200 OK
{
  "name": "John Smith",
  "account_id": "NG55RGIULP",
  "honor_score": 85,
  "honor_score_color": "#10b981",
  "completed_honor_notes": 24,
  "updated": "2026-08-10T14:30:00+00:00",
  "profile_url": "https://bymyhonor.com/profile/NG55RGIULP"
}

Error Codes Reference

Status Code Description How to Fix
401 UNAUTHORIZED Missing or invalid API key Check your Authorization header
403 FORBIDDEN API key revoked or expired Generate a new key in dashboard
404 NOT_FOUND User or resource not found Verify the account ID exists
429 RATE_LIMITED Too many requests Wait until rate limit resets
500 SERVER_ERROR Internal server error Contact support