Create an import
Create a bulk data import job. The import is processed asynchronously. Poll `GET /v2/imports/:id` for progress and errors. --- **Related endpoints** - `GET /imports/{id}` — Get import status **Common errors** - `400 invalid_request` — malformed payload or failed validation. - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. **Idempotency** Pass an `Idempotency-Key` header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see [the idempotency guide](/docs/fundamentals/idempotency).
Create a bulk data import job. The import is processed asynchronously. Poll GET /v2/imports/:id for progress and errors.
Related endpoints
GET /imports/{id}— Get import status
Common errors
400 invalid_request— malformed payload or failed validation.401 authentication_error— missing, invalid, expired, or revoked credential. Codes:authentication_failed,invalid_api_key,expired_api_key,api_key_revoked,session_invalid,merchant_required. Carries aWWW-Authenticate: Bearerchallenge.
Idempotency
Pass an Idempotency-Key header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see the idempotency guide.
Your RevKeen merchant API key. Create and manage keys in Dashboard → Settings → Developer. Use rk_sandbox_* for staging/test and rk_live_* for production. The same key may be sent as Authorization: Bearer <key> if that suits your HTTP client better. A missing, invalid, expired, or revoked key returns 401 with a WWW-Authenticate: Bearer challenge; a valid key without the required scope returns 403.
In: header
Request Body
application/json
Import configuration
TypeScript Definitions
Use the request body type in TypeScript.
Parameters for creating a bulk data import. Either provide a file_url or upload the CSV via multipart form data.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://api.revkeen.com/v2/imports" \
-H "x-api-key: $REVKEEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"resource_type": "customers",
"file_url": "https://example.com",
"column_mapping": {},
"on_duplicate": "skip"
}'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "object": "import", "status": "pending", "resource_type": "customers", "total_rows": 0, "processed_rows": 0, "success_count": 0, "error_count": 0, "errors": [ { "row": 0, "field": "string", "message": "string" } ], "created_at": "2019-08-24T14:15:22Z", "completed_at": "2019-08-24T14:15:22Z" }}Get finance summary GET
Get finance summary for the authenticated merchant. Requires 'finance:read' scope. --- **Related endpoints** - `GET /finance/income` — Get income report **Common errors** - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. - `404 resource_missing` — the referenced resource does not exist or is not visible to your key.
Get import status GET
Check the status and progress of an import job. Includes detailed error information for failed rows. --- **Related endpoints** - `POST /imports` — Create an import **Common errors** - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. - `404 resource_missing` — the referenced resource does not exist or is not visible to your key.