O_orderExport

Returns the most recent key-export record for the wholesale order identified by entryToken. Used together with O_exportOrderKeys to download the generated zip of keys once the export has completed.

To list your API orders and discover their entryToken values, see O_orders.

This query requires the wholesale buyer role on your account. Contact Eneba support if you receive a 403 or an access-denied error.

Supported arguments

The following arguments are supported by O_orderExport query:

FieldTypeDescription
entryTokenString!

Return type

The query returns the O_API_OrderExport type.

Status values

ValueMeaning
PENDINGExport has started; the zip is not ready yet.
COMPLETEDExport succeeded. downloadUrl is populated while the file is available.
FAILEDExport failed; trigger O_exportOrderKeys again to retry.
  • downloadUrl is a presigned S3 URL valid for 30 minutes from the time this query is called. It may be null for PENDING / FAILED exports, and also for COMPLETED exports whose underlying file has been cleaned up.

The downloaded zip file is password-protected. Use the email address associated with your Eneba account as the password to open it.

  • expired: true means the export's retention window has passed — call O_exportOrderKeys again to produce a fresh export.
  • The query returns null when the entryToken does not match an order owned by the caller, or when no export has been started for that order yet.

ZIP file structure

The downloaded archive is a standard ZIP file. Every entry inside it is encrypted with the same password (your account email address).

The archive is available for 3 days after the export completes. After that the file is removed and you must trigger a new export to get a fresh download.

Directory layout

Files are grouped by order item. Each path inside the archive follows this pattern:

{orderNumber}/{productSlug}/{shortId}/
SegmentDescription
orderNumberThe orderNumber field from O_API_Order (e.g. o-8yZp8K).
productSlugThe sellableSlug field from O_API_OrderItem (e.g. call-of-duty-modern-warfare-iii-steam-key-global).
shortIdThe shortId field from O_API_OrderItem.

Only auction-type order items are exported. Items that have no keys are skipped.

Files inside each item directory

Each item directory can contain the following files:

keys.txt — present when the item has text keys. Contains all text keys for that item, one per line.

{keyId}.png / {keyId}.jpg — present for each image key. The file name is the key's unique identifier; the extension reflects the image format (png for PNG images, jpg for everything else). If an image key cannot be decoded, it is saved as {keyId}.txt containing the raw value so no key is lost.

Example structure

o-8yZp8K/
├── call-of-duty-modern-warfare-iii-steam-key-global/
│   └── kw8eey8nupy7jjasetufktyyyy/
│       └── keys.txt
└── fifa-25-ea-app-key-global/
    └── 6t7cnn4a3tbzfjm8babmfo6wxr/
        ├── a1b2c3d4-e5f6-7890-abcd-ef0123456789.png
        └── f1e2d3c4-b5a6-7890-fedc-ba9876543210.jpg

In this example the order has two items: the first has text keys (in keys.txt) and the second has two image keys (one .png and one .jpg).

Example usage

Query

query OrderExport($entryToken: String!) {
  O_orderExport(entryToken: $entryToken) {
    id
    status
    downloadUrl
    expired
  }
}

Variables:

{
  "entryToken": "a1b2c3d4-1234-11ee-be56-0242ac120002"
}

Example response — completed export

{
  "data": {
    "O_orderExport": {
      "id": "c3d4e5f6-3456-11ee-be56-0242ac120002",
      "status": "COMPLETED",
      "downloadUrl": "https://s3.eu-central-1.amazonaws.com/eneba-order-exports/c3d4e5f6-3456-11ee-be56-0242ac120002?X-Amz-Signature=...",
      "expired": false
    }
  }
}

Example response — pending export

{
  "data": {
    "O_orderExport": {
      "id": "c3d4e5f6-3456-11ee-be56-0242ac120002",
      "status": "PENDING",
      "downloadUrl": null,
      "expired": false
    }
  }
}
Copyright 2026 Eneba. All Rights Reserved. JSC “Helis play”, Gyneju St. 4-333, Vilnius, the Republic of Lithuania