curl --request GET \
--url https://api.letsdothis.com/v0/credits/import/{jobId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.letsdothis.com/v0/credits/import/{jobId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsdothis.com/v0/credits/import/{jobId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"jobId": "6628293a4b5c6d7e8f901a2b",
"status": "completed",
"counts": {
"pending": 0,
"processing": 0,
"success": 1,
"failure": 0,
"cancelled": 0,
"total": 1
},
"rowCounts": {
"succeeded": 1,
"alreadyImported": 0,
"failed": 1,
"total": 2
},
"results": [
{
"externalCreditId": "customer-credit-1042",
"creditId": "65e6f708192a3b4c5d6e7f80",
"status": "succeeded",
"errors": []
},
{
"externalCreditId": "customer-credit-1043",
"status": "failed",
"errors": [
{
"code": "INVALID_EMAIL_ADDRESS",
"fieldId": "emailAddress",
"message": "emailAddress must be a valid email address"
}
]
}
]
}Get credit import status
Returns the progress of an asynchronous credit import and the per-row outcomes recorded so far. Poll until status is completed, then read results for each row.
curl --request GET \
--url https://api.letsdothis.com/v0/credits/import/{jobId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.letsdothis.com/v0/credits/import/{jobId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsdothis.com/v0/credits/import/{jobId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"jobId": "6628293a4b5c6d7e8f901a2b",
"status": "completed",
"counts": {
"pending": 0,
"processing": 0,
"success": 1,
"failure": 0,
"cancelled": 0,
"total": 1
},
"rowCounts": {
"succeeded": 1,
"alreadyImported": 0,
"failed": 1,
"total": 2
},
"results": [
{
"externalCreditId": "customer-credit-1042",
"creditId": "65e6f708192a3b4c5d6e7f80",
"status": "succeeded",
"errors": []
},
{
"externalCreditId": "customer-credit-1043",
"status": "failed",
"errors": [
{
"code": "INVALID_EMAIL_ADDRESS",
"fieldId": "emailAddress",
"message": "emailAddress must be a valid email address"
}
]
}
]
}403. Contact your Let’s Do This representative if you’d like access.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
Default Response
The state of an asynchronous credit import. results accumulates as the job's tasks complete, so a processing job reports the rows finished so far; poll until status is completed.
results is the outcome: one entry per submitted row, carrying that row's own status and errors. It is the only field that reports whether any data landed, so decide what to action from it.
status and counts describe progress, and neither reports success. status is completed once the work finished, including work whose every row was rejected, and counts is of internal work units rather than rows. rowCounts totals the row outcomes in results and accumulates the same way, so a non-zero rowCounts.failed is the signal to inspect results.
queued, processing, completed, cancelled Progress counts for an import job, tracking internal work units rather than rows. One unit covers a server-side chunk of the submitted batch, so total does not correspond to the number of rows submitted, and a unit that runs to completion counts as success even when every one of its rows failed validation. Per-row outcomes, including failures, are reported in results, not here.
Show child attributes
Show child attributes
Outcome totals for an import job, folded from results: one count per reported result, not per submitted row. Most imports report one result per submitted row, but an endpoint can report several — a reserved-entry participant row covering a booking reports one result per participant — so total can legitimately exceed the submitted row count and is not a reconciliation check against it. The totals accumulate the same way results does: a processing job counts the results reported so far. A non-zero failed is the signal to inspect results and act on the failures.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?

