Hoppa till innehåll
Clevera Help Center

Använd Clevera REST API

Anropa Clevera från dina egna skript: bas-URL, autentisering med bearer-token, slutpunkter och vilka behörigheter som krävs för varje, flödet för betalt arbete (offert följt av start), idempotens, felformat och hastighetsbegränsningar.

Uppdaterad 8 min läsning

Cleveras REST API låter dina egna skript och tjänster göra det som en agent kan göra via MCP: läsa ditt bibliotek, begära videor och artiklar, exportera videor, arbeta på dokumentationssajter och följa jobb. Den här artikeln täcker bas-URL, autentisering, begäranflödet för betalt arbete, fel och hastighetsbegränsningar.

Grunderna

Bas-URL https://app.clevera.ai/api/v1
Autentisering Authorization: Bearer <token> med en API-token (den börjar med clv_agent_)
Format JSON in och ut. Skicka Accept: application/json och, med en body, Content-Type: application/json.
Id:n Publika id:n, såsom job_… för jobb. Använd de id:n som API:et returnerar.

Kontrollera en token med GET /docs/me:

Terminal
curl -H "Authorization: Bearer $CLEVERA_TOKEN" \
     -H "Accept: application/json" \
     https://app.clevera.ai/api/v1/docs/me

Svaret anger vem token agerar som: token-namn och utgångsdatum, personen och dennes nuvarande roll, arbetsytan, sajterna i omfattningen och de behörigheter som fungerar just nu (token-behörigheterna begränsade till personens nuvarande roll). Anropa detta först när ett anrop nekas.

Slutpunkter

Varje slutpunkt kräver den visade behörigheten. Att anropa en utan den returnerar 403 forbidden_ability. Se Agentbehörigheter.

Bibliotek och material

Metod och sökväg Behörighet Vad den gör
GET /create/types any De video- och sociala klipptyper du kan begära.
GET /library library:read Videor, inspelningar och artiklar som token-ägaren kan se.
GET /recordings library:read Endast inspelningar.
GET /library/{item} library:read Ett objekt.
GET /library/{item}/transcript library:read Dess transkription.
GET /library/{item}/article library:read Dess artikel.
GET /library/{item}/embed library:read Dess inbäddningskod.
GET /materials library:read Uppladdade bilder, videor och PDF-filer.
POST /materials, POST /materials/import, POST /materials/uploads, POST /materials/uploads/{upload_id}/complete materials:write Lägg till en bild, video eller PDF (direkt, från en URL eller som en stor uppladdning).

Videor och artiklar

Metod och sökväg Behörighet Vad den gör
POST /videos/quotes videos:create Begär offert för en video från en inspelning (type: how_to, product_demo, cleanup, styled_video), en artikel från en inspelning (article) eller en översättning (translation).
POST /videos videos:create + credits:spend Skapa den offererade videon (quote_id).
POST /articles/from-recording videos:create + credits:spend Skapa den offererade artikeln.
POST /videos/translations videos:create + credits:spend Skapa den offererade översättningen.
POST /clips/quotes videos:create Begär offert för ett socialt klipp (typer från GET /create/types).
POST /clips videos:create + credits:spend Skapa det offererade sociala klippet.
POST /videos/{video_id}/exports videos:export Rendera en MP4: resolution 1080p (standard), 2k eller 4k; alltid 60 fps. Gratis.

Jobb och krediter

Metod och sökväg Behörighet Vad den gör
POST /quotes arbetets behörighet En offert för valfri jobbtyp.
POST /jobs arbetets behörighet (+ credits:spend vid betalning) Starta ett offererat jobb.
GET /jobs jobs:read Lista jobb.
GET /jobs/{job} jobs:read Ett jobbs status och resultat.
GET /jobs/{job}/wait jobs:read Vänta på en ändring istället för att polla.
GET /jobs/{job}/events jobs:read Jobbets förloppshändelser.
POST /jobs/{job}/cancel jobs:read Avbryt ett jobb. För sent: "Detta jobb kan inte längre avbrytas."
GET /credits credits:spend eller jobs:read Arbetsytans kreditsaldo.

Dokumentationssajter

Metod och sökväg Behörighet Vad den gör
GET /docs/sites, GET /docs/sites/{site}, GET /docs/sites/{site}/tree, GET /docs/sites/{site}/pages content:read Sajter i token-omfattningen och deras sidor.
GET /docs/sites/{site}/search, GET /docs/pages/{page}, GET /docs/pages/{page}/revisions content:read Sök och läs sidor, inklusive utkast.
POST /docs/sites/{site}/articles, PATCH /docs/pages/{page}/article, POST /docs/pages/{page}/review articles:write Skapa och redigera utkast till artiklar, skicka in för granskning. Live-artiklar kräver även site:publish.
PATCH /docs/pages/{page}, DELETE /docs/pages/{page}, POST /docs/sites/{site}/sections, PATCH /docs/sections/{section} structure:write Flytta, döpa om, dölja och ta bort sidor; sektioner.
GET/POST /docs/sites/{site}/site-pages, PUT /docs/site-pages/{page}/body content:read / site-pages:write Startsida, kontaktsida och juridiska sidor.
GET/POST /docs/sites/{site}/changelog, PATCH /docs/changelog/{entry} content:read / changelog:write Ändringsloggposter som utkast.
POST /docs/media, POST /docs/media/uploads media:write Ladda upp bilder.
POST /docs/sites/{site}/publish, POST /docs/pages/{page}/ready, POST /docs/changelog/{entry}/publish site:publish Publicera det läsare ser.
GET /insights/sites/{site}, …/gaps, …/feedback insights:read Sökglapp, obesvarade frågor, sidfeedback.
PATCH /docs/sites/{site}/settings, …/appearance, PUT …/navigation, POST …/redirects site:configure Sajtinställningar.
POST /docs/sites sites:create Skapa en dokumentationssajt.

Mer om agenter och dokumentationssajter: Anslut AI-agenter till dina dokumentationssajter.

Arbete som kostar krediter kräver alltid en offert först, sedan start:

  1. Begär offert. POST /videos/quotes (eller /clips/quotes) med vad du vill ha. Svaret innehåller en quote_id och kreditintervallet. En offert är giltig i 15 minuter och kan användas en gång.
  2. Testkör valfritt. Skicka starten med "dry_run": true för att se om det skulle starta, kräva godkännande eller blockeras. Ingenting skrivs.
  3. Starta. POST /videos med quote_id och en Idempotency-Key-header. Svaret är 202 med ett jobb.
  4. Följ. GET /jobs/{job}/wait tills jobbets status ändras, eller lyssna efter webhooks.
Quote, then start a how-to video
curl -X POST https://app.clevera.ai/api/v1/videos/quotes \
  -H "Authorization: Bearer $CLEVERA_TOKEN" -H "Content-Type: application/json" \
  -d '{"type": "how_to", "recording_id": "<recording id>", "language": "en-US"}'

curl -X POST https://app.clevera.ai/api/v1/videos \
  -H "Authorization: Bearer $CLEVERA_TOKEN" -H "Content-Type: application/json" \
  -H "Idempotency-Key: 3f6c1a2e-8d4b-4f7a-9c1e-2b5d7e9f0a13" \
  -d '{"quote_id": "<quote id>"}'

Jobbstatusar:

Status Betydelse
queued Accepterad, körs snart.
running Pågår.
needs_input Väntar på en person, vanligtvis ett godkännande under Agentförfrågningar. Jobbet innehåller en länk och ett utgångsdatum.
succeeded Klar. Jobbet länkar till den nya videon eller artikeln.
failed Misslyckades; jobbet har en error_code.
canceled Avbruten, eller så nekades godkännandet.
expired Ingen godkände det inom 24 timmar.

Huruvida en start körs direkt eller väntar på en person beror på token-utgiftstak och inställningen Godkänn automatiskt nedan. Se Kontrollera agentutgifter och godkännanden.

Försök igen och idempotens

Skicka en Idempotency-Key-header (en ny UUID per åtgärd) vid varje skapande och start. Om nätverket bryts och du försöker igen med samma nyckel och body, får du det första svaret tillbaka istället för en ny video. Nycklar sparas i 24 timmar.

Kod Betydelse
idempotency_key_reused Samma nyckel med en annan body. Använd en ny nyckel för en ny begäran.
idempotency_in_progress Den första begäran med denna nyckel körs fortfarande. Vänta och försök igen.
idempotency_conflict "Denna idempotensnyckel användes för en annan begäran."

Fel

Varje fel har samma form, med ett meddelande som anger vad du ska göra härnäst:

{
  "error": {
    "code": "forbidden_ability",
    "message": "This token lacks the videos:create ability. Ask the workspace member who owns it for a token that has it.",
    "details": { "ability": "videos:create" }
  },
  "request_id": "req_example"
}

Inkludera request_id när du kontaktar supporten.

HTTP Koder Vanlig orsak
401 unauthenticated, token_expired, token_revoked Ingen token, felaktig token, eller en som gått ut eller återkallats.
402 insufficient_credits Arbetsytan har inte tillräckligt med krediter för offerten.
403 forbidden_ability, forbidden_role, forbidden_item, ip_not_allowed, live_content_needs_publish, site_paused, forbidden Saknad behörighet, ägarens roll, samlingsåtkomst eller IP-tillåtelselista.
403 plan_locked "Agent-API:et ingår inte i denna arbetsytas plan. Det ingår i Pro och uppåt."
404 not_found, unknown_kind "Inget … med det id:t i denna tokens omfattning. Lista eller sök först och använd ett returnerat id."
409 revision_conflict, quote_used, not_cancelable, idempotency_* Innehållet ändrades, offerten användes eller en konflikt vid nytt försök.
410 quote_expired "Denna offert har gått ut. Be om en ny offert."
413 unsupported_media Filen är för stor eller inte av en typ som stöds.
422 validation_failed, invalid_input, quote_mismatch, limit_reached Ett fält är felaktigt; details namnger det.
429 rate_limited, cap_exceeded, busy För många förfrågningar, ett utgiftstak eller två starter samtidigt.

Varje meddelande, med lösningen: Åtgärda agent- och API-fel.

Hastighetsbegränsningar

Gräns Värde Meddelande
Förfrågningar per token 300 per minut "Denna token har överskridit sin hastighetsgräns för förfrågningar. Vänta och försök igen."
Förfrågningar per arbetsyta 1 200 per minut, alla tokens tillsammans "Denna arbetsyta har överskridit sin hastighetsgräns för agentförfrågningar. Vänta och försök igen."
Skrivningar per token 60 per minut "För många skrivningar från denna token. Vänta och försök igen."
Skrivningar per token per dag 2 000 "Denna token har nått sin dagliga skrivgräns. Försök igen imorgon."
Publiceringar per token 10 per timme "Denna token har nått sin timgräns för publiceringar. Försök igen senare."
Betalda starter 20 per timme per token, 100 per dag per arbetsyta rate_limited med retry_after
Uppladdningar 30 per minut; 500 MB per dag per token; 25 MB per fil "För många uppladdningar från denna token. Vänta och försök igen." / "Denna token har nått sin dagliga uppladdningsvolym. Försök igen imorgon."
Anrop utan giltig token 60 per minut per IP-adress "För många förfrågningar. Vänta och försök igen."

Ett 429-svar har en Retry-After-header och retry_after (sekunder) i bodyn. Vänta så länge innan du försöker igen. Läsningar, offerter och statuskontroller kostar inga krediter.