Skip to main content
POST
Upload an ad video

Request contract

  • Method and path: POST /apis/v1/ads/videos
  • Availability: enabled
  • Request URL template: https://api.aisa.one/apis/v1/ads/videos
  • connectionId: query; required
  • Runtime facts: fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09
Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

connectionId
string
required

The ads connection (adc_...) the request runs on: one of yours, from GET /apis/v1/ads/connections. On a request with a JSON body it may be sent as a top-level body member instead.

Pattern: ^adc_[0-9A-Za-z]+$

Body

application/json
adAccountId
string
required

Platform ad account id (Meta act_, Google customer id, LinkedIn account id, ...).

async
boolean
default:false

true: answer 202 once Meta accepts the upload instead of waiting for processing. Poll GET /apis/v1/ads/videos/{videoId} or subscribe to ad.video.processed.

connectionId
string

The ads connection (adc_...), when not sent as the connectionId query parameter.

Pattern: ^adc_[0-9A-Za-z]+$
filename
string

Optional file name, sent to Meta as the video's name and title so it shows and is searchable in the Ads Manager media library. Applies to both videoUrl and videoBase64.

Maximum string length: 255
name
string

Optional video name shown in the Ads Manager media library. Takes precedence over filename.

Maximum string length: 255
videoBase64
string

Raw base64 video bytes, or a full data URL (the data:video/...;base64, prefix is stripped). Capped by Vercel's body limit (~4.5 MB payload). Provide exactly one of videoUrl or videoBase64.

videoUrl
string

Public https URL of the video; downloaded server-side (SSRF-guarded) before chunked upload. Provide exactly one of videoUrl or videoBase64.

Response

Video uploaded and ready

adAccountId
string
video
object