Integration API

Draft specification, published for review before it is built

Status: draft, not available yet

No public API is running today. Everything on this page is a design we are publishing early so that clients and integrators can review it and push back before we implement it. There are no API keys to obtain, no rate limits in force and no client libraries to install.

If you need an integration now, we build it per project against your own systems. Tell us what you need to connect and we will quote it.

Proposed Authentication

The authentication methods the design allows for

API Key

Authenticate using API key

Authorization: Bearer YOUR_API_KEY

OAuth 2.0

Authenticate using OAuth 2.0

Authorization: Bearer ACCESS_TOKEN

JWT Token

Authenticate using JWT token

Authorization: Bearer JWT_TOKEN

Proposed Endpoints

The surface we intend to implement first. Comments and objections welcome before it is frozen.

POST /api/v1/ai/generate-code

AI Code Generation

Parameters

prompt (string) Required - Code generation prompt
language (string) Required - Programming language
framework (string) Optional - Framework selection

Response

{
  "code": "string",
  "explanation": "string",
  "suggestions": "array"
}
POST /api/v1/ai/analyze-code

AI Code Analysis

Parameters

code (string) Required - Code to analyze
analysis_type (string) Required - Analysis type: quality, security, performance

Response

{
  "score": "number",
  "issues": "array",
  "recommendations": "array"
}
GET /api/v1/projects

Get Project List

Parameters

user_id (string) Required - User ID
status (string) Optional - Project status filter

Response

{
  "projects": "array",
  "total": "number",
  "page": "number"
}
POST /api/v1/projects

Create New Project

Parameters

name (string) Required - Project name
description (string) Optional - Project description
template (string) Optional - Project template

Response

{
  "project_id": "string",
  "name": "string",
  "created_at": "timestamp"
}
PUT /api/v1/projects/{id}

Update Project Information

Parameters

id (string) Required - Project ID
name (string) Optional - New project name
description (string) Optional - New project description

Response

{
  "success": "boolean",
  "updated_at": "timestamp"
}
DELETE /api/v1/projects/{id}

Delete Project

Parameters

id (string) Required - Project ID

Response

{
  "success": "boolean",
  "deleted_at": "timestamp"
}

Illustrative Calls

How the endpoints would be called if implemented as specified. These snippets will not work today.

Proposed code generation call

JavaScript
// Draft only: this endpoint is not live yet.
const response = await fetch('https://api.arn.pw/api/v1/ai/generate-code', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    prompt: 'Create a user login form',
    language: 'javascript',
    framework: 'react'
  })
});

const result = await response.json();
console.log(result.code);

Proposed project creation call

Python
# Draft only: this endpoint is not live yet.
import requests

response = requests.post(
    'https://api.arn.pw/api/v1/projects',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    json={
        'name': 'My New Project',
        'description': 'This is a Web application generated using AI'
    }
)

project = response.json()
print(f"Project ID: {project['project_id']}")

Proposed code analysis call

cURL
# Draft only: this endpoint is not live yet.
curl -X POST https://api.arn.pw/api/v1/ai/analyze-code \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "function hello() { console.log('Hello World'); }",
    "analysis_type": "quality"
  }'

Client Libraries

None are published yet. This is the order we plan to build them in, so no install commands are shown.

JavaScript / Node.js

Planned, first target

Python

Planned

Go

Under consideration

PHP

Under consideration

Proposed Rate Limits

Draft tiers for discussion. Nothing is enforced today because nothing is running.

Free Plan

1,000/day
Daily Requests
100/minute
Burst Requests

Professional Plan

100,000/day
Daily Requests
1,000/minute
Burst Requests

Enterprise Plan

Unlimited
Daily Requests
Unlimited
Burst Requests

Review the Draft or Ask for an Integration

Tell us what is missing from this specification, or describe the systems you need connected and we will quote a per-project integration.