I-CIL API Documentation

The I-CIL (Influencer Integrity & Credibility Ledger) API allows licensed platforms to create identities, submit activity signals, raise disputes, and verify immutable influencer credibility scores.

Note: Access to the Write API requires a valid Platform License. Read access for verification is public.

Core Principles

Neutrality

No platform, brand, or operator can unilaterally influence individual scores. Scoring is rule-based and deterministic.

Determinism

Scores are computed via transparent code logic, not AI judgment or subjective human review.

Immutability

All finalized scores are anchored on the blockchain. History is append-only and tamper-evident.

Architecture

I-CIL acts as a neutral middleware between influencer platforms and the public blockchain.

[ Architecture Diagram: Platforms -> API Gateway -> I-CIL System -> Blockchain ]

Authentication

I-CIL uses OAuth 2.0 Client Credentials flow for machine-to-machine authentication. All requests must be made over HTTPS.

1. Get Access Token

POST https://auth.icil.org/oauth/token
curl -X POST https://auth.icil.org/oauth/token \
  -u client_id:client_secret \
  -d grant_type=client_credentials \
  -d scope=icil.signal.submit

2. Authenticate Requests

Include the access token in the Authorization header.

Authorization: Bearer 

Scopes

Scope Description
icil.identity.create Create new I-CIL identities for influencers
icil.signal.submit Submit activity signals and evidence
icil.dispute.submit Raise formal disputes
icil.score.read Read scores and verification data

Integration Flow

Follow these steps to integrate your platform with I-CIL.

  1. Onboarding: Sign the Participation Agreement and receive your Client ID.
  2. Identify: Use the Identity API to map your internal users to I-CIL IDs.
  3. Report: Submit real-time signals via the Signals API when events occur.
  4. Verify: Query the Scores API to display the verification badge.

API Reference

Base URL (Production): https://api.icil.org/v1

Base URL (Sandbox): https://sandbox.api.icil.org/v1

Identity

Create I-CIL Identity

POST /identity

Creates a new I-CIL identity for an influencer. Requires proof of consent.

Request
{
  "platformInfluencerId": "inf_12345",
  "consentHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
Response (201 Created)
{
  "icilId": "0xA91cF2D9E0E4bB3F6F9C1E9F2A2DD0E4C8F6A123",
  "initialScore": 600
}

Signals

Submit Activity Signal

POST /signals

Submit a standardized activity event (e.g., Late Delivery, No Show). Must include evidence hash.

Request
{
  "icilId": "0xA91cF2D9E0E4bB3F6F9C1E9F2A2DD0E4C8F6A123",
  "signalCode": "DELIVERED_LATE",
  "severity": "MEDIUM",
  "evidenceHash": "a1b2c3d4e5f6...",
  "occurredAt": "2026-02-01T14:30:00Z"
}
Response (202 Accepted)
{
  "signalId": "sig_987654321",
  "status": "ACCEPTED"
}

Disputes

Raise Dispute

POST /disputes

Formal challenge to a submitted signal.

Request
{
  "icilId": "0xA91cF2D9E0E4bB3F6F9C1E9F2A2DD0E4C8F6A123",
  "signalId": "sig_987654321",
  "reasonCode": "EVIDENCE_INCORRECT",
  "counterEvidenceHash": "f5e4d3c2b1a0..."
}

Verification

Get Public Score

GET /scores/{icilId}

Retrieve the latest anchored score and proof.

Response (200 OK)
{
  "icilId": "0xA91cF2D9E0E4bB3F6F9C1E9F2A2DD0E4C8F6A123",
  "score": 725,
  "methodologyVersion": "1.0",
  "anchoredTx": "0x123abc...",
  "lastUpdated": "2026-02-15T10:00:00Z"
}

Evidence Model

Important: I-CIL does not store raw evidence files. You must retain them.

All signals must be backed by an Evidence Envelope. This is a JSON structure containing metadata and hashes of raw artifacts.

The evidenceHash submitted to the API is:

SHA-256( Canonicalized_Evidence_Envelope_JSON )

Canonicalization Rules

  • UTF-8 encoding
  • Lexicographically sorted keys
  • No insignificant whitespace
  • ISO-8601 UTC timestamps

Governance & Accountability

The I-CIL infrastructure is governed by clear separation of powers.

  • Platforms submit facts (signals), not scores.
  • I-CIL System computes scores deterministically.
  • Blockchain anchors the final state immutably.

AI Advisory: AI models are used strictly for fraud detection and pattern analysis. They do not have write access to the ledger.

Error Codes

Code Description
INVALID_TOKEN OAuth token is missing, expired, or invalid.
RATE_LIMIT_EXCEEDED Too many requests. Back off and retry.
CONSENT_REQUIRED Influencer consent proof is missing or invalid.
DUPLICATE_SIGNAL This event has already been recorded.

Versioning

The API is versioned in the URL (e.g., /v1/). Breaking changes will result in a new major version. We maintain backward compatibility for all minor versions.