95 lines
2.3 KiB
YAML
95 lines
2.3 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: URL Sandbox API
|
|
version: 0.1.0
|
|
description: API for analyzing and extracting website artifacts.
|
|
|
|
servers:
|
|
- url: http://localhost:5000/api
|
|
description: Local development
|
|
|
|
paths:
|
|
/screenshot:
|
|
post:
|
|
summary: Capture a screenshot of a website
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- url
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: "http://example.com"
|
|
responses:
|
|
'200':
|
|
description: Screenshot image returned
|
|
content:
|
|
image/png: {}
|
|
'400':
|
|
description: Invalid request
|
|
|
|
/source:
|
|
post:
|
|
summary: Retrieve HTML source of a website
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- url
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: "http://example.com"
|
|
responses:
|
|
'200':
|
|
description: Raw HTML source
|
|
content:
|
|
text/html:
|
|
schema:
|
|
type: string
|
|
'400':
|
|
description: Invalid request
|
|
|
|
/analyse:
|
|
post:
|
|
summary: Run full analysis on a website
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- url
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: "http://example.com"
|
|
responses:
|
|
'200':
|
|
description: JSON with enrichment and analysis results
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
whois:
|
|
type: object
|
|
geoip:
|
|
type: object
|
|
flags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
'400':
|
|
description: Invalid request
|