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:
| Field | Type | Description |
|---|---|---|
entryToken | String! |
Return type
The query returns theO_API_OrderExport type.
Status values
| Value | Meaning |
|---|---|
PENDING | Export has started; the zip is not ready yet. |
COMPLETED | Export succeeded. downloadUrl is populated while the file is available. |
FAILED | Export failed; trigger O_exportOrderKeys again to retry. |
downloadUrlis a presigned S3 URL valid for 30 minutes from the time this query is called. It may benullforPENDING/FAILEDexports, and also forCOMPLETEDexports 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: truemeans the export's retention window has passed — callO_exportOrderKeysagain to produce a fresh export.- The query returns
nullwhen theentryTokendoes 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}/| Segment | Description |
|---|---|
orderNumber | The orderNumber field from O_API_Order (e.g. o-8yZp8K). |
productSlug | The sellableSlug field from O_API_OrderItem (e.g. call-of-duty-modern-warfare-iii-steam-key-global). |
shortId | The 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.jpgIn 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
}
}
}