get-partner-bulk-job
dci get-partner-bulk-job jobId
Returns the status and per-item results of a bulk provisioning job created by the calling partner org. Poll until status is terminal: completed, partial, or failed.
Responses
200 (application/json)
OK - Bulk job status returned.
{
"type": "object",
"required": [
"jobId",
"status",
"total",
"succeeded",
"failed",
"skipped",
"pending",
"submittedAt",
"statusAt",
"items"
],
"properties": {
"jobId": {
"type": "string",
"description": "Same ID you polled."
},
"status": {
"type": "string",
"enum": [
"pending",
"processing",
"completed",
"partial",
"failed"
],
"description": "Overall job lifecycle state.",
"x-enumDescriptions": {
"pending": "Accepted, not started.",
"processing": "At least one item in progress.",
"completed": "Done; every item succeeded (no fails/skips).",
"partial": "Done; mixed outcomes (any skips, or mix of success and failure).",
"failed": "Done; every item failed."
}
},
"total": {
"type": "integer",
"description": "The number of items submitted."
},
"succeeded": {
"type": "integer",
"description": "Items that finished as succeeded."
},
"failed": {
"type": "integer",
"description": "Items that finished as failed."
},
"skipped": {
"type": "integer",
"description": "Deduped items. No tenant created."
},
"pending": {
"type": "integer",
"description": "Items still pending or processing."
},
"submittedAt": {
"type": "string",
"format": "date-time",
"description": "The date and time the job was accepted."
},
"statusAt": {
"type": "string",
"format": "date-time",
"description": "Last progress update (allows you to detect change without scanning every item)."
},
"items": {
"type": "array",
"description": "One result per input row, in the same order as the original tenants array. Index is 0-based.",
"items": {
"type": "object",
"required": [
"index",
"tenantName",
"status"
],
"properties": {
"index": {
"type": "integer",
"description": "0-based position in the original tenants array."
},
"tenantName": {
"type": "string",
"description": "Echo of the request name (for correlation)."
},
"status": {
"type": "string",
"enum": [
"pending",
"processing",
"succeeded",
"failed",
"skipped"
],
"description": "Item outcome.",
"x-enumDescriptions": {
"pending": "Not finished yet.",
"processing": "Not finished yet.",
"succeeded": "Tenant created; IDs present.",
"failed": "Look at errorCode and errorMessage.",
"skipped": "Not created; look at skipReason and conflictJobId if present."
}
},
"tenantId": {
"type": "string"
},
"customerId": {
"type": "string"
},
"adminEmail": {
"type": "string",
"format": "email"
},
"errorCode": {
"type": "string",
"enum": [
"primary_domain_already_taken",
"parent_not_found",
"mts_validation_failed",
"validation_failed",
"internal_error"
]
},
"errorMessage": {
"type": "string"
},
"skipReason": {
"type": "string"
},
"conflictJobId": {
"type": "string"
}
}
}
}
}
}
401 (application/json)
Unauthorized - Invalid API key.
{
"type": "object",
"description": "Standard error response structure.",
"properties": {
"error": {
"type": "string",
"description": "Detailed error message."
}
}
}
403 (application/json)
Forbidden - The client is not authorized to perform the request.
{
"type": "object",
"description": "Standard error response structure.",
"properties": {
"error": {
"type": "string",
"description": "Detailed error message."
}
}
}
404 (application/json)
Not Found - The requested resource does not exist.
{
"type": "object",
"description": "Standard error response structure.",
"properties": {
"error": {
"type": "string",
"description": "Detailed error message."
}
}
}
Aliases: get-partner-bulk-job, getpartnerbulkjob