Complete an offboarding checklist item
curl --request POST \
--url https://api.trycomp.ai/v1/offboarding-checklist/member/{memberId}/item/{templateItemId}/complete \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"notes": "<string>",
"fileName": "<string>",
"fileType": "<string>",
"fileData": "<string>",
"s3Key": "<string>"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
notes: '<string>',
fileName: '<string>',
fileType: '<string>',
fileData: '<string>',
s3Key: '<string>'
})
};
fetch('https://api.trycomp.ai/v1/offboarding-checklist/member/{memberId}/item/{templateItemId}/complete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.trycomp.ai/v1/offboarding-checklist/member/{memberId}/item/{templateItemId}/complete"
payload = {
"notes": "<string>",
"fileName": "<string>",
"fileType": "<string>",
"fileData": "<string>",
"s3Key": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Offboarding Checklist
Complete an offboarding checklist item | Comp AI API
Marks a specific offboarding checklist item complete for a member, recording who completed it and when, as part of finishing that member’s offboarding.
POST
/
v1
/
offboarding-checklist
/
member
/
{memberId}
/
item
/
{templateItemId}
/
complete
Complete an offboarding checklist item
curl --request POST \
--url https://api.trycomp.ai/v1/offboarding-checklist/member/{memberId}/item/{templateItemId}/complete \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"notes": "<string>",
"fileName": "<string>",
"fileType": "<string>",
"fileData": "<string>",
"s3Key": "<string>"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
notes: '<string>',
fileName: '<string>',
fileType: '<string>',
fileData: '<string>',
s3Key: '<string>'
})
};
fetch('https://api.trycomp.ai/v1/offboarding-checklist/member/{memberId}/item/{templateItemId}/complete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.trycomp.ai/v1/offboarding-checklist/member/{memberId}/item/{templateItemId}/complete"
payload = {
"notes": "<string>",
"fileName": "<string>",
"fileType": "<string>",
"fileData": "<string>",
"s3Key": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Authorizations
API key for authentication
Body
application/json
Optional notes
Evidence file name
Evidence file MIME type
Base64-encoded evidence file. For the web UI / direct callers. AI/MCP clients should instead upload via /v1/uploads/presign (purpose=evidence) and pass s3Key — base64 through an LLM is impractically slow and times out. Provide fileData or s3Key (not both).
Key of an evidence file already uploaded via /v1/uploads/presign (purpose=evidence). The server fetches the bytes from storage — no base64 needed. Provide fileData or s3Key (not both).
Response
201 - undefined
Was this page helpful?

