Claim a row (acquire lease)
POST
/v1/models/{model}/{id}/claimPath parameters
modelstringrequiredA model name from your pushed schema, e.g. `task`.
idstringrequiredRequest body
application/jsonclaimIdstringtargetobject | anyShow propertiesHide properties
Any of:
object
modelstringidstring | anyShow propertiesHide properties
Any of:
string
stringany
anyfieldstringfieldsstring[]metaobjectany
anyreasonstringdescriptionstringmetaobjectttlnumber | string | anyShow propertiesHide properties
Any of:
number | string
Any of:
number
numberstring
stringany
anyqueuebooleanResponses
201The lease is yours. `claim.fenceToken` is set when the coordinator minted one; carry it on writes made under the lease.
One of:
ClaimAcquired
idstringrequiredobjectstringrequiredstatusstringrequiredfenceTokenintegermin -9007199254740991 · max 9007199254740991
expiresAtintegermin -9007199254740991 · max 9007199254740991
claimClaimrequiredShow propertiesHide properties
idstringrequiredactorstringrequiredparticipantKindstringrequiredAllowed:
useragentsystemonBehalfOfIdstring | anyShow propertiesHide properties
Any of:
string
stringany
anyonBehalfOfKindstring | anyShow propertiesHide properties
Any of:
string
stringany
anycapabilityIdstring | anyShow propertiesHide properties
Any of:
string
stringany
anydescriptionstringstatusstringAllowed:
activequeuedpositionintegermin 0 · max 9007199254740991
expiresAtintegerrequiredmin -9007199254740991 · max 9007199254740991
fenceTokenintegermin -9007199254740991 · max 9007199254740991
targetobjectrequiredShow propertiesHide properties
modelstringrequiredidstringrequiredfieldstringfieldsstring[]metaobjectmetaobjectfieldstringClaimQueued
idstringrequiredobjectstringrequiredstatusstringrequiredpositionintegerrequiredmin 0 · max 9007199254740991
heldBystringexpiresAtintegermin -9007199254740991 · max 9007199254740991
heldByClaimobjectShow propertiesHide properties
entityTypestringrequiredentityIdstringrequiredfieldstringfieldsstring[]metaobjectclaimIdstringrequireddescriptionstringdeclaredAtnumberrequiredexpiresAtnumberrequiredonBehalfOfIdstring | anyShow propertiesHide properties
Any of:
string
stringany
anyonBehalfOfKindstring | anyShow propertiesHide properties
Any of:
string
stringany
anycapabilityIdstring | anyShow propertiesHide properties
Any of:
string
stringany
any202The row was already held and you asked to queue. You are in line at `position` — heartbeat to keep the slot, and poll `GET /v1/claims/{claimId}` for the grant.
One of:
ClaimAcquired
idstringrequiredobjectstringrequiredstatusstringrequiredfenceTokenintegermin -9007199254740991 · max 9007199254740991
expiresAtintegermin -9007199254740991 · max 9007199254740991
claimClaimrequiredShow propertiesHide properties
idstringrequiredactorstringrequiredparticipantKindstringrequiredAllowed:
useragentsystemonBehalfOfIdstring | anyShow propertiesHide properties
Any of:
string
stringany
anyonBehalfOfKindstring | anyShow propertiesHide properties
Any of:
string
stringany
anycapabilityIdstring | anyShow propertiesHide properties
Any of:
string
stringany
anydescriptionstringstatusstringAllowed:
activequeuedpositionintegermin 0 · max 9007199254740991
expiresAtintegerrequiredmin -9007199254740991 · max 9007199254740991
fenceTokenintegermin -9007199254740991 · max 9007199254740991
targetobjectrequiredShow propertiesHide properties
modelstringrequiredidstringrequiredfieldstringfieldsstring[]metaobjectmetaobjectfieldstringClaimQueued
idstringrequiredobjectstringrequiredstatusstringrequiredpositionintegerrequiredmin 0 · max 9007199254740991
heldBystringexpiresAtintegermin -9007199254740991 · max 9007199254740991
heldByClaimobjectShow propertiesHide properties
entityTypestringrequiredentityIdstringrequiredfieldstringfieldsstring[]metaobjectclaimIdstringrequireddescriptionstringdeclaredAtnumberrequiredexpiresAtnumberrequiredonBehalfOfIdstring | anyShow propertiesHide properties
Any of:
string
stringany
anyonBehalfOfKindstring | anyShow propertiesHide properties
Any of:
string
stringany
anycapabilityIdstring | anyShow propertiesHide properties
Any of:
string
stringany
any400The request did not satisfy the published contract.
typestringrequiredcodestringparamstringmessagestringrequireddoc_urlstringrequest_idstringerrorsobject[]Show propertiesHide properties
Array of
objectcodestringmessagestringrequiredparamstring401The Bearer credential is missing, malformed, or expired.
typestringrequiredcodestringparamstringmessagestringrequireddoc_urlstringrequest_idstringerrorsobject[]Show propertiesHide properties
Array of
objectcodestringmessagestringrequiredparamstring403The credential does not authorize this operation.
typestringrequiredcodestringparamstringmessagestringrequireddoc_urlstringrequest_idstringerrorsobject[]Show propertiesHide properties
Array of
objectcodestringmessagestringrequiredparamstring404The addressed resource does not exist in the credential scope.
typestringrequiredcodestringparamstringmessagestringrequireddoc_urlstringrequest_idstringerrorsobject[]Show propertiesHide properties
Array of
objectcodestringmessagestringrequiredparamstring409The request conflicts with current claim, version, or idempotency state.
typestringrequiredcodestringparamstringmessagestringrequireddoc_urlstringrequest_idstringerrorsobject[]Show propertiesHide properties
Array of
objectcodestringmessagestringrequiredparamstring429The caller exceeded an enforced rate limit.
typestringrequiredcodestringparamstringmessagestringrequireddoc_urlstringrequest_idstringerrorsobject[]Show propertiesHide properties
Array of
objectcodestringmessagestringrequiredparamstring500The server could not complete the request.
typestringrequiredcodestringparamstringmessagestringrequireddoc_urlstringrequest_idstringerrorsobject[]Show propertiesHide properties
Array of
objectcodestringmessagestringrequiredparamstring503A required service is temporarily unavailable.
typestringrequiredcodestringparamstringmessagestringrequireddoc_urlstringrequest_idstringerrorsobject[]Show propertiesHide properties
Array of
objectcodestringmessagestringrequiredparamstringdefaultAn HTTP error not otherwise listed; decoded through the canonical envelope.
typestringrequiredcodestringparamstringmessagestringrequireddoc_urlstringrequest_idstringerrorsobject[]Show propertiesHide properties
Array of
objectcodestringmessagestringrequiredparamstringRequest
curl -X POST "https://api.abloatai.com/api/v1/models/string/string/claim" \
-H "Content-Type: application/json" \
-d '{
"claimId": "string",
"target": {
"model": "string",
"id": "string",
"field": "string",
"fields": [
"string"
],
"meta": {}
},
"reason": "string",
"description": "string",
"meta": {},
"ttl": 0,
"queue": true
}'const response = await fetch("https://api.abloatai.com/api/v1/models/string/string/claim", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
"claimId": "string",
"target": {
"model": "string",
"id": "string",
"field": "string",
"fields": [
"string"
],
"meta": {}
},
"reason": "string",
"description": "string",
"meta": {},
"ttl": 0,
"queue": true
})
});import requests
response = requests.post(
"https://api.abloatai.com/api/v1/models/string/string/claim",
headers={
"Content-Type": "application/json"
},
json={
"claimId": "string",
"target": {
"model": "string",
"id": "string",
"field": "string",
"fields": [
"string"
],
"meta": {}
},
"reason": "string",
"description": "string",
"meta": {},
"ttl": 0,
"queue": True
},
)Response
{
"id": "string",
"object": "claim",
"status": "active",
"fenceToken": 0,
"expiresAt": 0,
"claim": {
"id": "string",
"actor": "string",
"participantKind": "user",
"onBehalfOfId": "string",
"onBehalfOfKind": "user",
"capabilityId": "string",
"description": "string",
"status": "active",
"position": 0,
"expiresAt": 0,
"fenceToken": 0,
"target": {
"model": "string",
"id": "string",
"field": "string",
"fields": [
"string"
],
"meta": {}
},
"meta": {},
"field": "string"
}
}{
"id": "string",
"object": "claim",
"status": "active",
"fenceToken": 0,
"expiresAt": 0,
"claim": {
"id": "string",
"actor": "string",
"participantKind": "user",
"onBehalfOfId": "string",
"onBehalfOfKind": "user",
"capabilityId": "string",
"description": "string",
"status": "active",
"position": 0,
"expiresAt": 0,
"fenceToken": 0,
"target": {
"model": "string",
"id": "string",
"field": "string",
"fields": [
"string"
],
"meta": {}
},
"meta": {},
"field": "string"
}
}{
"type": "string",
"code": "string",
"param": "string",
"message": "string",
"doc_url": "string",
"request_id": "string",
"errors": [
{
"code": "string",
"message": "string",
"param": "string"
}
]
}{
"type": "string",
"code": "string",
"param": "string",
"message": "string",
"doc_url": "string",
"request_id": "string",
"errors": [
{
"code": "string",
"message": "string",
"param": "string"
}
]
}{
"type": "string",
"code": "string",
"param": "string",
"message": "string",
"doc_url": "string",
"request_id": "string",
"errors": [
{
"code": "string",
"message": "string",
"param": "string"
}
]
}{
"type": "string",
"code": "string",
"param": "string",
"message": "string",
"doc_url": "string",
"request_id": "string",
"errors": [
{
"code": "string",
"message": "string",
"param": "string"
}
]
}{
"type": "string",
"code": "string",
"param": "string",
"message": "string",
"doc_url": "string",
"request_id": "string",
"errors": [
{
"code": "string",
"message": "string",
"param": "string"
}
]
}{
"type": "string",
"code": "string",
"param": "string",
"message": "string",
"doc_url": "string",
"request_id": "string",
"errors": [
{
"code": "string",
"message": "string",
"param": "string"
}
]
}{
"type": "string",
"code": "string",
"param": "string",
"message": "string",
"doc_url": "string",
"request_id": "string",
"errors": [
{
"code": "string",
"message": "string",
"param": "string"
}
]
}{
"type": "string",
"code": "string",
"param": "string",
"message": "string",
"doc_url": "string",
"request_id": "string",
"errors": [
{
"code": "string",
"message": "string",
"param": "string"
}
]
}{
"type": "string",
"code": "string",
"param": "string",
"message": "string",
"doc_url": "string",
"request_id": "string",
"errors": [
{
"code": "string",
"message": "string",
"param": "string"
}
]
}