Skip to main content
POST
/
core.v1.PoliciesService
/
CreateRegoCodeFromNaturalLanguage
cURL
curl -X POST "https://api.joinformal.com/core.v1.PoliciesService/CreateRegoCodeFromNaturalLanguage" \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "example": "value"
  }'
fetch("https://api.joinformal.com/core.v1.PoliciesService/CreateRegoCodeFromNaturalLanguage", {
method: "POST",
headers: {
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
example: "value"
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
import requests

url = "https://api.joinformal.com/core.v1.PoliciesService/CreateRegoCodeFromNaturalLanguage"
headers = {
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"example": "value"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
package main

import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)

func main() {
url := "https://api.joinformal.com/core.v1.PoliciesService/CreateRegoCodeFromNaturalLanguage"

body := map[string]string{
"example": "value",
}

jsonData, _ := json.Marshal(body)

req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("X-API-KEY", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")

client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()

responseBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(responseBody))
}
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.joinformal.com/core.v1.PoliciesService/CreateRegoCodeFromNaturalLanguage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'naturalLanguagePrompt' => '<string>',
'skipValidation' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
HttpResponse<String> response = Unirest.post("https://api.joinformal.com/core.v1.PoliciesService/CreateRegoCodeFromNaturalLanguage")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"naturalLanguagePrompt\": \"<string>\",\n \"skipValidation\": true\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.joinformal.com/core.v1.PoliciesService/CreateRegoCodeFromNaturalLanguage")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"naturalLanguagePrompt\": \"<string>\",\n \"skipValidation\": true\n}"

response = http.request(request)
puts response.read_body
{
  "code": "<string>",
  "name": "<string>",
  "description": "<string>",
  "valid": true,
  "validationError": "<string>"
}
{
"code": "invalid_request",
"message": "Invalid request parameters",
"details": {}
}
{
"code": "unauthorized",
"message": "Authentication required"
}
{
"code": "forbidden",
"message": "Insufficient permissions to perform this action"
}
{
"code": "not_found",
"message": "Resource not found"
}
{
"code": "internal_error",
"message": "An internal error occurred"
}

Authorizations

X-API-KEY
string
header
required

API key authentication. Get your API key from the Formal console.

Body

application/json
naturalLanguagePrompt
string

Natural language description of the desired policy or permission. May include context such as existing code, validation errors, or org context composed by the caller.

Required string length: 1 - 10000
mode
enum<string>

"policy" (formal.v2) or "permission" (formal.app).

Available options:
policy,
permission
skipValidation
boolean

When true, skip OPA validation and retry loop. Defaults to false (validate).

Response

Success

code
string
name
string
description
string
valid
boolean
validationError
string