Enhver model kan generere SAS. Uden en måde at køre den på ved ingen, om den virker. Jenners åbne Run API giver agenten den anden halvdel af løkken: kør programmet, læs det rigtige output og de rigtige fejl, ret det, kør igen — ingen SAS-licens, ingen lokal installation.
Anonym adgang virker helt uden API-nøgle.
En assistent, der skriver SAS og stopper der, giver dig noget, der ser rigtigt ud. Om makroen resolves, om et merge samler de variable, du forventede, om PROC MEANS returnerer 19 rækker eller 0 — intet af det kan vides, før programmet kører.
Historisk set krævede det en SAS-licens og en installation at køre det, hvilket er præcis det, en agent ikke har. Run API'et fjerner den begrænsning: ét HTTP-kald kører koden og returnerer strukturerede resultater, som modellen faktisk kan ræsonnere over.
Generér, tjek, kør, gentag — det hele maskinlæsbart.
Modellen skriver SAS — et DATA step, en PROC, en makro. Der kræves ikke noget særligt: Jenner accepterer standard-SAS-syntaks, så den kode, en assistent allerede kan skrive, er den kode, der kører.
POST scriptet til /v1/validate for kun at få det parset. Diagnostikken kommer tilbage, uden at noget køres, så en agent kan fange en syntaksfejl, før den bruger en kørsel.
POST til /v1/run med scriptet og eventuelle CSV- eller Parquet-input. Jenner kører det i en sandboxet container og returnerer listing-outputtet, NOTE/WARNING/ERROR-loggen, en exitkode og hvert datasæt og hver fil, programmet har produceret.
Loggen og diagnostikken er struktureret feedback, ikke et skærmbillede. Agenten læser den faktiske fejl, retter den faktiske linje og kører igen — og lukker løkken uden et menneske i midten.
Rigtige anmodninger mod det offentlige API. Ingen nøgle, ingen opsætning.
curl -X POST https://api.jenneranalytics.com/v1/quick \
--data-binary @analysis.sas The MEANS Procedure
Variable N Mean Std Dev
-----------------------------------------------
bmi 19 17.8420103 1.4625169
-----------------------------------------------Dette uddrag mangler et semikolon. Et kald, der kun parser, peger på problemet, så agenten kan rette det og komme videre.
data demo;
set sashelp.class /* <- missing semicolon */
bmi = weight / (height**2) * 703;
run;{
"valid": false,
"diagnostics": [
{ "severity": "error",
"message": "Unexpected token: Eq, expected Semi" }
]
}En fuld kørsel returnerer listingen, loggen, en exitkode og hvert datasæt, programmet har produceret — med rækkeantal, så agenten kan bekræfte, at den fik data, i stedet for at antage det.
{
"run_id": "r_c8679761197f4f9d8a3bc021...",
"status": "ok",
"exit_code": 0,
"output": "...formatted listing tables...",
"log": "NOTE: PROC MEANS statement used.",
"datasets": [ { "name": "demo", "row_count": 19 } ],
"files": [],
"diagnostics": [],
"duration_ms": 412,
"jenner_version": "..."
}Base-URL https://api.jenneranalytics.com/v1
| Endpoint | Formål |
|---|---|
POST/v1/run | Kør et script med valgfrie datainput. Returnerer output, log, exitkode, datasæt, filer og diagnostik som JSON. |
POST/v1/run/stream | Samme som /v1/run, streamet som Server-Sent Events, så loggen kommer, mens programmet stadig kører. |
POST/v1/quick | Bekvemmelighed i én linje. Råt script ind, listing i klartekst tilbage — den hurtigste vej til svaret på “virker denne SAS?” |
POST/v1/validate | Kun syntakstjek. Returnerer diagnostik uden at køre noget. Makroer udfoldes ikke, så behandl makrotunge fejl som vejledende. |
GET/v1/run/{run_id} | Hent en færdig kørsel, dens filer eller en forhåndsvisning eller download af et datasæt. Resultaterne lever i én time og kræver kørslens adgangstoken. |
Start uden nøgle. Tilføj en, når du får brug for mere plads.
| Niveau | Godkendelse | Anmodningsgrænse | Timeout |
|---|---|---|---|
| Anonym | Ingen nøgle påkrævet | 1.000 req./t pr. IP | 30 sekunder |
| Free | E-mailtilmelding | 1.500 req./t | 60 sekunder |
| Pro | API-nøgle | 10.000 req./t | 5 minutter |
| Enterprise | API-nøgle | Efter aftale | Efter aftale |
Den samme eksekveringsmotor ligger bag dem alle, så kode, en agent har valideret via API'et, opfører sig ens, når en person åbner den.
Ingen nøgle nødvendig for at komme i gang. Aldrig nogen SAS-licens.