Skip to content

Run instant business scan

POST
/api/v1/onboarding/scan
curl --request POST \
--url https://api.ultimateteam.ai/api/v1/onboarding/scan \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "business_name": "example", "website_url": "example" }'

Run a 60-90 second scan using only public data to deliver 3-5 actionable insights about the business.

Media typeapplication/json
ScanRequest

Request body for POST /api/v1/onboarding/scan.

Attributes: business_name: Legal or trading name of the business. website_url: Primary website URL to scan.

object
business_name
required
Business Name

Legal or trading name of the business

string
>= 1 characters <= 200 characters
website_url
required
Website Url

Primary website URL to scan

string
>= 3 characters <= 500 characters
Examplegenerated
{
"business_name": "example",
"website_url": "example"
}

Successful Response

Media typeapplication/json
ScanResponse

Response for POST /api/v1/onboarding/scan and GET …/scan/:id.

object
data
required
ScanData

Payload returned when a scan completes.

Attributes: scan_id: Unique identifier for this scan. insights: List of actionable business insights. scan_duration_seconds: How long the scan took. status: Lifecycle state matching the Phase 208 vocabulary. degraded: True when the fallback extraction was used. failure_reason: Structured reason when status in {degraded, failed}.

object
business_name
Any of:
string
degraded
Degraded

True when fallback extraction was used

boolean
extracted_data
Any of:
object
key
additional properties
any
failure_reason
Any of:
string
<= 500 characters
from_cache
From Cache

True when replaying a cached result for the same tenant.

boolean
insights
Insights
Array<object>
ScanInsightItem

A single actionable insight from the business scan.

Attributes: title: Short headline for the insight. description: Detailed explanation of why it matters. action: Concrete next step the owner can take. impact_score: Score from 0.0 to 1.0 indicating potential impact.

object
action
required
Action
string
category
Any of:
InsightCategory

Category tags for business-scan insights.

string
Allowed values: seo social reviews competitors tech_stack pricing content performance local
description
required
Description
string
impact_score
required
Impact Score
number
<= 1
source_url
Any of:
string
title
required
Title
string
scan_duration_seconds
Scan Duration Seconds
number
0
scan_id
Scan Id

Unique identifier for this scan

string
status
ScanStatus

Lifecycle state matching Phase 208 vocabulary

string
default: complete
Allowed values: queued crawling extracting complete degraded failed
website_url
Any of:
string
meta
ApiMeta

Standard metadata included in every API response.

Attributes: request_id: Unique identifier for request tracing. timestamp: UTC timestamp of the response.

object
request_id
Request Id

Unique identifier for request tracing

string
timestamp
Timestamp

UTC timestamp of the response

string format: date-time
Example
{
"data": {
"degraded": false,
"from_cache": false,
"insights": [
{
"category": "seo"
}
],
"scan_duration_seconds": 0,
"status": "queued"
}
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}