Skip to content

AlisChain REST API Documentation

API Overview

Base URL: https://api.alischain.com/v1

Authentication

All API requests require authentication using JWT tokens.

curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
     -H "Content-Type: application/json" \
     https://api.alischain.com/v1/claims

Endpoints

Claims

Submit Claim

POST /claims

Request Body:

{
    "text": "string",
    "sources": ["string"],
    "metadata": {
        "category": "string",
        "tags": ["string"]
    }
}

Response:

{
    "claim_id": "string",
    "status": "pending",
    "timestamp": "string",
    "verification_eta": "number"
}

Get Claim Status

GET /claims/{claim_id}

Response:

{
    "claim_id": "string",
    "status": "verified|rejected|pending",
    "confidence_score": "number",
    "verification_details": {
        "sources": ["string"],
        "ai_score": "number",
        "human_validations": "number"
    }
}

Verification

Submit Verification

POST /verifications

Request Body:

{
    "claim_id": "string",
    "verdict": "true|false",
    "confidence": "number",
    "evidence": ["string"]
}

Response:

{
    "verification_id": "string",
    "status": "accepted",
    "reward": "number"
}

User Management

Get User Profile

GET /users/{user_id}

Response:

{
    "user_id": "string",
    "reputation": "number",
    "stake": "number",
    "rewards": {
        "total": "number",
        "pending": "number",
        "claimed": "number"
    }
}

Token Operations

Get Token Balance

GET /tokens/balance

Response:

{
    "balance": "number",
    "staked": "number",
    "rewards_rate": "number"
}

WebSocket API

Connection

const ws = new WebSocket('wss://api.alischain.com/ws');
ws.onopen = () => {
    ws.send(JSON.stringify({
        type: 'auth',
        token: 'YOUR_JWT_TOKEN'
    }));
};

Events

Claim Updates

ws.on('claim_update', (data) => {
    console.log('Claim status:', data.status);
});

Verification Requests

ws.on('verification_request', (data) => {
    console.log('New verification needed:', data.claim_id);
});

Rate Limits

Endpoint Rate Limit
POST /claims 10 per minute
POST /verifications 30 per minute
GET /* 100 per minute

Error Codes

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
429 Too Many Requests

SDK Examples

Python

from alischain import AlisChainClient

client = AlisChainClient('YOUR_API_KEY')

# Submit a claim
claim = client.submit_claim(
    text="This is a claim",
    sources=["https://source1.com"]
)

# Check status
status = client.get_claim_status(claim.id)

JavaScript

import { AlisChain } from '@alischain/sdk';

const client = new AlisChain('YOUR_API_KEY');

// Submit a claim
const claim = await client.claims.create({
    text: "This is a claim",
    sources: ["https://source1.com"]
});

// Check status
const status = await client.claims.getStatus(claim.id);

Webhook Integration

Setup Webhook

POST /webhooks

Request Body:

{
    "url": "string",
    "events": ["claim.verified", "verification.needed"],
    "secret": "string"
}

Webhook Payload Example

{
    "event": "claim.verified",
    "data": {
        "claim_id": "string",
        "status": "verified",
        "timestamp": "string"
    },
    "signature": "string"
}

Last update: 2024-12-08