Mosey Tasks API
The Tasks API from Mosey — 9 operation(s) for tasks.
The Tasks API from Mosey — 9 operation(s) for tasks.
openapi: 3.1.0
info:
title: Mosey Accounts Tasks API
description: If you'd like to use the Mosey API, please contact sales@mosey.com.
version: 1.0.0
x-logo:
url: null
tags:
- name: Tasks
paths:
/v2/tasks:
get:
summary: List Mosey Tasks
operationId: List_Mosey_Tasks_v2_tasks_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/PlatformTask'
type: array
title: Response List Mosey Tasks V2 Tasks Get
security:
- OAuth2PasswordBearer: []
- OAuth2PasswordBearer: []
tags:
- Tasks
/tasks:
get:
summary: List Tasks
description: Returns a list of tasks relevant for the authenticated legal entity. Tasks are sorted algorithmically by importance. To filter by status include a `status` parameter for each status you wish to be included in the response.
operationId: list_tasks_handler_tasks_get
security:
- OAuth2PasswordBearer: []
- OAuth2PasswordBearer: []
parameters:
- name: definition_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Definition Id
- name: start_date
in: query
required: false
schema:
anyOf:
- type: string
format: date
- type: 'null'
title: Start Date
- name: end_date
in: query
required: false
schema:
anyOf:
- type: string
format: date
- type: 'null'
title: End Date
- name: include_managed
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
default: false
title: Include Managed
- name: status
in: query
required: false
schema:
anyOf:
- type: array
items:
$ref: '#/components/schemas/AccountTaskStatus'
- type: 'null'
title: Status
- name: tags
in: query
required: false
schema:
anyOf:
- type: array
items:
$ref: '#/components/schemas/AccountTaskTag'
- type: 'null'
description: Tags are filtering criteria for tasks. When multiple tags are passed, tasks associated with at least one of the tags are returned.
title: Tags
description: Tags are filtering criteria for tasks. When multiple tags are passed, tasks associated with at least one of the tags are returned.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AccountTask'
title: Response List Tasks Handler Tasks Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Tasks
/tasks/{task_id}:
get:
summary: Get Task
description: Returns the specified task.
operationId: get_task_handler_tasks__task_id__get
security:
- OAuth2PasswordBearer: []
- OAuth2PasswordBearer: []
parameters:
- name: task_id
in: path
required: true
schema:
type: string
title: Task Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/AccountTask'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Tasks
patch:
summary: Update Task Status
description: Updates the status for the specified task. Returns the updated task.
operationId: patch_task_handler_tasks__task_id__patch
security:
- OAuth2PasswordBearer: []
- OAuth2PasswordBearer: []
parameters:
- name: task_id
in: path
required: true
schema:
type: string
title: Task Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountTaskUpdateStatus'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/AccountTask'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Tasks
/tasks/{task_id}/automate/sessions:
post:
summary: Create Hosted Session to Automate Task
description: Starts the Mosey automation for the task. If the automation requires input from the user, the response will include a URL that will redirect them to a form to collect it.
operationId: automate_task_handler_tasks__task_id__automate_sessions_post
security:
- OAuth2PasswordBearer: []
- OAuth2PasswordBearer: []
parameters:
- name: task_id
in: path
required: true
schema:
type: string
title: Task Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AutomationSessionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/AutomationSessionResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Tasks
/tasks/sessions:
post:
summary: Create Hosted Session to View Tasks
description: Returns a URL with session, where the tasks are hosted at Mosey. Users can filter tasks based on location and status. Users can also act on these tasks
operationId: hosted_task_tasks_sessions_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TasksSessionRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TasksSessionResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- OAuth2PasswordBearer: []
- OAuth2PasswordBearer: []
tags:
- Tasks
/v2/tasks/{task_id}:
get:
summary: Get Task
operationId: Get_Task_v2_tasks__task_id__get
security:
- OAuth2PasswordBearer: []
parameters:
- name: task_id
in: path
required: true
schema:
type: string
title: Task Id
- name: legal_entity_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Legal Entity Public Id
- name: user_or_platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: User Or Platform Public Id
- name: platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Platform Public Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformTask_2'
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformHttpException'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Tasks
patch:
summary: Update Task Status
description: 'Updates the status of the specified requirement task.
Question task''s status cannot be updated.
Task status can be updated to todo or done only.
After a successful update, the updated task is returned.'
operationId: patch_task_handler_v2_tasks__task_id__patch
security:
- OAuth2PasswordBearer: []
parameters:
- name: task_id
in: path
required: true
schema:
type: string
title: Task Id
- name: legal_entity_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Legal Entity Public Id
- name: user_or_platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: User Or Platform Public Id
- name: platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Platform Public Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformTaskUpdate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformUpdateTaskStatusResponse'
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformHttpException'
description: Unprocessable Entity
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformHttpException'
description: Not Found
tags:
- Tasks
/v2/tasks/questions/{question_task_id}:
patch:
summary: Update Question Task Answer
description: 'Answer a question task.
A question could accept a boolean (true/false) answer or numerical answer or a date
After a successful update, the task''s status is returned.'
operationId: patch_question_task_handler_v2_tasks_questions__question_task_id__patch
security:
- OAuth2PasswordBearer: []
parameters:
- name: question_task_id
in: path
required: true
schema:
type: string
title: Question Task Id
- name: legal_entity_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Legal Entity Public Id
- name: user_or_platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: User Or Platform Public Id
- name: platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Platform Public Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformQuestionTaskUpdate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformUpdateQuestionTaskStatusResponse'
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformHttpException'
description: Unprocessable Entity
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformHttpException'
description: Not Found
tags:
- Tasks
/v2/tasks/manage/session:
post:
summary: Create Tasks Management Session
description: 'Creates an authenticated session to enter the Mosey app, and returns
the url on which a user can view and manage tasks.
The tasks shown are dictated by the values provided in the request:
`task_type` and optionally `status`.
When requesting question tasks, only `todo` and `done` statuses
can be requested.'
operationId: Create_Tasks_Management_Session_v2_tasks_manage_session_post
security:
- OAuth2PasswordBearer: []
parameters:
- name: legal_entity_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Legal Entity Public Id
- name: user_or_platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: User Or Platform Public Id
- name: platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Platform Public Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HostedManageTasksSessionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/HostedSessionResponse'
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformHttpException'
description: Unprocessable Entity
tags:
- Tasks
/v2/tasks/{task_id}/session:
post:
summary: Create A Task Resolution Session
operationId: Create_a_Task_Resolution_Session_v2_tasks__task_id__session_post
security:
- OAuth2PasswordBearer: []
parameters:
- name: task_id
in: path
required: true
schema:
type: string
title: Task Id
- name: legal_entity_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Legal Entity Public Id
- name: user_or_platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: User Or Platform Public Id
- name: platform_public_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Platform Public Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HostedSessionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/HostedSessionResponse'
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformHttpException'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Tasks
components:
schemas:
PlatformTaskStatusUpdate:
type: string
enum:
- todo
- done
title: PlatformTaskStatusUpdate
HostedSessionResponse:
properties:
url:
type: string
title: Url
created_at:
type: string
title: Created At
expires_at:
type: string
title: Expires At
type: object
required:
- url
- created_at
- expires_at
title: HostedSessionResponse
TaskCategory:
type: string
enum:
- hr
- insurance
- payroll
- registration
- registration-maintenance
- tax
- sales-tax
title: TaskCategory
PlatformRequirementTaskAutomationStatus:
type: string
enum:
- started
- waiting_for_start_file_date
- waiting_on_state
- waiting_on_signature
- waiting_on_customer_response
- complete
- canceled
title: PlatformRequirementTaskAutomationStatus
PlatformTaskQuestion:
properties:
type:
type: string
const: question
title: Type
default: question
regions:
items:
$ref: '#/components/schemas/RegionRef'
type: array
title: Regions
region_scope:
$ref: '#/components/schemas/LocationScope'
description:
anyOf:
- type: string
- type: 'null'
title: Description
answer:
anyOf:
- type: string
- type: 'null'
title: Answer
is_editable:
type: boolean
title: Is Editable
resolutions:
$ref: '#/components/schemas/PlatformTaskQuestionResolutions'
categories:
items:
$ref: '#/components/schemas/TaskCategory'
type: array
title: Categories
type: object
required:
- regions
- region_scope
- is_editable
- resolutions
- categories
title: PlatformTaskQuestion
PlatformTaskResolutionEndpoint:
properties:
type:
type: string
const: endpoint
title: Type
default: endpoint
description:
type: string
title: Description
method:
type: string
title: Method
url:
type: string
title: Url
content_type:
type: string
title: Content Type
fields:
items:
$ref: '#/components/schemas/ActionField'
type: array
title: Fields
type: object
required:
- description
- method
- url
- content_type
- fields
title: PlatformTaskResolutionEndpoint
description: Directs a user to take action in order to resolve the task using an API endpoint.
FeeFixed:
properties:
type:
type: string
const: fixed
title: Type
default: fixed
amount:
type: string
title: Amount
type: object
required:
- amount
title: FeeFixed
TagInstance:
type: string
enum:
- certificate-of-good-standing
- charity-registration
- charity-registration-renewal
- employee-final-wage-payment
- employee-new-hire-reporting
- employee-onboarding
- employee-termination
- employee-requirement
- exemption
- foreign-qualification
- foreign-state-only
- handbook
- home-state-only
- initial-statement
- local-business-exemption-setup
- local-business-setup
- local-business-registration-renewal
- local-business-tax-setup
- local-payroll-setup
- newspaper-publication
- notices
- payroll-setup
- registered-agent
- sos-report
- check-account-logins
- setup
- tpa-setup
- task-applicability-override
- sales-tax
- warn-notice
- password-update
- mail-delivery
title: TagInstance
PlatformTaskRequirementCriteriaType:
type: string
enum:
- requirement-done
title: PlatformTaskRequirementCriteriaType
PlatformTaskQuestionResolutions:
properties:
hosted:
anyOf:
- $ref: '#/components/schemas/PlatformTaskResolutionHosted'
- type: 'null'
endpoint:
anyOf:
- $ref: '#/components/schemas/PlatformTaskResolutionEndpoint'
- type: 'null'
type: object
title: PlatformTaskQuestionResolutions
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
AccountTaskResolutionManualStepPath:
properties:
type:
type: string
title: Type
value:
type: string
title: Value
text:
anyOf:
- type: string
- type: 'null'
title: Text
type: object
required:
- type
- value
title: AccountTaskResolutionManualStepPath
AccountTaskStatus:
type: string
enum:
- todo
- dismissed
- in-progress
- done
title: AccountTaskStatus
AccountTaskResolutionManual:
properties:
type:
type: string
const: manual
title: Type
default: manual
steps:
items:
$ref: '#/components/schemas/AccountTaskResolutionManualStep'
type: array
title: Steps
type: object
required:
- steps
title: AccountTaskResolutionManual
TaskDefinitionType:
type: string
enum:
- requirement
- data-collection
- criteria-collection
title: TaskDefinitionType
TaskContextEmployee:
properties:
scope:
type: string
const: employee
title: Scope
default: employee
employee_id:
type: string
title: Employee Id
type: object
required:
- employee_id
title: TaskContextEmployee
TasksSessionResponse:
properties:
url:
type: string
title: Url
created_at:
type: string
title: Created At
expires_at:
type: string
title: Expires At
type: object
required:
- url
- created_at
- expires_at
title: TasksSessionResponse
PlatformTaskUpdate:
properties:
status:
$ref: '#/components/schemas/PlatformTaskStatusUpdate'
type: object
required:
- status
title: PlatformTaskUpdate
PlatformTaskUnlocks:
properties:
requirement_id:
type: string
title: Requirement Id
title:
type: string
title: Title
definition:
type: string
title: Definition
summary:
anyOf:
- type: string
- type: 'null'
title: Summary
resources:
items:
additionalProperties:
type: string
type: object
type: array
title: Resources
region:
$ref: '#/components/schemas/RegionRef'
tags:
anyOf:
- items:
$ref: '#/components/schemas/TagInstance'
type: array
- type: 'null'
title: Tags
source:
type: string
const: requirement
title: Source
default: requirement
type: object
required:
- requirement_id
- title
- definition
- resources
- region
title: PlatformTaskUnlocks
AccountTaskTag:
type: string
enum:
- certificate-of-good-standing
- charity-registration
- charity-registration-renewal
- employee-final-wage-payment
- employee-new-hire-reporting
- employee-onboarding
- employee-termination
- exemption
- foreign-qualification
- initial-statement
- local-business-setup
- local-payroll-setup
- newspaper-publication
- notices
- payroll-setup
- registered-agent
- sos-report
- setup
title: AccountTaskTag
FeeVariable:
properties:
type:
type: string
const: variable
title: Type
default: variable
reason:
type: string
title: Reason
type: object
required:
- reason
title: FeeVariable
PlatformAgencyAccount:
properties:
region:
$ref: '#/components/schemas/StateCode'
id:
type: string
title: Id
name:
type: string
title: Name
agency:
$ref: '#/components/schemas/PlatformAgency'
data:
items:
$ref: '#/components/schemas/PlatformAgencyAttributeAndValue'
type: array
title: Data
logins:
items:
$ref: '#/components/schemas/PlatformLegalEntityAccountLogin'
type: array
title: Logins
type: object
required:
- region
- id
- name
- agency
- data
- logins
title: PlatformAgencyAccount
AccountTaskResolutionManualStep:
properties:
id:
type: string
title: Id
title:
type: string
title: Title
description:
type: string
title: Description
paths:
items:
$ref: '#/components/schemas/AccountTaskResolutionManualStepPath'
type: array
title: Paths
order:
type: integer
title: Order
type: object
required:
- id
- title
- description
- paths
- order
title: AccountTaskResolutionManualStep
AccountTaskResolutionAction:
properties:
type:
type: string
const: action
title: Type
default: action
description:
type: string
title: Description
method:
type: string
title: Method
url:
type: string
title: Url
content_type:
type: string
title: Content Type
fields:
items:
$ref: '#/components/schemas/ActionField'
type: array
title: Fields
type: object
required:
- description
- method
- url
- content_type
- fields
title: AccountTaskResolutionAction
ActionField:
properties:
name:
type: string
title: Name
description:
type: string
title: Description
required:
type: boolean
title: Required
type:
type: string
title: Type
type: object
required:
- name
- description
- required
- type
title: ActionField
PlatformUpdateQuestionTaskStatusResponse:
properties:
unlocked_tasks:
items:
$ref: '#/components/schemas/PlatformTask_2'
type: array
title: Unlocked Tasks
type: object
required:
- unlocked_tasks
title: PlatformUpdateQuestionTaskStatusResponse
HostedManageTasksSessionRequest:
properties:
callback_url:
type: string
title: Callback Url
region_id:
anyOf:
- type: string
- type: 'null'
title: Region Id
task_type:
$ref: '#/components/schemas/PlatformTaskType'
status:
$ref: '#/components/schemas/TasksFilterStatus'
default: todo
type: object
required:
- callback_url
- task_type
title: HostedManageTasksSessionRequest
AccountTaskUpdateStatus:
properties:
status:
$ref: '#/components/schemas/AccountTaskStatus'
type: object
required:
- status
title: AccountTaskUpdateStatus
AccountTask:
properties:
id:
type: string
title: Id
context:
oneOf:
- $ref: '#/components/schemas/TaskContextEmployee'
- $ref: '#/components/schemas/TaskContextLegalEntity'
title: Context
discriminator:
propertyName: scope
mapping:
employee: '#/components/schemas/TaskContextEmployee'
legal-entity: '#/components/schemas/TaskContextLegalEntity'
definition:
$ref: '#/components/schemas/AccountTaskDefinition'
resolutions:
additionalProperties:
oneOf:
- $ref: '#/components/schemas/AccountTaskResolutionAction'
- $ref: '#/components/schemas/AccountTaskResolutionAutomate'
- $ref: '#/components/schemas/AccountTaskResolutionManual'
- $ref: '#/components/schemas/AccountTaskResolutionRedirect'
discriminator:
propertyName: type
mapping:
action: '#/components/schemas/AccountTaskResolutionAction'
automate: '#/components/schemas/AccountTaskResolutionAutomate'
manual: '#/components/schemas/AccountTaskResolutionManual'
redirect: '#/components/schemas/AccountTaskResolutionRedirect'
type: object
title: Resolutions
default_resolution_name:
type: string
title: Default Resolution Name
managed_provider:
anyOf:
- $ref: '#/components/schemas/AccountManagedProvider'
- type: 'null'
status:
$ref: '#/components/schemas/AccountTaskStatus'
period_start_date:
anyOf:
- type: string
format: date
- type: 'null'
title: Period Start Date
period_end_date:
anyOf:
- type: string
format: date
- type: 'null'
title: Period End Date
due_date:
anyOf:
- type: string
format: date
- type: 'null'
title: Due Date
unblocks:
items:
$ref: '#/components/schemas/AccountTaskDefinition'
type: array
title: Unblocks
fee:
anyOf:
- oneOf:
- $ref: '#/components/schemas/FeeFixed'
- $ref: '#/components/schemas/FeeRange'
- $ref: '#/components/schemas/FeeVariable'
discriminator:
propertyName: type
mapping:
fixed: '#/components/schemas/FeeFixed'
range: '#/components/schemas/FeeRange'
variable: '#/components/schemas/FeeVariable'
- type: 'null'
title: Fee
eta:
anyOf:
- $ref: '#/components/schemas/AccountTaskETA'
- type: 'null'
priority:
$ref: '#/components/schemas/TaskPriority'
default: medium
criteria_met:
items:
$ref: '#/components/schemas/AccountTaskCriteria'
type: array
title: Criteria Met
tags:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Tags
type: object
required:
- id
- context
- definition
- resolutions
- default_resolution_name
- status
- unblocks
- criteria_met
title: AccountTask
CriteriaType:
type: string
enum:
- has-employees
- employee-count
- employee-count-previous-year
- total-employee-count-in-period
- has-non-exempt-employees
- employee-terminated
- payroll-amount
- has-physical-location
- foreign-qualification-date
- date-attribute
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mosey/refs/heads/main/openapi/mosey-tasks-api-openapi.yml