Zoeken wordt pas geladen wanneer je het gebruikt. Bekijk hieronder alle categorieën.

Media en bestanden

Mediabestanden weergeven

Toon de mediabestanden van een werkruimte, gefilterd op type (video, image, audio, cover, thumbnail, frame, video-source, branding) of customer_ready_only, met next_offset-paginering. workspace_id is verplicht.

POST /assets-api/list-workspace

Contract beoordeeld: · sha256:563d2d581da0ad29

Overzicht

Toon de mediabestanden van een werkruimte, gefilterd op type (video, image, audio, cover, thumbnail, frame, video-source, branding) of customer_ready_only, met next_offset-paginering. workspace_id is verplicht.

Een geslaagd HTTP-antwoord kan acceptatie betekenen in plaats van voltooiing. Bewaar bij achtergrondwerk de teruggegeven ID en controleer dezelfde bewerking totdat die klaar is. Een ingepland of geaccepteerd bericht is pas gepubliceerd na platformbevestiging; een client-time-out bepaalt het resultaat niet.

Authenticatie en machtigingen

Toegestane soorten inloggegevens
user_session, delegated_oauth, personal_access_token
Gedelegeerde bevoegdheid
agent:operate
Minimale werkruimterol
viewer
Toegangsbereik
Resources waartoe deze gebruiker toegang heeft
Toestemming voor alle werkruimten vereist
Nee
Wijzigt status
Nee
Wanneer de bewerking voltooid is
synchronous_http_response

Een token kan alleen rechten van de eigenaar gebruiken. Elk verzoek controleert werkruimtelidmaatschap, resource-eigendom, geselecteerde werkruimten en verleende bevoegdheden. De profielen core en full bepalen welke tools zichtbaar zijn; ze verlenen geen toegang.

Verzoekvelden

Verplicht betekent verplicht binnen het bovenliggende object en de gekozen variant. Een verplicht onderliggend veld maakt een optioneel bovenliggend object niet verplicht. Onderstaande regels en veldnamen zijn uit het contract gekopieerd.

Verzoekvelden
Veld / variantType / verplichtBeperkingen
$objectVerplicht in bovenliggend object—
workspace_idstringVerplicht in bovenliggend object
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
kindstringOptioneel / item
  • enum: ["video","image","audio","cover","thumbnail","frame","video-source","branding"]
customer_ready_onlybooleanOptioneel / item
  • default: false
limitintegerOptioneel / item
  • minimum: 1
  • maximum: 100
  • default: 24
offsetintegerOptioneel / item

Over te slaan rijen. Beschikbaar tot 100000; daarboven 400 OFFSET_TOO_LARGE.

  • minimum: 0
  • maximum: 9007199254740991
  • default: 0
Volledig JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "kind": {
      "type": "string",
      "enum": [
        "video",
        "image",
        "audio",
        "cover",
        "thumbnail",
        "frame",
        "video-source",
        "branding"
      ]
    },
    "customer_ready_only": {
      "default": false,
      "type": "boolean"
    },
    "limit": {
      "default": 24,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Rows to skip. Served up to 100000; beyond it 400 OFFSET_TOO_LARGE.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "workspace_id"
  ]
}

Antwoord en voltooiing

HTTP-statuscodes bij succes: 200. Wanneer de bewerking voltooid is: synchronous_http_response.

Een geslaagd HTTP-antwoord kan acceptatie betekenen in plaats van voltooiing. Bewaar bij achtergrondwerk de teruggegeven ID en controleer dezelfde bewerking totdat die klaar is. Een ingepland of geaccepteerd bericht is pas gepubliceerd na platformbevestiging; een client-time-out bepaalt het resultaat niet.

Verplicht betekent verplicht binnen het bovenliggende object en de gekozen variant. Een verplicht onderliggend veld maakt een optioneel bovenliggend object niet verplicht. Onderstaande regels en veldnamen zijn uit het contract gekopieerd.

Antwoord en voltooiing
Veld / variantType / verplichtBeperkingen
$objectVerplicht in bovenliggend object—
assetsarrayVerplicht in bovenliggend object—
assets[]objectOptioneel / item—
assets[].idinteger | stringVerplicht in bovenliggend object—
assets[].idanyOf 1integerVerplicht in bovenliggend object
  • minimum: -9007199254740991
  • maximum: 9007199254740991
assets[].idanyOf 2stringVerplicht in bovenliggend object—
assets[].asset_typestringVerplicht in bovenliggend object
  • enum: ["text","image","video","audio"]
assets[].asset_urlstring | nullVerplicht in bovenliggend object—
assets[].asset_urlanyOf 1stringVerplicht in bovenliggend object
  • format: "uri"
assets[].asset_urlanyOf 2nullVerplicht in bovenliggend object—
assets[].preview_urlstring | nullOptioneel / item

Tijdelijke lees-URL met werkruimtetoestemming. Vernieuw via Asset lezen/weergeven na preview_expires_at; behoud asset_url als blijvende media-identiteit.

—
assets[].preview_urlanyOf 1stringOptioneel / item
  • format: "uri"
assets[].preview_urlanyOf 2nullOptioneel / item—
assets[].preview_expires_atstring | nullOptioneel / item—
assets[].preview_expires_atanyOf 1stringOptioneel / item
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
assets[].preview_expires_atanyOf 2nullOptioneel / item—
assets[].titlestring | nullVerplicht in bovenliggend object—
assets[].titleanyOf 1stringVerplicht in bovenliggend object—
assets[].titleanyOf 2nullVerplicht in bovenliggend object—
assets[].descriptionstring | nullVerplicht in bovenliggend object—
assets[].descriptionanyOf 1stringVerplicht in bovenliggend object—
assets[].descriptionanyOf 2nullVerplicht in bovenliggend object—
assets[].tagsarray | nullVerplicht in bovenliggend object—
assets[].tagsanyOf 1arrayVerplicht in bovenliggend object—
assets[].tags[]anyOf 1stringOptioneel / item—
assets[].tagsanyOf 2nullVerplicht in bovenliggend object—
assets[].created_atstringVerplicht in bovenliggend object
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
assets[].readinessobjectVerplicht in bovenliggend object—
assets[].readiness.statusstringVerplicht in bovenliggend object
  • enum: ["ready","not_ready"]
assets[].readiness.reason_codestringVerplicht in bovenliggend object
  • enum: ["ready","unsupported_kind","missing_registered_media","untrusted_workspace_object","media_probe_missing_or_invalid"]
assets[].readiness.messagestringVerplicht in bovenliggend object
  • minLength: 1
  • maxLength: 500
totalintegerVerplicht in bovenliggend object
  • minimum: 0
  • maximum: 9007199254740991
next_offsetinteger | nullVerplicht in bovenliggend object—
next_offsetanyOf 1integerVerplicht in bovenliggend object
  • minimum: 0
  • maximum: 9007199254740991
next_offsetanyOf 2nullVerplicht in bovenliggend object—
Volledig JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "assets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "string"
              }
            ]
          },
          "asset_type": {
            "type": "string",
            "enum": [
              "text",
              "image",
              "video",
              "audio"
            ]
          },
          "asset_url": {
            "anyOf": [
              {
                "type": "string",
                "format": "uri"
              },
              {
                "type": "null"
              }
            ]
          },
          "preview_url": {
            "description": "Workspace-authorized temporary read URL. Refresh through Asset read/list after preview_expires_at; keep asset_url as persisted media identity.",
            "anyOf": [
              {
                "type": "string",
                "format": "uri"
              },
              {
                "type": "null"
              }
            ]
          },
          "preview_expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "tags": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "readiness": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "ready",
                  "not_ready"
                ]
              },
              "reason_code": {
                "type": "string",
                "enum": [
                  "ready",
                  "unsupported_kind",
                  "missing_registered_media",
                  "untrusted_workspace_object",
                  "media_probe_missing_or_invalid"
                ]
              },
              "message": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              }
            },
            "required": [
              "status",
              "reason_code",
              "message"
            ]
          }
        },
        "required": [
          "id",
          "asset_type",
          "asset_url",
          "title",
          "description",
          "tags",
          "created_at",
          "readiness"
        ]
      }
    },
    "total": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "next_offset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "assets",
    "total",
    "next_offset"
  ]
}

Fouten en veilig opnieuw proberen

Controleer de HTTP-status en antwoordinhoud. Een 400-validatiefout kan een ZodError bevatten; afhandelingsfouten gebruiken de velden error, message en code. Bewaar request_id of x-request-id voor diagnose, zonder inloggegevens. Los 401/403-toegangsfouten op voordat je opnieuw probeert en volg Retry-After bij 429. Lees bij een onzekere schrijfhandeling of 5xx eerst het bestaande resultaat. Hergebruik een idempotentiesleutel alleen waar dit wordt ondersteund; het gedrag bij opnieuw proberen verschilt per bewerking en garandeert geen precies eenmalige aflevering.

Handleiding voor probleemoplossing

Voorbeelden

Deze voorbeelden gebruiken fictieve waarden die tegen de schema's zijn gecontroleerd. Vervang IDs door toegestane IDs, media door gereedstaande bestanden en datums door je bevestigde publicatietijd. Controleer accountgeschiktheid vóór een schrijfhandeling. Deze pagina verstuurt geen API-verzoeken.

Stel SOSOAPI_ACCESS_TOKEN op je server in op inloggegevens die deze bewerking accepteert en houd deze uit browsercode. Gebruik voor een agent sosoapi auth login om via de browser aan te melden en laat de CLI de inloggegevens vernieuwen.

request.json

{
  "workspace_id": "11111111-1111-4111-8111-111111111111"
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/assets-api/list-workspace" \
  -H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

JavaScript

// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/assets-api/list-workspace", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /assets-api/list-workspace < request.json

Voorbeeld van een synthetisch antwoord

{
  "assets": [],
  "total": 0,
  "next_offset": null
}

MCP: sosoapi_list_assets