Felo API PlatformFelo API Platform

Configure Harness

Landing Page Task API

Generate landing pages asynchronously and query task history.

POST/v2/landing_page

Authentication

Bearer API key

Content type

application/json or multipart/form-data

Rate notes

Endpoint-specific limits may apply.

The Landing Page Task API provides asynchronous landing page generation capabilities. You create a task first, then reuse the existing task polling APIs to query progress and results.

Authentication

All requests require an API Key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Create Landing Page Task

Endpoint

POST https://openapi.felo.ai/v2/landing_page

Request Headers

HeaderRequiredDescription
AuthorizationYesYour API Key in the format Bearer YOUR_API_KEY
Content-TypeYesapplication/json or multipart/form-data

Request Body

ParameterTypeRequiredDescription
querystringYesLanding page generation request prompt
stream_protocolstringNoStream protocol. Default: message_center_v1
livedoc_short_idstringNoExisting LiveDoc short ID to use as context
resource_idsarray of stringsNoLiveDoc resource IDs to use as context

Example

curl -X POST 'https://openapi.felo.ai/v2/landing_page' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "Generate a landing page for Felo Search"
  }'

Create With File

Use multipart/form-data to upload one file with the Landing Page task request. The file is uploaded as a LiveDoc resource first, then its resource ID is passed to the Landing Page task.

curl -X POST 'https://openapi.felo.ai/v2/landing_page' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'query=Generate a landing page from this product brief' \
  -F '[email protected]'

Optional multipart parts:

ParameterTypeRequiredDescription
stream_protocolstringNoStream protocol. Default: message_center_v1
livedoc_short_idstringNoExisting LiveDoc short ID. If omitted, a new LiveDoc is created

Success Response (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9"
  }
}

Response Fields

FieldTypeDescription
task_idstringAsync task identifier for subsequent polling

Poll Task Status

Landing Page tasks reuse the same task polling APIs as PPT tasks.

Endpoint

GET https://openapi.felo.ai/v2/tasks/{task_id}/status

Example

curl -X GET 'https://openapi.felo.ai/v2/tasks/019cad6d-e874-55ef-d577-686344b5a7e9/status' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Query Task Historical Info

Endpoint

GET https://openapi.felo.ai/v2/tasks/{task_id}/historical

Example

curl -X GET 'https://openapi.felo.ai/v2/tasks/019cad6d-e874-55ef-d577-686344b5a7e9/historical' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY'

AI_PAGE Completed Response Example

{
  "status": "ok",
  "message": null,
  "data": {
    "task_id": "019d7a4d-6ab5-a96d-0f98-43ca434ab621",
    "task_status": "COMPLETED",
    "ppt_biz_id": "9qiLTmT77fA3aVurrMHvRJ",
    "ppt_url": "https://felo.ai/slides/9qiLTmT77fA3aVurrMHvRJ",
    "ai_page_html": "https://felo.ai/ai-page/9qiLTmT77fA3aVurrMHvRJ"
  }
}

Refer to the PPT Task API for the shared polling response examples and status semantics.

Error Codes

CodeHTTP StatusDescription
INVALID_API_KEY401API Key is invalid or revoked
LANDING_PAGE_TASK_CREATE_FAILED502Landing page task creation failed
INSUFFICIENT_CREDITS402Insufficient credits available