> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.voicecheap.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Gegenereerde afbeeldingen weergeven

> Geef de gegenereerde afbeeldingen van het verbonden account weer, met de nieuwste eerst. Bevat de status, afmetingen en vervaldatum; gebruik nextCursor voor de volgende pagina.

Geef de gegenereerde afbeeldingen van het verbonden account weer, met de nieuwste eerst. Bevat de status, afmetingen en vervaldatum; gebruik nextCursor voor de volgende pagina.

```http theme={null}
POST https://api.voicecheap.ai/v1/actions/images_list
```

## Authenticatie en machtigingen

<ParamField header="x-api-key" type="string" required>
  Stuur een VoiceCheap API-sleutel mee in deze header. Authorization: Bearer met dezelfde API-sleutel wordt ook ondersteund. OAuth-toegangstokens
  worden alleen door MCP geaccepteerd, niet door dit REST-endpoint.
</ParamField>

Vereiste machtigingen: `images:read`.

Een actief betaald abonnement is vereist. Machtigingen wijzigen geen teamrollen, eigendom van resources, mediategoed of abonnementslimieten.

## Parameters

<ParamField body="limit" type="integer">
  Gehele waarde.

  Minimum: 1. Maximum: 100. Standaardwaarde: 20.
</ParamField>

<ParamField body="cursor" type="string">
  De nextCursor van de vorige pagina.

  Minimale lengte: 1. Maximale lengte: 512.
</ParamField>

<Accordion title="Volledig invoerschema">
  Het onderstaande JSON Schema behoudt de exacte veldnamen, geneste typen, standaardwaarden, grenzen en toegestane waarden die discovery beschikbaar stelt. Aanvullende regels tussen velden staan in de opmerkingen bij de bewerking.

  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "limit": {
        "default": 20,
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "cursor": {
        "description": "The nextCursor from the previous page.",
        "type": "string",
        "minLength": 1,
        "maxLength": 512
      }
    },
    "additionalProperties": false
  }
  ```
</Accordion>

## Voorbeeldaanvragen

Vervang de voorbeeldidentificaties van resources en mediasleutels door waarden die voor je account zijn geretourneerd. Behoud dezelfde aanvraagidentificatie wanneer je dezelfde wijziging opnieuw probeert.

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST 'https://api.voicecheap.ai/v1/actions/images_list' \
    --header "x-api-key: $VOICECHEAP_API_KEY" \
    --header 'Content-Type: application/json' \
    --data '{"limit":20}'
  ```

  ```javascript JavaScript theme={null}
  const input = {
    limit: 20,
  };
  const response = await fetch('https://api.voicecheap.ai/v1/actions/images_list', {
    method: 'POST',
    headers: {
      'x-api-key': process.env.VOICECHEAP_API_KEY,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(input),
  });
  const body = await response.json();
  if (!response.ok) throw new Error(body.code + ': ' + body.message);
  console.log(body);
  ```

  ```python Python theme={null}
  import os
  import requests

  response = requests.post(
      "https://api.voicecheap.ai/v1/actions/images_list",
      headers={"x-api-key": os.environ["VOICECHEAP_API_KEY"]},
      json={"limit": 20},
      timeout=120,
  )
  body = response.json()
  if not response.ok:
      raise RuntimeError(f"{body.get('code')}: {body.get('message')}")
  print(body)
  ```
</RequestExample>

## Antwoord

Een geslaagde eerste uitvoering retourneert HTTP 200 met het resultaat van de bewerking onder data. Een herhaalde aanvraag kan in plaats daarvan de opgeslagen aanvraagstatus retourneren. Het voorbeeld toont één ondersteund antwoord, niet alle optionele velden.

Een pagina met metadata van afbeeldingen die via de app zijn gegenereerd door de gekoppelde gebruiker, nieuwste eerst. Een lege geschiedenis retourneert items: \[] en nextCursor: null.

<ResponseExample>
  ```json HTTP 200 theme={null}
  {
    "data": {
      "items": [
        {
          "generationId": "6224018c7635dcb933ce5c8f7804aea73738dd1c",
          "status": "completed",
          "aspectRatio": "square",
          "width": 1024,
          "height": 1024,
          "referenceImageCount": 1,
          "createdAt": 1792144800000,
          "updatedAt": 1792144820000,
          "expiresAt": 1792749600000
        }
      ],
      "nextCursor": null
    }
  }
  ```
</ResponseExample>

## Resultaatvelden

| Veld | Beschrijving |
| - | - |
| `data.items` | Array met afbeeldingsmetadataobjecten. |
| `data.items[].generationId` | ID die je ongewijzigd moet doorgeven aan images\_get of images\_download. |
| `data.items[].status` | pending, completed, failed of expired. De vervaltijd heeft voorrang op de opgeslagen status. |
| `data.items[].aspectRatio` | square, landscape of portrait. |
| `data.items[].width` | Uitvoerbreedte in pixels, of null voordat afmetingen beschikbaar zijn. |
| `data.items[].height` | Hoogte van de uitvoer in pixels, of null zolang de afmetingen niet beschikbaar zijn. |
| `data.items[].referenceImageCount` | Aantal gebruikte referentieafbeeldingen: 0 of 1. |
| `data.items[].createdAt` | Aanmaaktijdstip in Unix-milliseconden. |
| `data.items[].updatedAt` | Tijdstip van de laatste update in Unix-milliseconden. |
| `data.items[].expiresAt` | Tijdstip in Unix-milliseconden waarna de gegenereerde afbeelding niet meer kan worden gedownload. |
| `data.nextCursor` | Ondoorzichtige cursor voor de volgende pagina, of null als er geen volgende pagina beschikbaar is. |

## Opmerkingen bij de bewerking

* Vereist images:read. limit is standaard 20 en moet een geheel getal van 1 tot 100 zijn. cursor is optioneel en is beperkt tot 512 tekens.
* Geef nextCursor ongewijzigd door als cursor voor de volgende pagina. nextCursor is null aan het einde; er wordt aflopend gesorteerd op aanmaaktijdstip en generatie-ID.
* Deze actie gebruikt de eigen creaties en uploads van de gekoppelde gebruiker, ook wanneer het toegangsmiddel in een teamcontext is gekoppeld.
* Records tonen de status pending, completed, failed of expired. Afmetingen kunnen null zijn voor onafgeronde of mislukte generaties. Metadata kan expired melden voordat het opschonen een record verwijdert; dit maakt de afbeelding niet downloadbaar.
* Alleen door de app gegenereerde afbeeldingen horen bij deze geschiedenis. Gebruik images\_download voor de afbeeldingsgegevens; geschiedenissen bevatten geen afbeeldingsbytes of voorbeeld-URL's.

## Verbruik

Elke geslaagde aanroep verbruikt één maandelijkse API/MCP-aanroep. Ook het mediategoed en de eigen generatielimieten van de bewerking zijn van toepassing.

## Fouten

| HTTP-status | Code | Betekenis of herstel |
| - | - | - |
| 400 | `CREDENTIAL_IN_QUERY` | Inloggegevens zijn opgegeven in een queryparameter access\_token of api\_key. Stuur inloggegevens in headers. |
| 400 | `INVALID_CURSOR` | cursor is geen geldige geschiedeniscursor; gebruik de nextCursor die door de vorige pagina is geretourneerd. |
| 400 | `VALIDATION_ERROR` | Een argument ontbreekt, heeft een niet-ondersteunde waarde, overschrijdt de limiet of maakt geen deel uit van het strikte invoerschema. |
| 401 | `API_KEY_EXPIRED` | De API-sleutel is verlopen. |
| 401 | `INVALID_API_KEY` | Geef een geldige, niet-verlopen API-sleutel op. |
| 401 | `INVALID_CREDENTIAL` | De Authorization-header heeft een ongeldige indeling of is in strijd met x-api-key. |
| 401 | `MISSING_CREDENTIAL` | Er is geen bruikbaar authenticatiemiddel in de header opgegeven, of het overschreed 4096 tekens. |
| 401 | `USER_NOT_FOUND` | Het account dat bij de toegangsgegevens hoort, bestaat niet meer. |
| 403 | `AMBIGUOUS_TEAM_API_KEY` | De gebruiker van het authenticatiemiddel behoort tot meer dan één team, waardoor de factureringscontext onduidelijk is. |
| 403 | `INSUFFICIENT_SCOPE` | Verleen alle vereiste machtigingen of kies andere toegangsgegevens. |
| 403 | `INTEGRATION_PLAN_UNSUPPORTED` | De integratielimieten van het account konden niet worden geverifieerd. |
| 403 | `SUBSCRIPTION_REQUIRED` | Gebruik een actief betaald abonnement. |
| 403 | `TEAM_OWNER_NOT_FOUND` | Het effectieve account van de teameigenaar kon niet worden gevonden. |
| 429 | `INTEGRATION_MONTHLY_LIMIT_REACHED` | Wacht tot de maandelijkse reset of wijzig je abonnement. |
| 429 | `INTEGRATION_RATE_LIMIT_REACHED` | Wacht de tijd uit Retry-After af wanneer deze aanwezig is en vergroot de wachttijd tussen nieuwe pogingen. |
| 500 | `INTERNAL_ERROR` | Controleer de opgeslagen aanvraagstatus en de resourcegeschiedenis voordat je besluit een wijziging opnieuw te proberen. |
| 503 | `SERVER_RESTARTING` | De server wordt opnieuw gestart. Probeer het zo opnieuw en behoud bij een wijziging dezelfde aanvraagidentificatie. |

```json theme={null}
{
  "code": "INSUFFICIENT_SCOPE",
  "message": "This credential does not permit the requested action.",
  "status": 403,
  "details": {
    "requiredScopes": ["images:read"]
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.