Huma Key Actions API
The Key Actions API from Huma — 6 operation(s) for key actions.
The Key Actions API from Huma — 6 operation(s) for key actions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/huma-key-actions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Huma Platform Key Actions API
version: 1.0.0
description: Huma Platform
servers:
- url: https://workspace-gcp-uk.api.huma.com/api/integration/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Key Actions
paths:
/api/extensions/v1/user/{user_id}/key-action:
get:
operationId: api_extensions_v1_user_key_action_retrieve_[retrieve_to_do_items_for_user]
summary: Retrieve To Do Items For User
parameters:
- in: query
name: allowPastEvents
schema:
type: boolean
- in: query
name: moduleConfigIds
schema:
type: string
- in: query
name: start
schema:
type: string
format: date-time
- in: path
name: user_id
schema:
type: string
pattern: ^[a-f0-9]{24}$
required: true
tags:
- Key Actions
security:
- JWT Auth: []
- Hawk Auth: []
- jwtAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RetrieveToDoItemsResponseDRF'
description: ''
/api/extensions/v1/user/{user_id}/key-action/{key_action_id}:
post:
operationId: api_extensions_v1_user_key_action_create_[create_key_action_log]
summary: Create Key Action Log
parameters:
- in: path
name: key_action_id
schema:
type: string
pattern: ^[a-f0-9]{24}$
required: true
- in: path
name: user_id
schema:
type: string
pattern: ^[a-f0-9]{24}$
required: true
tags:
- Key Actions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKeyActionLogDTORequestBodyDRF'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateKeyActionLogDTORequestBodyDRF'
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateKeyActionLogDTORequestBodyDRF'
required: true
security:
- JWT Auth: []
- Hawk Auth: []
- jwtAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ResultIdResponseObjectDRF'
description: ''
delete:
operationId: api_extensions_v1_user_key_action_destroy_[delete_key_action_log]
summary: Delete Key Action Log
parameters:
- in: path
name: id
schema:
type: string
required: true
- in: path
name: key_action_id
schema:
type: string
pattern: ^[a-f0-9]{24}$
required: true
- in: path
name: userId
schema:
type: string
required: true
- in: path
name: user_id
schema:
type: string
pattern: ^[a-f0-9]{24}$
required: true
tags:
- Key Actions
security:
- JWT Auth: []
- Hawk Auth: []
- jwtAuth: []
responses:
'204':
description: No response body
/api/extensions/v1/user/{user_id}/key-action/expiring:
get:
operationId: api_extensions_v1_user_key_action_expiring_retrieve_[retrieve_expiring_key_actions_in_timeframe]
summary: Retrieve Expiring Key Actions In Timeframe
parameters:
- in: query
name: end
schema:
type: string
format: date-time
- in: query
name: onlyEnabled
schema:
type: boolean
- in: query
name: start
schema:
type: string
format: date-time
- in: path
name: user_id
schema:
type: string
pattern: ^[a-f0-9]{24}$
required: true
tags:
- Key Actions
security:
- JWT Auth: []
- Hawk Auth: []
- jwtAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/KeyActionResponseDRF'
description: ''
/api/extensions/v1/user/{user_id}/key-action/forms-timeline:
get:
operationId: api_extensions_v1_user_key_action_forms_timeline_retrieve_[retrieve_grouped_forms_timeline]
summary: Retrieve Grouped Forms Timeline
parameters:
- in: query
name: filledBy
schema:
type: string
required: true
- in: query
name: startDateTime
schema:
type: string
format: date-time
required: true
- in: path
name: user_id
schema:
type: string
pattern: ^[a-f0-9]{24}$
required: true
tags:
- Key Actions
security:
- JWT Auth: []
- Hawk Auth: []
- jwtAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FormDataDRF'
description: ''
/api/extensions/v1/user/{user_id}/key-action/grouped-forms-stats:
get:
operationId: api_extensions_v1_user_key_action_grouped_forms_stats_retrieve_[retrieve_grouped_forms_stats]
summary: Retrieve Grouped Forms Stats
parameters:
- in: path
name: user_id
schema:
type: string
pattern: ^[a-f0-9]{24}$
required: true
tags:
- Key Actions
security:
- JWT Auth: []
- Hawk Auth: []
- jwtAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PeriodProgressResponseDRF'
description: ''
/api/extensions/v1/user/{user_id}/key-action/timeframe:
get:
operationId: api_extensions_v1_user_key_action_timeframe_retrieve_[retrieve_to_do_items_in_timeframe]
summary: Retrieve To Do Items In Timeframe
parameters:
- in: query
name: allowPastEvents
schema:
type: boolean
- in: query
name: end
schema:
type: string
format: date-time
required: true
- in: query
name: start
schema:
type: string
format: date-time
- in: path
name: user_id
schema:
type: string
pattern: ^[a-f0-9]{24}$
required: true
tags:
- Key Actions
security:
- JWT Auth: []
- Hawk Auth: []
- jwtAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RetrieveToDoItemsResponseDRF'
description: ''
components:
schemas:
QuestionnaireDTODRF:
type: object
properties:
id:
type: string
userId:
type: string
moduleId:
type: string
moduleConfigId:
type: string
moduleResultId:
type: string
deploymentId:
type: string
version:
type: integer
deviceName:
type: string
isAggregated:
type: boolean
startDateTime:
type: string
format: date-time
endDateTime:
type: string
format: date-time
createDateTime:
type: string
format: date-time
submitterId:
type: string
correlationStartDateTime:
type: string
format: date-time
client:
$ref: '#/components/schemas/UserAgentDRF'
server:
$ref: '#/components/schemas/ServerDRF'
ragThreshold:
type: object
additionalProperties: {}
flags:
type: object
additionalProperties: {}
eventLogId:
type: string
device:
$ref: '#/components/schemas/DeviceDetailsDRF'
source:
type: string
isAverage:
type: boolean
noteId:
type: string
feedback:
$ref: '#/components/schemas/ModuleFeedbackDRF'
meal:
type: string
userNote:
type: string
answers:
type: array
items:
$ref: '#/components/schemas/QuestionnaireAnswerDRF'
appResult:
$ref: '#/components/schemas/QuestionnaireAppResultDRF'
isForManager:
type: boolean
questionnaireId:
type: string
questionnaireName:
type: string
value:
type: number
format: double
skipped:
type: array
items:
$ref: '#/components/schemas/QuestionnaireAnswerDRF'
updateDateTime:
type: string
format: date-time
signOffDateTime:
type: string
format: date-time
status:
type: string
revision:
type: integer
required:
- answers
- deploymentId
- deviceName
- moduleId
- questionnaireId
- questionnaireName
- userId
FeedbackNotificationDataDRF:
type: object
properties:
title:
type: string
body:
type: string
offline:
type: boolean
LocalizableFields:
type: array
items:
type: string
title: ' localizablefields'
order:
type: integer
ResultIdResponseObjectDRF:
type: object
properties:
id:
type: string
ServerDRF:
type: object
properties:
hostUrl:
type: string
server:
type: string
api:
type: string
required:
- api
- hostUrl
- server
PeriodProgressResponseDRF:
type: object
properties:
taskCompliance:
type: number
format: double
startDateTime:
type: string
format: date-time
openQueriesAmount:
type: integer
passedDueDateFormsAmount:
type: integer
RetrieveToDoItemsResponseDRF:
type: object
properties:
id:
type: string
userId:
type: string
title:
type: string
description:
type: string
model:
type: string
isRecurring:
type: boolean
instanceExpiresIn:
type: string
startDateTime:
type: string
endDateTime:
type: string
enabled:
type: boolean
parentId:
type: string
hasCustomSchedule:
type: boolean
isSilent:
type: boolean
updateDateTime:
type: string
createDateTime:
type: string
completeDateTime:
type: string
appointmentDateTime:
type: string
format: date-time
appointmentStatus:
type: string
appointmentId:
type: string
keyActionConfigId:
type: string
learnArticleId:
type: string
moduleId:
type: string
moduleConfigId:
type: string
deploymentId:
type: string
required:
- keyActionConfigId
- model
QuestionnaireAppResultDRF:
type: object
properties:
appType:
type: string
values:
type: array
items:
$ref: '#/components/schemas/QuestionnaireAppResultValueDRF'
required:
- appType
- values
FeedbackTextDRF:
type: object
properties:
id:
type: string
text:
type: string
order:
type: integer
required:
- id
- text
QuestionnaireAnswerDRF:
type: object
properties:
id:
type: string
answerText:
type: string
answersList:
type: array
items:
type: string
filesList:
type: array
items:
$ref: '#/components/schemas/QuestionnaireAnswerMediaFileDRF'
otherText:
type: string
value:
type: string
compositeAnswer:
type: object
additionalProperties: {}
answerScore:
type: integer
questionId:
type: string
question:
type: string
format:
type: string
choices:
type: array
items:
type: string
selectedChoices:
type: array
items:
type: string
otherSelectedChoices:
type: array
items:
type: string
selectionCriteria:
type: string
lowerBound:
type: number
format: double
upperBound:
type: number
format: double
lists:
type: array
items:
type: string
units:
type: array
items:
type: string
selectedUnit:
type: string
recalledText:
type: array
items:
type: string
options:
type: array
items:
type: object
additionalProperties: {}
required:
- question
UserAgentDRF:
type: object
properties:
product:
type: string
version:
type: string
softwareName:
type: string
softwareVersion:
type: string
bundleId:
type: string
build:
type: string
hardware:
type: string
component:
type: string
language:
type: string
clientType:
type: string
required:
- product
- softwareName
- softwareVersion
- version
ModuleFeedbackDRF:
type: object
properties:
criteria:
type: object
additionalProperties: {}
text:
$ref: '#/components/schemas/FeedbackTextDRF'
moduleData:
type: object
additionalProperties: {}
language:
type: string
notificationData:
$ref: '#/components/schemas/FeedbackNotificationDataDRF'
QuestionnaireAnswerMediaFileDRF:
type: object
properties:
file:
type: string
thumbnail:
type: string
mediaType:
type: string
required:
- file
- mediaType
QuestionnaireAppResultValueDRF:
type: object
properties:
label:
type: string
valueType:
type: string
valueFloat:
type: number
format: double
required:
- label
- valueFloat
- valueType
CreateKeyActionLogDTORequestBodyDRF:
type: object
properties:
model:
type: string
userId:
type: string
startDateTime:
type: string
format: date-time
endDateTime:
type: string
format: date-time
completeDateTime:
type: string
format: date-time
required:
- endDateTime
- model
- startDateTime
KeyActionResponseDRF:
type: object
properties:
id:
type: string
userId:
type: string
title:
type: string
description:
type: string
model:
type: string
isRecurring:
type: boolean
instanceExpiresIn:
type: string
startDateTime:
type: string
endDateTime:
type: string
enabled:
type: boolean
parentId:
type: string
hasCustomSchedule:
type: boolean
isSilent:
type: boolean
updateDateTime:
type: string
createDateTime:
type: string
completeDateTime:
type: string
keyActionConfigId:
type: string
learnArticleId:
type: string
moduleId:
type: string
moduleConfigId:
type: string
deploymentId:
type: string
required:
- keyActionConfigId
- model
FormDataDRF:
type: object
properties:
id:
type: string
userId:
type: string
title:
type: string
description:
type: string
model:
type: string
isRecurring:
type: boolean
instanceExpiresIn:
type: string
startDateTime:
type: string
endDateTime:
type: string
format: date-time
enabled:
type: boolean
parentId:
type: string
hasCustomSchedule:
type: boolean
isSilent:
type: boolean
updateDateTime:
type: string
createDateTime:
type: string
completeDateTime:
type: string
keyActionConfigId:
type: string
learnArticleId:
type: string
moduleId:
type: string
moduleConfigId:
type: string
deploymentId:
type: string
result:
$ref: '#/components/schemas/QuestionnaireDTODRF'
status:
type: string
required:
- keyActionConfigId
- model
DeviceDetailsDRF:
type: object
properties:
uuid:
type: string
serialNumber:
type: string
modelName:
type: string
manufacturer:
type: string
required:
- manufacturer
- modelName
- uuid
securitySchemes:
Hawk_Auth:
type: apiKey
in: header
name: Authorization
description: 'Hawk MAC authentication. Paste a full Authorization header value.
Example:
Authorization: Hawk id="userId:clientId", ts="<unix_ts>", nonce="<nonce>", mac="<mac>"[, hash="<hash>"][, ext="<ext>"]
Note: Swagger UI cannot generate Hawk headers. Use your client to compute the MAC (e.g., with mohawk), then paste the full value here.'
JWT_Auth:
type: http
scheme: bearer
in: header
bearerFormat: JWT
description: 'Use HTTP Bearer auth with a JWT.
Send the token in the Authorization header:
Authorization: Bearer <your_jwt_here>
The token should contain standard claims plus projectId and clientId in user claims.'
jwtAuth:
type: http
scheme: bearer
bearerFormat: JWT