Overview

AI-powered API that analyzes merchant/shop images and returns structured classification data including NPCI-compliant MCC codes.

Base URL: https://mcc.platform.irame.ai/api/v1

Content Type: multipart/form-data for upload endpoints

Response Format: JSON

Authentication

All /analyze endpoints require an API key passed in the x-api-key header. Keys are issued by administrators, have configurable expiry dates and usage limits, and are tracked per request.

x-api-key: mcc_xxxxxxxxxxxxxxxxxxxxxxxx

/health and /mcc-codes are unauthenticated reference endpoints.

Endpoints

GET /api/v1/health
Health check — no authentication required
POST /api/v1/analyze
Analyze one or more images of a single shop.

Headers

HeaderValue
x-api-keyYour API keyrequired
Content-Typemultipart/form-datarequired

Request Body (multipart/form-data)

FieldTypeDescription
imagesFile[]1-10 image files (JPEG, PNG, WebP). Max 10MB each.

Response (200 OK)

{
  "success": true,
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "analysis_mode": "single_shop",
  "processing_time_ms": 2340,
  "data": {
    "shop_name": "Sharma General Store",
    "is_actual_shop": "Yes",
    "mobility": "Non-Movable",
    "shop_board": "Hard Board",
    "shop_status": "Open",
    "nature_of_business": "General grocery and daily essentials retail store",
    "mcc_code": "5411",
    "mcc_description": "Grocery Stores, Supermarkets",
    "black_image": "No"
  }
}
POST /api/v1/analyze/batch
Analyze multiple different shops. Each image is a separate shop.

Headers

HeaderValue
x-api-keyYour API keyrequired
Content-Typemultipart/form-datarequired
GET /api/v1/mcc-codes
List all NPCI MCC codes supported by the system — no authentication required.

Usage Examples

cURL — Single Shop

curl -X POST \
  https://mcc.platform.irame.ai/api/v1/analyze \
  -H "x-api-key: mcc_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -F "images=@shop_front.jpg" \
  -F "images=@shop_signage.jpg"

Python

import requests

url = "https://mcc.platform.irame.ai/api/v1/analyze"
headers = {"x-api-key": "mcc_xxxxxxxxxxxxxxxxxxxxxxxx"}
files = [("images", open("shop.jpg", "rb"))]

response = requests.post(url, headers=headers, files=files)
data = response.json()

Error Codes

StatusMeaningCommon Cause
400Bad RequestNo images uploaded, invalid file type, too many files
401UnauthorizedMissing or invalid x-api-key
403ForbiddenAPI key disabled or expired
413Payload Too LargeImage exceeds 10MB limit
429Too Many RequestsAPI key request or image quota exhausted
500Server ErrorUpstream AI service failure, processing error

Limits

Max images per request10
Max file size10 MB per image
Supported formatsJPEG, PNG, WebP
Per-key overall limitsSet by administrator (requests + images)
MCC Shop Image Analyzer v1.0.0 | Powered by Irame AI | MCC codes as per NPCI guidelines