Documentation

SDK

The BSOS API can be integrated from any backend that can send HTTPS requests. Official SDKs may be added later; for now, integrations can use standard HTTP clients.

Overview

BSOS does not require a complex SDK to get started. You can send business signals directly to the API using cURL, Python, JavaScript, or any backend language that supports HTTP requests.

API keys should only be used from secure server-side environments. Do not expose BSOS credentials in frontend applications.

Base Configuration

BSOS_API_BASE_URL=https://api.priorityengineai.com/api/v1
BSOS_API_KEY=YOUR_API_KEY

cURL

curl -X POST "https://api.priorityengineai.com/api/v1/signals/analyze" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "workspace_123",
    "source": "email",
    "subject": "Contract renewal question",
    "body": "Hi, can you confirm the renewal terms before Friday?",
    "sender": "client@example.com",
    "received_at": "2026-07-04T12:30:00Z"
  }'

Python

import requests

BSOS_API_BASE_URL = "https://api.priorityengineai.com/api/v1"
BSOS_API_KEY = "YOUR_API_KEY"

payload = {
    "workspace_id": "workspace_123",
    "source": "email",
    "subject": "Contract renewal question",
    "body": "Hi, can you confirm the renewal terms before Friday?",
    "sender": "client@example.com",
    "received_at": "2026-07-04T12:30:00Z",
}

response = requests.post(
    f"{BSOS_API_BASE_URL}/signals/analyze",
    headers={
        "Authorization": f"Bearer {BSOS_API_KEY}",
        "Content-Type": "application/json",
    },
    json=payload,
    timeout=30,
)

response.raise_for_status()

decision = response.json()

print(decision)

JavaScript

const BSOS_API_BASE_URL = "https://api.priorityengineai.com/api/v1";
const BSOS_API_KEY = "YOUR_API_KEY";

const payload = {
  workspace_id: "workspace_123",
  source: "email",
  subject: "Contract renewal question",
  body: "Hi, can you confirm the renewal terms before Friday?",
  sender: "client@example.com",
  received_at: "2026-07-04T12:30:00Z"
};

async function analyzeSignal() {
  const response = await fetch(`${BSOS_API_BASE_URL}/signals/analyze`, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${BSOS_API_KEY}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify(payload)
  });

  if (!response.ok) {
    throw new Error(`BSOS API error: ${response.status}`);
  }

  const decision = await response.json();

  console.log(decision);
}

analyzeSignal();

Recommended Backend Flow

1

Receive the business input

Your application receives an email, task, CRM event, support message, or internal operational signal.

2

Normalize the data

Extract the fields BSOS needs: workspace, source, subject, body, sender, timestamp, and any relevant metadata.

3

Send the signal to BSOS

Submit the normalized payload to the analyze endpoint from your backend using your API key.

4

Store or act on the decision

Save the decision ID, display the priority, trigger routing, or use the recommended action in your own workflow.

Security Notes

  • Use BSOS API keys only from backend services.
  • Never expose API keys in browser JavaScript.
  • Keep production and development keys separate.
  • Use HTTPS for all API communication.
  • Log decision IDs, but avoid logging sensitive message bodies unnecessarily.

Next Step

Continue with Examples to see practical BSOS integration patterns.

Continue to Examples