Skip to content

Approve the samples, or ask for a new batch

POST
/locations/{partner_location_id}/creator-samples/{batch_id}/decision
curl --request POST \
--url https://data.creatorain.com/partner/v1/locations/store_123/creator-samples/smp_1b4e28ba-2fa1-4d3b-a3f5-ef19b5a7633b/decision \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "decision": "approve", "note": "prefers Chinese-speaking creators" }'

approve: recruiting starts, and location.recruiting follows when it does. new_batch: we prepare a new set that never repeats earlier samples, and send location.samples_ready again when it is ready. After two new batches our CSM calls the merchant.

The same decision again answers 200 with the same body. The other decision on a batch already decided is 409, as is a decision on a batch that was replaced.

PARTNER KEY ONLY.

partner_location_id
required
string
<= 200 characters

YOUR id for the store, as you sent it to POST /locations.

Example

store_123
batch_id
required
string

Example

smp_1b4e28ba-2fa1-4d3b-a3f5-ef19b5a7633b

The batch_id from the samples read or the location.samples_ready event.

Media typeapplication/json
object
decision
required
string
Allowed values: approve new_batch
note

Optional, with new_batch. What the merchant wants instead.

string
nullable <= 500 characters

Example

prefers Chinese-speaking creators

The decision as recorded.

Media typeapplication/json
object
batch_id
string
batch_number
integer
decision
string
Allowed values: approve new_batch
note
string
nullable
decided_at
string format: date-time
nullable
next
string
Allowed values: recruiting new_batch_preparing

Example

{
"decision": "approve",
"next": "recruiting"
}

validation_error. field names the offending parameter.

Media typeapplication/json
object
error
required
object
code
required

The stable value to branch on.

string
Allowed values: unauthorized forbidden_ip rate_limited validation_error location_already_exists location_not_found location_terminated reservation_not_found conflict internal_error
message
required

A human sentence. Copy, not contract; it may be reworded.

string
field

The request field at fault, dotted for a nested one (plan.term_months).

string

Example

{
"error": {
"code": "unauthorized"
}
}

unauthorized. A missing, malformed, unknown or revoked key; or an invalid, expired or wrong-store dashboard token. One answer for every case on purpose: the holder of a bad credential learns nothing from the difference.

Media typeapplication/json
object
error
required
object
code
required

The stable value to branch on.

string
Allowed values: unauthorized forbidden_ip rate_limited validation_error location_already_exists location_not_found location_terminated reservation_not_found conflict internal_error
message
required

A human sentence. Copy, not contract; it may be reworded.

string
field

The request field at fault, dotted for a nested one (plan.term_months).

string

Example

{
"error": {
"code": "unauthorized"
}
}

location_not_found, or sample_batch_not_found when no batch of this store has that id.

Media typeapplication/json
object
error
required
object
code
required

The stable value to branch on.

string
Allowed values: unauthorized forbidden_ip rate_limited validation_error location_already_exists location_not_found location_terminated reservation_not_found conflict internal_error
message
required

A human sentence. Copy, not contract; it may be reworded.

string
field

The request field at fault, dotted for a nested one (plan.term_months).

string

Example

{
"error": {
"code": "unauthorized"
}
}

conflict (already decided the other way, replaced, or not a sample review store) or location_terminated.

Media typeapplication/json
object
error
required
object
code
required

The stable value to branch on.

string
Allowed values: unauthorized forbidden_ip rate_limited validation_error location_already_exists location_not_found location_terminated reservation_not_found conflict internal_error
message
required

A human sentence. Copy, not contract; it may be reworded.

string
field

The request field at fault, dotted for a nested one (plan.term_months).

string

Example

{
"error": {
"code": "unauthorized"
}
}

rate_limited. Over this key’s requests-per-minute ceiling.

Media typeapplication/json
object
error
required
object
code
required

The stable value to branch on.

string
Allowed values: unauthorized forbidden_ip rate_limited validation_error location_already_exists location_not_found location_terminated reservation_not_found conflict internal_error
message
required

A human sentence. Copy, not contract; it may be reworded.

string
field

The request field at fault, dotted for a nested one (plan.term_months).

string

Example

{
"error": {
"code": "unauthorized"
}
}