AstraLink provides both REST and GraphQL APIs for integrating with the platform's core features. This document details all available endpoints, authentication methods, and usage examples.
All requests must include an API key in the Authorization header:
Authorization: Bearer <api_key>
- Standard tier: 1000 requests/hour
- Enterprise tier: Unlimited requests
https://api.astralink.com/v1
POST /esim
Content-Type: application/json
Authorization: Bearer <api_key>
{
"user_id": "string",
"plan_type": "string",
"bandwidth": "number",
"security_level": "string"
}Response:
{
"esim_id": "string",
"profile_data": "string",
"activation_token": "string",
"quantum_signature": "string",
"created_at": "timestamp"
}PUT /esim/{esim_id}
Content-Type: application/json
Authorization: Bearer <api_key>
{
"bandwidth": "number",
"security_level": "string"
}Response:
{
"esim_id": "string",
"update_status": "string",
"quantum_signature": "string",
"updated_at": "timestamp"
}GET /network/status
Authorization: Bearer <api_key>Response:
{
"node_count": "number",
"active_connections": "number",
"bandwidth_usage": "number",
"quantum_security_status": "string",
"error_rate": "number"
}POST /network/bandwidth
Content-Type: application/json
Authorization: Bearer <api_key>
{
"connection_id": "string",
"bandwidth": "number",
"priority": "string"
}Response:
{
"allocation_id": "string",
"status": "string",
"qos_metrics": {
"latency": "number",
"throughput": "number",
"reliability": "number"
}
}POST /contracts/deploy
Content-Type: application/json
Authorization: Bearer <api_key>
{
"contract_type": "string",
"parameters": "object",
"initial_state": "object"
}Response:
{
"contract_address": "string",
"transaction_hash": "string",
"gas_used": "number",
"status": "string"
}POST /contracts/{address}/execute
Content-Type: application/json
Authorization: Bearer <api_key>
{
"method": "string",
"parameters": "array",
"gas_limit": "number"
}Response:
{
"transaction_hash": "string",
"result": "object",
"gas_used": "number",
"status": "string"
}https://api.astralink.com/graphql
query NodeInfo($nodeId: ID!) {
node(id: $nodeId) {
id
status
version
uptime
metrics {
cpu_usage
memory_usage
bandwidth_usage
connection_count
}
quantum_metrics {
error_rate
key_generation_rate
entanglement_fidelity
}
}
}query NetworkStats {
network {
total_nodes
active_connections
bandwidth_usage
error_rate
quantum_security_status
performance_metrics {
average_latency
throughput
packet_loss
}
}
}mutation ProvisionESIM($input: ESIMProvisionInput!) {
provisionESIM(input: $input) {
esim_id
profile_data
activation_token
quantum_signature
created_at
}
}mutation UpdateBandwidth($input: BandwidthUpdateInput!) {
updateBandwidth(input: $input) {
allocation_id
status
qos_metrics {
latency
throughput
reliability
}
}
}subscription NetworkEvents {
networkEvents {
event_type
node_id
timestamp
details
}
}subscription ConnectionStatus($connectionId: ID!) {
connectionStatus(id: $connectionId) {
status
latency
bandwidth_usage
error_rate
quantum_security_level
}
}wss://api.astralink.com/ws
{
"type": "connection",
"event": "status_change",
"data": {
"connection_id": "string",
"status": "string",
"timestamp": "number"
}
}{
"type": "network",
"event": "metric_update",
"data": {
"metric": "string",
"value": "number",
"timestamp": "number"
}
}- 400: Bad Request
- 401: Unauthorized
- 403: Forbidden
- 404: Not Found
- 429: Too Many Requests
- 500: Internal Server Error
- 503: Service Unavailable
{
"error": {
"code": "string",
"message": "string",
"details": "object",
"correlation_id": "string"
}
}- Implement exponential backoff
- Cache responses when possible
- Use bulk operations
- Monitor rate limits
- Rotate API keys regularly
- Use HTTPS for all requests
- Validate responses
- Monitor for anomalies
- Use compression
- Implement connection pooling
- Optimize query patterns
- Cache frequently used data
- API Reference (this document)
- Integration Guide
- Example Code
- SDKs
- Developer Portal: https://developers.astralink.com
- Support Email: quantum.apii@gmail.com
- API Status: https://status.astralink.com