Stablev1.0

REST API

Direct HTTP access

No SDK required. Call SkyAIApp API directly via HTTP from any language.

Base Information

Base URLhttps://api.skyaiapp.com/v1
Content Typeapplication/json
AuthenticationBearer Token

Authentication

All requests require an API Key in the Authorization header:

Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

API Endpoints

POST/v1/routeSmart routing
curl -X POST https://api.skyaiapp.com/v1/route \
  -H "Authorization: Bearer sk_live_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "goal": "cost",
    "strategy": "balanced",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello, world!"}
    ],
    "max_tokens": 500,
    "temperature": 0.7
  }'
GET/v1/modelsAvailable models
curl https://api.skyaiapp.com/v1/models \
  -H "Authorization: Bearer sk_live_xxxx"
POST/v1/agents/runRun agent
curl -X POST https://api.skyaiapp.com/v1/agents/run \
  -H "Authorization: Bearer sk_live_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "task": "Research the latest AI news and summarize",
    "tools": ["web_search", "read_url"],
    "max_steps": 10,
    "timeout_seconds": 120
  }'
GET/v1/analytics/usageUsage analytics
curl "https://api.skyaiapp.com/v1/analytics/usage?start_date=2024-12-01&end_date=2024-12-15" \
  -H "Authorization: Bearer sk_live_xxxx"

Language Examples

PHP

<?php
$ch = curl_init('https://api.skyaiapp.com/v1/route');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('SKYAIAPP_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'goal' => 'cost',
        'strategy' => 'balanced',
        'messages' => [
            ['role' => 'user', 'content' => 'Hello!']
        ],
    ]),
]);

$response = curl_exec($ch);
$data = json_decode($response, true);

echo $data['choices'][0]['message']['content'];
?>

Ruby

require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.skyaiapp.com/v1/route')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request['Authorization'] = "Bearer #{ENV['SKYAIAPP_API_KEY']}"
request['Content-Type'] = 'application/json'
request.body = {
  goal: 'cost',
  strategy: 'balanced',
  messages: [
    { role: 'user', content: 'Hello!' }
  ]
}.to_json

response = http.request(request)
data = JSON.parse(response.body)

puts data['choices'][0]['message']['content']

Java

import java.net.http.*;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

String json = """
{
  "goal": "cost",
  "strategy": "balanced",
  "messages": [
    {"role": "user", "content": "Hello!"}
  ]
}
""";

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.skyaiapp.com/v1/route"))
    .header("Authorization", "Bearer " + System.getenv("SKYAIAPP_API_KEY"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(json))
    .build();

HttpResponse<String> response = client.send(request, 
    HttpResponse.BodyHandlers.ofString());

System.out.println(response.body());

C#

using System.Net.Http.Json;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", 
    $"Bearer {Environment.GetEnvironmentVariable("SKYAIAPP_API_KEY")}");

var response = await client.PostAsJsonAsync(
    "https://api.skyaiapp.com/v1/route",
    new {
        goal = "cost",
        strategy = "balanced",
        messages = new[] {
            new { role = "user", content = "Hello!" }
        }
    }
);

var result = await response.Content.ReadFromJsonAsync<dynamic>();
Console.WriteLine(result.choices[0].message.content);

Rate Limits

Rate limit info is included in response headers:

X-RateLimit-LimitRequests per minute limit
X-RateLimit-RemainingRemaining requests
X-RateLimit-ResetReset time (Unix timestamp)

View full API documentation

Learn about all endpoints, parameters, and response formats

Was this page helpful?

Let us know how we can improve

REST API | SkyAIApp Docs — SkyAIApp