DataEcho Sites API
The Sites API from DataEcho — 10 operation(s) for sites.
The Sites API from DataEcho — 10 operation(s) for sites.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/dataecho-ai:dataecho-ai-sites-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: DataEcho Public Sites API
version: 1.0.0
description: Publish any file or folder to a live, edge-served URL in seconds — no account, no sign-up — using ordinary HTTP. Plus private, versioned cloud Drives for agent memory, context, and handoff.
contact:
name: DataEcho
url: https://dataecho.ai
servers:
- url: https://dataecho.ai
security:
- bearerAuth: []
tags:
- name: Sites
paths:
/api/v1/publish:
post:
summary: Create a site; returns presigned uploads + finalizeUrl
tags:
- Sites
security:
- bearerAuth: []
- {}
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- files
properties:
files:
type: array
items:
type: object
required:
- path
- size
- contentType
properties:
path:
type: string
size:
type: integer
contentType:
type: string
hash:
type: string
description: SHA-256 hex; enables incremental deploys
ttlSeconds:
type:
- integer
- 'null'
spaMode:
type: boolean
viewer:
type: object
properties:
title:
type: string
description:
type: string
ogImagePath:
type: string
responses:
'201':
description: Created (anonymous adds claimToken/claimUrl/expiresAt)
operationId: postApiV1Publish
x-operation-id-source: derived
/api/v1/publish/{slug}:
get:
summary: Site details + full manifest
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: getApiV1PublishBySlug
x-operation-id-source: derived
put:
summary: Update site (new version)
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: putApiV1PublishBySlug
x-operation-id-source: derived
delete:
summary: Hard delete site + files
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: deleteApiV1PublishBySlug
x-operation-id-source: derived
/api/v1/publish/{slug}/finalize:
post:
summary: Make the uploaded version live
tags:
- Sites
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: postApiV1PublishBySlugFinalize
x-operation-id-source: derived
/api/v1/publish/{slug}/uploads/refresh:
post:
summary: Refresh expired presigned URLs
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: postApiV1PublishBySlugUploadsRefresh
x-operation-id-source: derived
/api/v1/publish/{slug}/claim:
post:
summary: Claim an anonymous site via claimToken
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: postApiV1PublishBySlugClaim
x-operation-id-source: derived
/api/v1/publish/{slug}/duplicate:
post:
summary: Server-side copy under a new slug
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: postApiV1PublishBySlugDuplicate
x-operation-id-source: derived
/api/v1/publish/{slug}/metadata:
patch:
summary: TTL, viewer, password, spaMode
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: patchApiV1PublishBySlugMetadata
x-operation-id-source: derived
/api/v1/publish/from-drive:
post:
summary: Publish a Drive version as a site
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: postApiV1PublishFromDrive
x-operation-id-source: derived
/api/v1/publishes:
get:
summary: List owned sites
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: getApiV1Publishes
x-operation-id-source: derived
/api/v1/publishes/search:
get:
summary: Search owned sites (q, limit, cursor)
tags:
- Sites
security:
- bearerAuth: []
responses:
'200':
description: OK
4XX:
description: Error (see error model)
operationId: getApiV1PublishesSearch
x-operation-id-source: derived
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key or drive token (drv_live_…) where noted.