OpenAssistantAPI
→

User API

Onboarding

Personalized onboarding pipeline — run and review findings

POST/onboarding/run

Start a new onboarding pipeline run for the current user

Request body

Responses

202Run enqueued
ok reqboolean
sessionId reqstring
status reqstring
400Bad request
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/run' \
  -X POST \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{}'
GET/onboarding/sessions

List onboarding sessions for the current user (most recent first)

Responses

200Session list
ok reqenumtrue
sessions reqobject[]
id reqstring
status reqenumin_progresspausedcomplete
createdAt reqstring
completedAtstring
findingsCountinteger
pendingWorkflowProposalsCountinteger
pageinteger
perPageinteger
totalinteger

Request

curl 'https://app.openassistant.us/api/onboarding/sessions' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "sessions": [
    {
      "id": "string",
      "status": "in_progress",
      "createdAt": "2025-01-15T10:30:00.000Z"
    }
  ]
}
GET/onboarding/sessions/current-or-latest

Get the current in-progress session if one exists, else the most recent — drives the dashboard resume banner

Responses

200Current or latest session summary + nextStep deep-link hint
ok reqenumtrue
session reqobject
idstring
statusenumin_progresspausedcomplete
createdAtstring
completedAtstring
findingsCountinteger
pendingWorkflowProposalsCountinteger
204User has never run onboarding — no body.

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/current-or-latest' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "session": {
    "id": "string",
    "status": "in_progress",
    "createdAt": "2025-01-15T10:30:00.000Z",
    "nextStep": "pipeline"
  }
}
GET/onboarding/sessions/{sessionId}

Get a specific onboarding session with full briefing + findings

Path parameters

sessionId reqstring

Responses

200Session
ok reqenumtrue
session reqobject
id reqstring
account reqstring
user reqstring
status reqenumin_progresspausedcomplete
connections reqobject
calendarsany[]
contactsConnectedboolean
assistant reqobject
assistantstring
namestring
personastring
voicestring
userContext reqobject
linkedinPastestring
additionalEmailsstring[]
roleDescriptionstring
detectedTimezonestring
detectedCitystring
detectedCountrystring
detectedLocalestring
detectedAtstring
detectedSourcestring
briefing reqobject
deterministicobject
findingsany[]
inferredPreferencesobject
syncboolean
availabilityobject
syncboolean
workingHoursobject
MOobject[]
startstring
endstring
TUobject[]
startstring
endstring
WEobject[]
startstring
endstring
THobject[]
startstring
endstring
FRobject[]
startstring
endstring
SAobject[]
startstring
endstring
SUobject[]
startstring
endstring
workingHolidaysstring[]
customHolidaysstring[]
holidayCountriesstring[]
holidayCountrystring
defaultsobject
syncboolean
virtualobject
durationnumber
defaultMeetingLinkstring
conferenceSolutionstring
conferenceIntegrationstring
inPersonobject
durationnumber
defaultLocationstring
calendarsobject
syncboolean
readstring[]
writestring
buffersobject
syncboolean
bufferTypeenumnonemeetingtimeBlock
bufferLengthnumber
bufferBlockLengthnumber
dailyMeetingLimitnumber
customEventTitlesobject
internalobject
useCustomTitlesboolean
solostring
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
externalobject
useCustomTitlesboolean
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
transcriptany[]
stagedMemoriesobject[]
content reqstring
categorystring
confidencenumber
weekLabelsobject[]
eventId reqstring
weekStart reqstring
labelenumflexibleimportantprotectedcould-have-been-asyncrecurring-1:1
prioritynumber1
confidencenumber
workflowProposalsobject[]
proposalId reqstring
titlestring
iconstring
colorstring
sentence reqstring
category reqenumemailcalendarpost-meetingfollow-upsbriefingscontactsother
evidenceany...
confidencenumber
reviewStateenumpendingacceptededitedrejected
userEditedSentencestring
createdAt reqstring
upFrontAnswersobject
roleOneLinerstring
schedulingAnnoyancestring
earnedAnswersobject
finalizeobject
summary reqobject
appliedPreferencesboolean
savedMemoryCountinteger
memoryBreakdownany[]
contactsCreatedinteger
contactsUpdatedinteger
companiesUpsertedCountinteger
ownCompanyIdstring
weekLabelsAppliedinteger
skillsInstalledstring[]
notesstring[]
asyncWorkflowJobsany[]
runErrorsobject[]
stage reqstring
error reqstring
at reqstring
lastErrorstring
debugobject
langsmithTraceIdstring
awsRequestIdstring
logGroupNamestring
logStreamNamestring
regionstring
startedAtstring
completedAtstring
createdAt reqstring
updatedAt reqstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "session": {
    "id": "string",
    "account": "string",
    "user": "string",
    "status": "in_progress",
    "connections": {
      "calendars": [],
      "contactsConnected": false
    },
    "assistant": {
      "assistant": "string",
      "name": "string",
      "persona": "string",
      "voice": "string"
    }
  }
}
PATCH/onboarding/sessions/{sessionId}/findings/{findingId}

Update a finding's review state or user edits

Path parameters

sessionId reqstring
findingId reqstring

Request body

reviewStateenumpendingconfirmededitedrejectedskipped
userEditsany

Responses

200Updated session
ok reqenumtrue
session reqobject
id reqstring
account reqstring
user reqstring
status reqenumin_progresspausedcomplete
connections reqobject
calendarsany[]
contactsConnectedboolean
assistant reqobject
assistantstring
namestring
personastring
voicestring
userContext reqobject
linkedinPastestring
additionalEmailsstring[]
roleDescriptionstring
detectedTimezonestring
detectedCitystring
detectedCountrystring
detectedLocalestring
detectedAtstring
detectedSourcestring
briefing reqobject
deterministicobject
findingsany[]
inferredPreferencesobject
syncboolean
availabilityobject
syncboolean
workingHoursobject
MOobject[]
startstring
endstring
TUobject[]
startstring
endstring
WEobject[]
startstring
endstring
THobject[]
startstring
endstring
FRobject[]
startstring
endstring
SAobject[]
startstring
endstring
SUobject[]
startstring
endstring
workingHolidaysstring[]
customHolidaysstring[]
holidayCountriesstring[]
holidayCountrystring
defaultsobject
syncboolean
virtualobject
durationnumber
defaultMeetingLinkstring
conferenceSolutionstring
conferenceIntegrationstring
inPersonobject
durationnumber
defaultLocationstring
calendarsobject
syncboolean
readstring[]
writestring
buffersobject
syncboolean
bufferTypeenumnonemeetingtimeBlock
bufferLengthnumber
bufferBlockLengthnumber
dailyMeetingLimitnumber
customEventTitlesobject
internalobject
useCustomTitlesboolean
solostring
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
externalobject
useCustomTitlesboolean
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
transcriptany[]
stagedMemoriesobject[]
content reqstring
categorystring
confidencenumber
weekLabelsobject[]
eventId reqstring
weekStart reqstring
labelenumflexibleimportantprotectedcould-have-been-asyncrecurring-1:1
prioritynumber1
confidencenumber
workflowProposalsobject[]
proposalId reqstring
titlestring
iconstring
colorstring
sentence reqstring
category reqenumemailcalendarpost-meetingfollow-upsbriefingscontactsother
evidenceany...
confidencenumber
reviewStateenumpendingacceptededitedrejected
userEditedSentencestring
createdAt reqstring
upFrontAnswersobject
roleOneLinerstring
schedulingAnnoyancestring
earnedAnswersobject
finalizeobject
summary reqobject
appliedPreferencesboolean
savedMemoryCountinteger
memoryBreakdownany[]
contactsCreatedinteger
contactsUpdatedinteger
companiesUpsertedCountinteger
ownCompanyIdstring
weekLabelsAppliedinteger
skillsInstalledstring[]
notesstring[]
asyncWorkflowJobsany[]
runErrorsobject[]
stage reqstring
error reqstring
at reqstring
lastErrorstring
debugobject
langsmithTraceIdstring
awsRequestIdstring
logGroupNamestring
logStreamNamestring
regionstring
startedAtstring
completedAtstring
createdAt reqstring
updatedAt reqstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>/findings/<findingId>' \
  -X PATCH \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "reviewState": "pending",
  "userEdits": null
}'

Response

{
  "ok": true,
  "session": {
    "id": "string",
    "account": "string",
    "user": "string",
    "status": "in_progress",
    "connections": {
      "calendars": [],
      "contactsConnected": false
    },
    "assistant": {
      "assistant": "string",
      "name": "string",
      "persona": "string",
      "voice": "string"
    }
  }
}
PUT/onboarding/sessions/{sessionId}/week-labels

Replace the per-event week labels on a session

Path parameters

sessionId reqstring

Request body

labelsobject[]
eventId reqstring
weekStart reqstring
labelenumflexibleimportantprotectedcould-have-been-asyncrecurring-1:1
prioritynumber1
confidencenumber

Responses

200Updated session
ok reqenumtrue
session reqobject
id reqstring
account reqstring
user reqstring
status reqenumin_progresspausedcomplete
connections reqobject
calendarsany[]
contactsConnectedboolean
assistant reqobject
assistantstring
namestring
personastring
voicestring
userContext reqobject
linkedinPastestring
additionalEmailsstring[]
roleDescriptionstring
detectedTimezonestring
detectedCitystring
detectedCountrystring
detectedLocalestring
detectedAtstring
detectedSourcestring
briefing reqobject
deterministicobject
findingsany[]
inferredPreferencesobject
syncboolean
availabilityobject
syncboolean
workingHoursobject
MOobject[]
startstring
endstring
TUobject[]
startstring
endstring
WEobject[]
startstring
endstring
THobject[]
startstring
endstring
FRobject[]
startstring
endstring
SAobject[]
startstring
endstring
SUobject[]
startstring
endstring
workingHolidaysstring[]
customHolidaysstring[]
holidayCountriesstring[]
holidayCountrystring
defaultsobject
syncboolean
virtualobject
durationnumber
defaultMeetingLinkstring
conferenceSolutionstring
conferenceIntegrationstring
inPersonobject
durationnumber
defaultLocationstring
calendarsobject
syncboolean
readstring[]
writestring
buffersobject
syncboolean
bufferTypeenumnonemeetingtimeBlock
bufferLengthnumber
bufferBlockLengthnumber
dailyMeetingLimitnumber
customEventTitlesobject
internalobject
useCustomTitlesboolean
solostring
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
externalobject
useCustomTitlesboolean
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
transcriptany[]
stagedMemoriesobject[]
content reqstring
categorystring
confidencenumber
weekLabelsobject[]
eventId reqstring
weekStart reqstring
labelenumflexibleimportantprotectedcould-have-been-asyncrecurring-1:1
prioritynumber1
confidencenumber
workflowProposalsobject[]
proposalId reqstring
titlestring
iconstring
colorstring
sentence reqstring
category reqenumemailcalendarpost-meetingfollow-upsbriefingscontactsother
evidenceany...
confidencenumber
reviewStateenumpendingacceptededitedrejected
userEditedSentencestring
createdAt reqstring
upFrontAnswersobject
roleOneLinerstring
schedulingAnnoyancestring
earnedAnswersobject
finalizeobject
summary reqobject
appliedPreferencesboolean
savedMemoryCountinteger
memoryBreakdownany[]
contactsCreatedinteger
contactsUpdatedinteger
companiesUpsertedCountinteger
ownCompanyIdstring
weekLabelsAppliedinteger
skillsInstalledstring[]
notesstring[]
asyncWorkflowJobsany[]
runErrorsobject[]
stage reqstring
error reqstring
at reqstring
lastErrorstring
debugobject
langsmithTraceIdstring
awsRequestIdstring
logGroupNamestring
logStreamNamestring
regionstring
startedAtstring
completedAtstring
createdAt reqstring
updatedAt reqstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>/week-labels' \
  -X PUT \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "labels": []
}'

Response

{
  "ok": true,
  "session": {
    "id": "string",
    "account": "string",
    "user": "string",
    "status": "in_progress",
    "connections": {
      "calendars": [],
      "contactsConnected": false
    },
    "assistant": {
      "assistant": "string",
      "name": "string",
      "persona": "string",
      "voice": "string"
    }
  }
}
POST/onboarding/sessions/{sessionId}/finalize

Apply inferred preferences + save confirmed memories and close the session

Path parameters

sessionId reqstring

Request body

applyPreferencesboolean
saveMemoriesboolean

Responses

200Finalize result
ok reqboolean
sessionId reqstring
summary reqobject
appliedPreferencesboolean
savedMemoryCountinteger
memoryBreakdownobject[]
category reqenumPROFILECONTACTCOMPANYEVENTSCHEDULINGFAMILYVOICERULE
count reqinteger
contactsCreatedinteger
contactsUpdatedinteger
companiesUpsertedCountinteger
ownCompanyIdstring
weekLabelsAppliedinteger
skillsInstalledstring[]
notesstring[]
asyncWorkflowJobsobject[]
proposalId reqstring
statusenumqueuedbuildingreadyfailed
skillIdstring
errorstring
updatedAt reqstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>/finalize' \
  -X POST \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "applyPreferences": true,
  "saveMemories": true
}'

Response

{
  "ok": true,
  "sessionId": "string",
  "summary": {
    "appliedPreferences": false,
    "savedMemoryCount": 0,
    "memoryBreakdown": [],
    "contactsCreated": 0
  }
}
PATCH/onboarding/sessions/{sessionId}/up-front-answers

Persist the two up-front interview answers (step 3)

Path parameters

sessionId reqstring

Request body

roleOneLinerstring
schedulingAnnoyancestring

Responses

200Updated session
ok reqenumtrue
session reqobject
id reqstring
account reqstring
user reqstring
status reqenumin_progresspausedcomplete
connections reqobject
calendarsany[]
contactsConnectedboolean
assistant reqobject
assistantstring
namestring
personastring
voicestring
userContext reqobject
linkedinPastestring
additionalEmailsstring[]
roleDescriptionstring
detectedTimezonestring
detectedCitystring
detectedCountrystring
detectedLocalestring
detectedAtstring
detectedSourcestring
briefing reqobject
deterministicobject
findingsany[]
inferredPreferencesobject
syncboolean
availabilityobject
syncboolean
workingHoursobject
MOobject[]
startstring
endstring
TUobject[]
startstring
endstring
WEobject[]
startstring
endstring
THobject[]
startstring
endstring
FRobject[]
startstring
endstring
SAobject[]
startstring
endstring
SUobject[]
startstring
endstring
workingHolidaysstring[]
customHolidaysstring[]
holidayCountriesstring[]
holidayCountrystring
defaultsobject
syncboolean
virtualobject
durationnumber
defaultMeetingLinkstring
conferenceSolutionstring
conferenceIntegrationstring
inPersonobject
durationnumber
defaultLocationstring
calendarsobject
syncboolean
readstring[]
writestring
buffersobject
syncboolean
bufferTypeenumnonemeetingtimeBlock
bufferLengthnumber
bufferBlockLengthnumber
dailyMeetingLimitnumber
customEventTitlesobject
internalobject
useCustomTitlesboolean
solostring
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
externalobject
useCustomTitlesboolean
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
transcriptany[]
stagedMemoriesobject[]
content reqstring
categorystring
confidencenumber
weekLabelsobject[]
eventId reqstring
weekStart reqstring
labelenumflexibleimportantprotectedcould-have-been-asyncrecurring-1:1
prioritynumber1
confidencenumber
workflowProposalsobject[]
proposalId reqstring
titlestring
iconstring
colorstring
sentence reqstring
category reqenumemailcalendarpost-meetingfollow-upsbriefingscontactsother
evidenceany...
confidencenumber
reviewStateenumpendingacceptededitedrejected
userEditedSentencestring
createdAt reqstring
upFrontAnswersobject
roleOneLinerstring
schedulingAnnoyancestring
earnedAnswersobject
finalizeobject
summary reqobject
appliedPreferencesboolean
savedMemoryCountinteger
memoryBreakdownany[]
contactsCreatedinteger
contactsUpdatedinteger
companiesUpsertedCountinteger
ownCompanyIdstring
weekLabelsAppliedinteger
skillsInstalledstring[]
notesstring[]
asyncWorkflowJobsany[]
runErrorsobject[]
stage reqstring
error reqstring
at reqstring
lastErrorstring
debugobject
langsmithTraceIdstring
awsRequestIdstring
logGroupNamestring
logStreamNamestring
regionstring
startedAtstring
completedAtstring
createdAt reqstring
updatedAt reqstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>/up-front-answers' \
  -X PATCH \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "roleOneLiner": "string",
  "schedulingAnnoyance": "string"
}'

Response

{
  "ok": true,
  "session": {
    "id": "string",
    "account": "string",
    "user": "string",
    "status": "in_progress",
    "connections": {
      "calendars": [],
      "contactsConnected": false
    },
    "assistant": {
      "assistant": "string",
      "name": "string",
      "persona": "string",
      "voice": "string"
    }
  }
}
PATCH/onboarding/sessions/{sessionId}/earned-answers

Persist step 6 earned-question answers; triggers propose-workflows if a finding has been confirmed

Path parameters

sessionId reqstring

Request body

Responses

200Updated session
ok reqenumtrue
session reqobject
id reqstring
account reqstring
user reqstring
status reqenumin_progresspausedcomplete
connections reqobject
calendarsany[]
contactsConnectedboolean
assistant reqobject
assistantstring
namestring
personastring
voicestring
userContext reqobject
linkedinPastestring
additionalEmailsstring[]
roleDescriptionstring
detectedTimezonestring
detectedCitystring
detectedCountrystring
detectedLocalestring
detectedAtstring
detectedSourcestring
briefing reqobject
deterministicobject
findingsany[]
inferredPreferencesobject
syncboolean
availabilityobject
syncboolean
workingHoursobject
MOobject[]
startstring
endstring
TUobject[]
startstring
endstring
WEobject[]
startstring
endstring
THobject[]
startstring
endstring
FRobject[]
startstring
endstring
SAobject[]
startstring
endstring
SUobject[]
startstring
endstring
workingHolidaysstring[]
customHolidaysstring[]
holidayCountriesstring[]
holidayCountrystring
defaultsobject
syncboolean
virtualobject
durationnumber
defaultMeetingLinkstring
conferenceSolutionstring
conferenceIntegrationstring
inPersonobject
durationnumber
defaultLocationstring
calendarsobject
syncboolean
readstring[]
writestring
buffersobject
syncboolean
bufferTypeenumnonemeetingtimeBlock
bufferLengthnumber
bufferBlockLengthnumber
dailyMeetingLimitnumber
customEventTitlesobject
internalobject
useCustomTitlesboolean
solostring
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
externalobject
useCustomTitlesboolean
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
transcriptany[]
stagedMemoriesobject[]
content reqstring
categorystring
confidencenumber
weekLabelsobject[]
eventId reqstring
weekStart reqstring
labelenumflexibleimportantprotectedcould-have-been-asyncrecurring-1:1
prioritynumber1
confidencenumber
workflowProposalsobject[]
proposalId reqstring
titlestring
iconstring
colorstring
sentence reqstring
category reqenumemailcalendarpost-meetingfollow-upsbriefingscontactsother
evidenceany...
confidencenumber
reviewStateenumpendingacceptededitedrejected
userEditedSentencestring
createdAt reqstring
upFrontAnswersobject
roleOneLinerstring
schedulingAnnoyancestring
earnedAnswersobject
finalizeobject
summary reqobject
appliedPreferencesboolean
savedMemoryCountinteger
memoryBreakdownany[]
contactsCreatedinteger
contactsUpdatedinteger
companiesUpsertedCountinteger
ownCompanyIdstring
weekLabelsAppliedinteger
skillsInstalledstring[]
notesstring[]
asyncWorkflowJobsany[]
runErrorsobject[]
stage reqstring
error reqstring
at reqstring
lastErrorstring
debugobject
langsmithTraceIdstring
awsRequestIdstring
logGroupNamestring
logStreamNamestring
regionstring
startedAtstring
completedAtstring
createdAt reqstring
updatedAt reqstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>/earned-answers' \
  -X PATCH \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{}'

Response

{
  "ok": true,
  "session": {
    "id": "string",
    "account": "string",
    "user": "string",
    "status": "in_progress",
    "connections": {
      "calendars": [],
      "contactsConnected": false
    },
    "assistant": {
      "assistant": "string",
      "name": "string",
      "persona": "string",
      "voice": "string"
    }
  }
}
PATCH/onboarding/sessions/{sessionId}/workflow-proposals/{proposalId}

Accept / edit-sentence / reject a workflow proposal

Path parameters

sessionId reqstring
proposalId reqstring

Request body

reviewState reqenumpendingacceptededitedrejected
userEditedSentencestring

Responses

200Updated session
ok reqenumtrue
session reqobject
id reqstring
account reqstring
user reqstring
status reqenumin_progresspausedcomplete
connections reqobject
calendarsany[]
contactsConnectedboolean
assistant reqobject
assistantstring
namestring
personastring
voicestring
userContext reqobject
linkedinPastestring
additionalEmailsstring[]
roleDescriptionstring
detectedTimezonestring
detectedCitystring
detectedCountrystring
detectedLocalestring
detectedAtstring
detectedSourcestring
briefing reqobject
deterministicobject
findingsany[]
inferredPreferencesobject
syncboolean
availabilityobject
syncboolean
workingHoursobject
MOobject[]
startstring
endstring
TUobject[]
startstring
endstring
WEobject[]
startstring
endstring
THobject[]
startstring
endstring
FRobject[]
startstring
endstring
SAobject[]
startstring
endstring
SUobject[]
startstring
endstring
workingHolidaysstring[]
customHolidaysstring[]
holidayCountriesstring[]
holidayCountrystring
defaultsobject
syncboolean
virtualobject
durationnumber
defaultMeetingLinkstring
conferenceSolutionstring
conferenceIntegrationstring
inPersonobject
durationnumber
defaultLocationstring
calendarsobject
syncboolean
readstring[]
writestring
buffersobject
syncboolean
bufferTypeenumnonemeetingtimeBlock
bufferLengthnumber
bufferBlockLengthnumber
dailyMeetingLimitnumber
customEventTitlesobject
internalobject
useCustomTitlesboolean
solostring
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
externalobject
useCustomTitlesboolean
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
transcriptany[]
stagedMemoriesobject[]
content reqstring
categorystring
confidencenumber
weekLabelsobject[]
eventId reqstring
weekStart reqstring
labelenumflexibleimportantprotectedcould-have-been-asyncrecurring-1:1
prioritynumber1
confidencenumber
workflowProposalsobject[]
proposalId reqstring
titlestring
iconstring
colorstring
sentence reqstring
category reqenumemailcalendarpost-meetingfollow-upsbriefingscontactsother
evidenceany...
confidencenumber
reviewStateenumpendingacceptededitedrejected
userEditedSentencestring
createdAt reqstring
upFrontAnswersobject
roleOneLinerstring
schedulingAnnoyancestring
earnedAnswersobject
finalizeobject
summary reqobject
appliedPreferencesboolean
savedMemoryCountinteger
memoryBreakdownany[]
contactsCreatedinteger
contactsUpdatedinteger
companiesUpsertedCountinteger
ownCompanyIdstring
weekLabelsAppliedinteger
skillsInstalledstring[]
notesstring[]
asyncWorkflowJobsany[]
runErrorsobject[]
stage reqstring
error reqstring
at reqstring
lastErrorstring
debugobject
langsmithTraceIdstring
awsRequestIdstring
logGroupNamestring
logStreamNamestring
regionstring
startedAtstring
completedAtstring
createdAt reqstring
updatedAt reqstring
400Bad request
status reqinteger
error_codestring
error reqstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>/workflow-proposals/<proposalId>' \
  -X PATCH \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "reviewState": "pending"
}'

Response

{
  "ok": true,
  "session": {
    "id": "string",
    "account": "string",
    "user": "string",
    "status": "in_progress",
    "connections": {
      "calendars": [],
      "contactsConnected": false
    },
    "assistant": {
      "assistant": "string",
      "name": "string",
      "persona": "string",
      "voice": "string"
    }
  }
}
POST/onboarding/sessions/{sessionId}/workflow-proposals/skip-all

Reject all remaining pending workflow proposals

Path parameters

sessionId reqstring

Request body

Responses

200Updated session
ok reqenumtrue
session reqobject
id reqstring
account reqstring
user reqstring
status reqenumin_progresspausedcomplete
connections reqobject
calendarsany[]
contactsConnectedboolean
assistant reqobject
assistantstring
namestring
personastring
voicestring
userContext reqobject
linkedinPastestring
additionalEmailsstring[]
roleDescriptionstring
detectedTimezonestring
detectedCitystring
detectedCountrystring
detectedLocalestring
detectedAtstring
detectedSourcestring
briefing reqobject
deterministicobject
findingsany[]
inferredPreferencesobject
syncboolean
availabilityobject
syncboolean
workingHoursobject
MOobject[]
startstring
endstring
TUobject[]
startstring
endstring
WEobject[]
startstring
endstring
THobject[]
startstring
endstring
FRobject[]
startstring
endstring
SAobject[]
startstring
endstring
SUobject[]
startstring
endstring
workingHolidaysstring[]
customHolidaysstring[]
holidayCountriesstring[]
holidayCountrystring
defaultsobject
syncboolean
virtualobject
durationnumber
defaultMeetingLinkstring
conferenceSolutionstring
conferenceIntegrationstring
inPersonobject
durationnumber
defaultLocationstring
calendarsobject
syncboolean
readstring[]
writestring
buffersobject
syncboolean
bufferTypeenumnonemeetingtimeBlock
bufferLengthnumber
bufferBlockLengthnumber
dailyMeetingLimitnumber
customEventTitlesobject
internalobject
useCustomTitlesboolean
solostring
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
externalobject
useCustomTitlesboolean
oneAttendeestring
twoAttendeesstring
manyAttendeesstring
transcriptany[]
stagedMemoriesobject[]
content reqstring
categorystring
confidencenumber
weekLabelsobject[]
eventId reqstring
weekStart reqstring
labelenumflexibleimportantprotectedcould-have-been-asyncrecurring-1:1
prioritynumber1
confidencenumber
workflowProposalsobject[]
proposalId reqstring
titlestring
iconstring
colorstring
sentence reqstring
category reqenumemailcalendarpost-meetingfollow-upsbriefingscontactsother
evidenceany...
confidencenumber
reviewStateenumpendingacceptededitedrejected
userEditedSentencestring
createdAt reqstring
upFrontAnswersobject
roleOneLinerstring
schedulingAnnoyancestring
earnedAnswersobject
finalizeobject
summary reqobject
appliedPreferencesboolean
savedMemoryCountinteger
memoryBreakdownany[]
contactsCreatedinteger
contactsUpdatedinteger
companiesUpsertedCountinteger
ownCompanyIdstring
weekLabelsAppliedinteger
skillsInstalledstring[]
notesstring[]
asyncWorkflowJobsany[]
runErrorsobject[]
stage reqstring
error reqstring
at reqstring
lastErrorstring
debugobject
langsmithTraceIdstring
awsRequestIdstring
logGroupNamestring
logStreamNamestring
regionstring
startedAtstring
completedAtstring
createdAt reqstring
updatedAt reqstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>/workflow-proposals/skip-all' \
  -X POST \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{}'

Response

{
  "ok": true,
  "session": {
    "id": "string",
    "account": "string",
    "user": "string",
    "status": "in_progress",
    "connections": {
      "calendars": [],
      "contactsConnected": false
    },
    "assistant": {
      "assistant": "string",
      "name": "string",
      "persona": "string",
      "voice": "string"
    }
  }
}
GET/onboarding/sessions/{sessionId}/workflow-status

Poll async author-skill build status for accepted workflows

Path parameters

sessionId reqstring

Responses

200Per-proposal build status
ok reqboolean
jobsobject[]
proposalId reqstring
statusenumqueuedbuildingreadyfailed
skillIdstring
errorstring
updatedAt reqstring
allComplete reqboolean
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>/workflow-status' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "allComplete": true
}
GET/onboarding/sessions/{sessionId}/finalize-status

Polling-friendly progress endpoint for the screen-8 live finalize task

Path parameters

sessionId reqstring

Responses

200Live finalize progress
ok reqboolean
status reqenumidlerunningcompleteerror
currentTaskstring
messagesobject[]
role reqenumassistantusersystem
content reqstring
atstring
pendingQuestionsobject[]
questionId reqstring
text reqstring
summaryobject
appliedPreferencesboolean
savedMemoryCountinteger
memoryBreakdownobject[]
category reqenumPROFILECONTACTCOMPANYEVENTSCHEDULINGFAMILYVOICERULE
count reqinteger
contactsCreatedinteger
contactsUpdatedinteger
companiesUpsertedCountinteger
ownCompanyIdstring
weekLabelsAppliedinteger
skillsInstalledstring[]
notesstring[]
errorstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/onboarding/sessions/<sessionId>/finalize-status' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "status": "idle"
}
POST/me/profile/bio

Idempotent upsert of the user's profile:bio Memory (screen 1 of portal onboarding v3)

Request body

content reqstring

Responses

200Updated bio memory (or cleared)
ok reqboolean
removedboolean
countnumber
201Created bio memory
ok reqboolean
400Bad request
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/me/profile/bio' \
  -X POST \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "content": "string"
}'

Response

{
  "ok": true
}