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