---
title: "Create Offboarding Task"
method: POST
path: "/api/v1/task/offboarding"
tags: ["Task"]
---

# Create Offboarding Task

`POST /api/v1/task/offboarding`

Invokes the c1.api.task.v1.TaskService.CreateOffboardingTask method.

## Request body

- C1ApiTaskV1TaskServiceCreateOffboardingRequest — The TaskServiceCreateOffboardingRequest message.
  - `description` string — The description field.
  - `expandMask` C1ApiTaskV1TaskExpandMask — The task expand mask is an array of strings that specifes the related objects the requester wishes to have returned when making a request where the expand mask is part of the input. Use '*' to view all possible responses.
    - `paths` string[], nullable — A list of paths to expand in the response. May be any combination of "*", "access_review_id", "user_id", "created_by_user_id", "app_id", "app_user_id", "app_entitlement_ids", "step_approver_ids", "identity_user_id", and "insight_ids".
  - `subjectUserId` string — The subjectUserId field.

## Response `200`

Successful response

- C1ApiTaskV1TaskServiceCreateOffboardingResponse — The TaskServiceCreateOffboardingResponse message.
  - `expanded` object[], nullable — The expanded field.
    - `@type` string — The type of the serialized message.
  - `taskView` C1ApiTaskV1TaskView — Contains a task and JSONPATH expressions that describe where in the expanded array related objects are located. This view can be used to display a fully-detailed dashboard of task information.
    - `accessReviewPath` string — JSONPATH expression indicating the location of the AccessReview object in the expanded array
    - `appPath` string — JSONPATH expression indicating the location of the App object in the expanded array
    - `appUserPath` string — JSONPATH expression indicating the location of the AppUser object in the expanded array
    - `createdByUserPath` string — JSONPATH expression indicating the location of the object of the User that created the ticket in the expanded array
    - `entitlementsPath` string — JSONPATH expression indicating the location of the Entitlements objects in the expanded array
    - `identityUserPath` string — JSONPATH expression indicating the location of the User object of the User that this task is targeting in the expanded array. This is the user that is the identity when the target of a task is an app user.
    - `insightsPath` string — JSONPATH expression indicating the location of the Insights objects in the expanded array
    - `stepApproversPath` string — JSONPATH expression indicating the location of the StepApproverUsers objects in the expanded array
    - `task` C1ApiTaskV1Task — A fully-fleged task object. Includes its policy, references to external apps, its type, its processing history, and more.
      - `actions` string[], nullable — The actions that can be performed on the task by the current user.
      - `analysisId` string — The ID of the analysis object associated with this task created by an analysis workflow if the analysis feature is enabled for your tenant.
      - `annotations` object[], nullable — An array of `google.protobuf.Any` annotations with various base64-encoded data.
        - `@type` string — The type of the serialized message.
      - `commentCount` integer — The count of comments.
      - `createdAt` string, date-time
      - `createdByUserId` string — The ID of the user that is the creator of this task. This may not always match the userId field.
      - `deletedAt` string, date-time
      - `description` string — The description of the task. This is also known as justification.
      - `displayName` string — The display name of the task.
      - `emergencyAccess` boolean — A field indicating whether this task was created using an emergency access flow, or escalated to emergency access. On task creation, it will also use the app entitlement's emergency policy when possible.
      - `externalRefs` C1ApiTaskV1ExternalRef[], nullable — An array of external references to the task. Historically that has been items like Jira task IDs. This is currently unused, but may come back in the future for integrations.
        - `externalRefSource` 'UNSPECIFIED' | 'JIRA' — The source of the external reference.
        - `name` string — The name of the external reference.
        - `url` string — The URL to the external reference.
      - `id` string — The ID of the task.
      - `insightIds` string[], nullable — The insightIds field.
      - `numericId` string, int64 — A human-usable numeric ID of a task which can be included in place of the fully qualified task id in path parmeters (but not search queries).
      - `origin` 'TASK_ORIGIN_UNSPECIFIED' | 'TASK_ORIGIN_PROFILE_MEMBERSHIP_AUTOMATION' | 'TASK_ORIGIN_SLACK' | 'TASK_ORIGIN_API' | 'TASK_ORIGIN_JIRA' | 'TASK_ORIGIN_COPILOT' | 'TASK_ORIGIN_WEBAPP' | 'TASK_ORIGIN_TIME_REVOKE' | 'TASK_ORIGIN_NON_USAGE_REVOKE' — The origin field.
      - `policy` C1ApiPolicyV1PolicyInstance — A policy instance is an object that contains a reference to the policy it was created from, the currently executing step, the next steps, and the history of previously completed steps.
        - `current` C1ApiPolicyV1PolicyStepInstance — The policy step instance includes a reference to an instance of a policy step that tracks state and has a unique ID. This message contains a oneof named instance. Only a single field of the following list may be set at a time: - approval - provision - accept - reject - wait
          - `accept` C1ApiPolicyV1AcceptInstance, nullable — This policy step indicates that a ticket should have an approved outcome. This is a terminal approval state and is used to explicitly define the end of approval steps. The instance is just a marker for it being copied into an active policy.
            - `acceptMessage` string — An optional message to include in the comments when a task is automatically accepted.
          - `approval` C1ApiPolicyV1ApprovalInstance, nullable — The approval instance object describes the way a policy step should be approved as well as its outcomes and state. This message contains a oneof named outcome. Only a single field of the following list may be set at a time: - approved - denied - reassigned - restarted - reassignedByError - skipped
            - `approval` C1ApiPolicyV1Approval, nullable — The Approval message. This message contains a oneof named typ. Only a single field of the following list may be set at a time: - users - manager - appOwners - group - self - entitlementOwners - expression - webhook - resourceOwners - agent
              - …
            - `approved` C1ApiPolicyV1ApprovedAction, nullable — The approved action indicates that the approvalinstance had an outcome of approved.
              - …
            - `denied` C1ApiPolicyV1DeniedAction, nullable — The denied action indicates that the c1.api.policy.v1.ApprovalInstance had an outcome of denied.
              - …
            - `escalationInstance` C1ApiPolicyV1EscalationInstance — The EscalationInstance message. This message contains a oneof named escalation_policy. Only a single field of the following list may be set at a time: - replacePolicy - reassignToApprovers
              - …
            - `reassigned` C1ApiPolicyV1ReassignedAction, nullable — The ReassignedAction object describes the outcome of a policy step that has been reassigned.
              - …
            - `reassignedByError` C1ApiPolicyV1ReassignedByErrorAction, nullable — The ReassignedByErrorAction object describes the outcome of a policy step that has been reassigned because it had an error provisioning.
              - …
            - `restarted` C1ApiPolicyV1RestartAction, nullable — The restart action describes the outcome of policy steps for when the task was restarted. This can be applied to multiple steps since restart skips all pending next steps.
              - …
            - `skipped` C1ApiPolicyV1SkippedAction, nullable — The SkippedAction object describes the outcome of a policy step that has been skipped.
              - …
            - `state` 'APPROVAL_INSTANCE_STATE_UNSPECIFIED' | 'APPROVAL_INSTANCE_STATE_INIT' | 'APPROVAL_INSTANCE_STATE_SENDING_NOTIFICATIONS' | 'APPROVAL_INSTANCE_STATE_WAITING' | 'APPROVAL_INSTANCE_STATE_DONE' — The state of the approval instance
          - `id` string — The ID of the PolicyStepInstance. This is required by many action submission endpoints to indicate what step you're approving.
          - `policyGenerationId` string — The policy generation id refers to the version of the policy that this step was created from.
          - `provision` C1ApiPolicyV1ProvisionInstance, nullable — A provision instance describes the specific configuration of an executing provision policy step including actions taken and notification id. This message contains a oneof named outcome. Only a single field of the following list may be set at a time: - completed - cancelled - errored - reassignedByError - skipped
            - `cancelled` C1ApiPolicyV1CancelledAction, nullable — The outcome of a provision instance that is cancelled.
              - …
            - `completed` C1ApiPolicyV1CompletedAction, nullable — The outcome of a provision instance that has been completed succesfully.
              - …
            - `errored` C1ApiPolicyV1ErroredAction, nullable — The outcome of a provision instance that has errored.
              - …
            - `externalTicketId` string — This indicates the external ticket id for this step.
            - `externalTicketProvisionerConfigId` string — This indicates the external ticket provisioner config id for this step.
            - `notificationId` string — This indicates the notification id for this step.
            - `provision` C1ApiPolicyV1Provision, nullable — The provision step references a provision policy for this step.
              - …
            - `reassignedByError` C1ApiPolicyV1ReassignedByErrorAction, nullable — The ReassignedByErrorAction object describes the outcome of a policy step that has been reassigned because it had an error provisioning.
              - …
            - `skipped` C1ApiPolicyV1SkippedAction, nullable — The SkippedAction object describes the outcome of a policy step that has been skipped.
              - …
            - `state` 'PROVISION_INSTANCE_STATE_UNSPECIFIED' | 'PROVISION_INSTANCE_STATE_INIT' | 'PROVISION_INSTANCE_STATE_CREATE_CONNECTOR_ACTIONS_FOR_TARGET' | 'PROVISION_INSTANCE_STATE_SENDING_NOTIFICATIONS' | 'PROVISION_INSTANCE_STATE_WAITING' | 'PROVISION_INSTANCE_STATE_WEBHOOK' | 'PROVISION_INSTANCE_STATE_WEBHOOK_WAITING' | 'PROVISION_INSTANCE_STATE_EXTERNAL_TICKET' | 'PROVISION_INSTANCE_STATE_EXTERNAL_TICKET_WAITING' | 'PROVISION_INSTANCE_STATE_DONE' — This property indicates the current state of this step.
            - `webhookId` string — This indicates the webhook id for this step.
            - `webhookInstanceId` string — This indicates the webhook instance id for this step.
          - `reject` C1ApiPolicyV1RejectInstance, nullable — This policy step indicates that a ticket should have a denied outcome. This is a terminal approval state and is used to explicitly define the end of approval steps. The instance is just a marker for it being copied into an active policy.
            - `rejectMessage` string — An optional message to include in the comments when a task is automatically rejected.
          - `state` 'POLICY_STEP_STATE_UNSPECIFIED' | 'POLICY_STEP_STATE_ACTIVE' | 'POLICY_STEP_STATE_DONE' — The state of the step, which is either active or done.
          - `wait` C1ApiPolicyV1WaitInstance, nullable — Used by the policy engine to describe an instantiated wait step. This message contains a oneof named until. Only a single field of the following list may be set at a time: - condition This message contains a oneof named outcome. Only a single field of the following list may be set at a time: - succeeded - timedOut - skipped
            - `commentOnFirstWait` string — The comment to post on first failed check.
            - `commentOnTimeout` string — The comment to post if we timeout.
            - `condition` C1ApiPolicyV1WaitConditionInstance, nullable — Used by the policy engine to describe an instantiated condition to wait on.
              - …
            - `name` string — The name field.
            - `skipped` C1ApiPolicyV1SkippedAction, nullable — The SkippedAction object describes the outcome of a policy step that has been skipped.
              - …
            - `startedWaitingAt` string, date-time
            - `state` 'WAIT_INSTANCE_STATE_UNSPECIFIED' | 'WAIT_INSTANCE_STATE_WAITING' | 'WAIT_INSTANCE_STATE_COMPLETED' | 'WAIT_INSTANCE_STATE_TIMED_OUT' — The state field.
            - `succeeded` C1ApiPolicyV1WaitInstanceConditionSucceeded, nullable — The ConditionSucceeded message.
              - …
            - `timedOut` C1ApiPolicyV1WaitInstanceConditionTimedOut, nullable — The ConditionTimedOut message.
              - …
            - `timeout` string, date-time
            - `timeoutDuration` string, duration
        - `history` C1ApiPolicyV1PolicyStepInstance[], nullable — An array of steps that were previously processed by the ticket with their outcomes set, in order.
          - `accept` C1ApiPolicyV1AcceptInstance, nullable — This policy step indicates that a ticket should have an approved outcome. This is a terminal approval state and is used to explicitly define the end of approval steps. The instance is just a marker for it being copied into an active policy.
            - `acceptMessage` string — An optional message to include in the comments when a task is automatically accepted.
          - `approval` C1ApiPolicyV1ApprovalInstance, nullable — The approval instance object describes the way a policy step should be approved as well as its outcomes and state. This message contains a oneof named outcome. Only a single field of the following list may be set at a time: - approved - denied - reassigned - restarted - reassignedByError - skipped
            - `approval` C1ApiPolicyV1Approval, nullable — The Approval message. This message contains a oneof named typ. Only a single field of the following list may be set at a time: - users - manager - appOwners - group - self - entitlementOwners - expression - webhook - resourceOwners - agent
              - …
            - `approved` C1ApiPolicyV1ApprovedAction, nullable — The approved action indicates that the approvalinstance had an outcome of approved.
              - …
            - `denied` C1ApiPolicyV1DeniedAction, nullable — The denied action indicates that the c1.api.policy.v1.ApprovalInstance had an outcome of denied.
              - …
            - `escalationInstance` C1ApiPolicyV1EscalationInstance — The EscalationInstance message. This message contains a oneof named escalation_policy. Only a single field of the following list may be set at a time: - replacePolicy - reassignToApprovers
              - …
            - `reassigned` C1ApiPolicyV1ReassignedAction, nullable — The ReassignedAction object describes the outcome of a policy step that has been reassigned.
              - …
            - `reassignedByError` C1ApiPolicyV1ReassignedByErrorAction, nullable — The ReassignedByErrorAction object describes the outcome of a policy step that has been reassigned because it had an error provisioning.
              - …
            - `restarted` C1ApiPolicyV1RestartAction, nullable — The restart action describes the outcome of policy steps for when the task was restarted. This can be applied to multiple steps since restart skips all pending next steps.
              - …
            - `skipped` C1ApiPolicyV1SkippedAction, nullable — The SkippedAction object describes the outcome of a policy step that has been skipped.
              - …
            - `state` 'APPROVAL_INSTANCE_STATE_UNSPECIFIED' | 'APPROVAL_INSTANCE_STATE_INIT' | 'APPROVAL_INSTANCE_STATE_SENDING_NOTIFICATIONS' | 'APPROVAL_INSTANCE_STATE_WAITING' | 'APPROVAL_INSTANCE_STATE_DONE' — The state of the approval instance
          - `id` string — The ID of the PolicyStepInstance. This is required by many action submission endpoints to indicate what step you're approving.
          - `policyGenerationId` string — The policy generation id refers to the version of the policy that this step was created from.
          - `provision` C1ApiPolicyV1ProvisionInstance, nullable — A provision instance describes the specific configuration of an executing provision policy step including actions taken and notification id. This message contains a oneof named outcome. Only a single field of the following list may be set at a time: - completed - cancelled - errored - reassignedByError - skipped
            - `cancelled` C1ApiPolicyV1CancelledAction, nullable — The outcome of a provision instance that is cancelled.
              - …
            - `completed` C1ApiPolicyV1CompletedAction, nullable — The outcome of a provision instance that has been completed succesfully.
              - …
            - `errored` C1ApiPolicyV1ErroredAction, nullable — The outcome of a provision instance that has errored.
              - …
            - `externalTicketId` string — This indicates the external ticket id for this step.
            - `externalTicketProvisionerConfigId` string — This indicates the external ticket provisioner config id for this step.
            - `notificationId` string — This indicates the notification id for this step.
            - `provision` C1ApiPolicyV1Provision, nullable — The provision step references a provision policy for this step.
              - …
            - `reassignedByError` C1ApiPolicyV1ReassignedByErrorAction, nullable — The ReassignedByErrorAction object describes the outcome of a policy step that has been reassigned because it had an error provisioning.
              - …
            - `skipped` C1ApiPolicyV1SkippedAction, nullable — The SkippedAction object describes the outcome of a policy step that has been skipped.
              - …
            - `state` 'PROVISION_INSTANCE_STATE_UNSPECIFIED' | 'PROVISION_INSTANCE_STATE_INIT' | 'PROVISION_INSTANCE_STATE_CREATE_CONNECTOR_ACTIONS_FOR_TARGET' | 'PROVISION_INSTANCE_STATE_SENDING_NOTIFICATIONS' | 'PROVISION_INSTANCE_STATE_WAITING' | 'PROVISION_INSTANCE_STATE_WEBHOOK' | 'PROVISION_INSTANCE_STATE_WEBHOOK_WAITING' | 'PROVISION_INSTANCE_STATE_EXTERNAL_TICKET' | 'PROVISION_INSTANCE_STATE_EXTERNAL_TICKET_WAITING' | 'PROVISION_INSTANCE_STATE_DONE' — This property indicates the current state of this step.
            - `webhookId` string — This indicates the webhook id for this step.
            - `webhookInstanceId` string — This indicates the webhook instance id for this step.
          - `reject` C1ApiPolicyV1RejectInstance, nullable — This policy step indicates that a ticket should have a denied outcome. This is a terminal approval state and is used to explicitly define the end of approval steps. The instance is just a marker for it being copied into an active policy.
            - `rejectMessage` string — An optional message to include in the comments when a task is automatically rejected.
          - `state` 'POLICY_STEP_STATE_UNSPECIFIED' | 'POLICY_STEP_STATE_ACTIVE' | 'POLICY_STEP_STATE_DONE' — The state of the step, which is either active or done.
          - `wait` C1ApiPolicyV1WaitInstance, nullable — Used by the policy engine to describe an instantiated wait step. This message contains a oneof named until. Only a single field of the following list may be set at a time: - condition This message contains a oneof named outcome. Only a single field of the following list may be set at a time: - succeeded - timedOut - skipped
            - `commentOnFirstWait` string — The comment to post on first failed check.
            - `commentOnTimeout` string — The comment to post if we timeout.
            - `condition` C1ApiPolicyV1WaitConditionInstance, nullable — Used by the policy engine to describe an instantiated condition to wait on.
              - …
            - `name` string — The name field.
            - `skipped` C1ApiPolicyV1SkippedAction, nullable — The SkippedAction object describes the outcome of a policy step that has been skipped.
              - …
            - `startedWaitingAt` string, date-time
            - `state` 'WAIT_INSTANCE_STATE_UNSPECIFIED' | 'WAIT_INSTANCE_STATE_WAITING' | 'WAIT_INSTANCE_STATE_COMPLETED' | 'WAIT_INSTANCE_STATE_TIMED_OUT' — The state field.
            - `succeeded` C1ApiPolicyV1WaitInstanceConditionSucceeded, nullable — The ConditionSucceeded message.
              - …
            - `timedOut` C1ApiPolicyV1WaitInstanceConditionTimedOut, nullable — The ConditionTimedOut message.
              - …
            - `timeout` string, date-time
            - `timeoutDuration` string, duration
        - `next` C1ApiPolicyV1PolicyStep[], nullable — An array of steps that will be processed by the ticket, in order.
          - `accept` C1ApiPolicyV1Accept, nullable — This policy step indicates that a ticket should have an approved outcome. This is a terminal approval state and is used to explicitly define the end of approval steps.
            - `acceptMessage` string — An optional message to include in the comments when a task is automatically accepted.
          - `approval` C1ApiPolicyV1Approval, nullable — The Approval message. This message contains a oneof named typ. Only a single field of the following list may be set at a time: - users - manager - appOwners - group - self - entitlementOwners - expression - webhook - resourceOwners - agent
            - `agent` C1ApiPolicyV1AgentApproval, nullable — The agent to assign the task to.
              - …
            - `allowReassignment` boolean — Configuration to allow reassignment by reviewers during this step.
            - `allowedReassignees` string[], nullable — List of users for whom this step can be reassigned.
            - `appOwners` C1ApiPolicyV1AppOwnerApproval, nullable — App owner approval provides the configuration for an approval step when the app owner is the target.
              - …
            - `assigned` boolean — A field indicating whether this step is assigned.
            - `entitlementOwners` C1ApiPolicyV1EntitlementOwnerApproval, nullable — The entitlement owner approval allows configuration of the approval step when the target approvers are the entitlement owners.
              - …
            - `escalation` C1ApiPolicyV1Escalation — The Escalation message. This message contains a oneof named escalation_policy. Only a single field of the following list may be set at a time: - replacePolicy - reassignToApprovers
              - …
            - `escalationEnabled` boolean — Whether escalation is enabled for this step.
            - `expression` C1ApiPolicyV1ExpressionApproval, nullable — The ExpressionApproval message.
              - …
            - `group` C1ApiPolicyV1AppGroupApproval, nullable — The AppGroupApproval object provides the configuration for setting a group as the approvers of an approval policy step.
              - …
            - `manager` C1ApiPolicyV1ManagerApproval, nullable — The manager approval object provides configuration options for approval when the target of the approval is the manager of the user in the task.
              - …
            - `requireApprovalReason` boolean — Configuration to require a reason when approving this step.
            - `requireDenialReason` boolean — Configuration to require a reason when denying this step.
            - `requireReassignmentReason` boolean — Configuration to require a reason when reassigning this step.
            - `requiresStepUpProviderId` string — The ID of a step-up authentication provider that will be required for approvals on this step. If set, approvers must complete the step-up authentication flow before they can approve.
            - `resourceOwners` C1ApiPolicyV1ResourceOwnerApproval, nullable — The resource owner approval allows configuration of the approval step when the target approvers are the resource owners.
              - …
            - `self` C1ApiPolicyV1SelfApproval, nullable — The self approval object describes the configuration of a policy step that needs to be approved by the target of the request.
              - …
            - `users` C1ApiPolicyV1UserApproval, nullable — The user approval object describes the approval configuration of a policy step that needs to be approved by a specific list of users.
              - …
            - `webhook` C1ApiPolicyV1WebhookApproval, nullable — The WebhookApproval message.
              - …
          - `provision` C1ApiPolicyV1Provision, nullable — The provision step references a provision policy for this step.
            - `assigned` boolean — A field indicating whether this step is assigned.
            - `provisionPolicy` C1ApiPolicyV1ProvisionPolicy — ProvisionPolicy is a oneOf that indicates how a provision step should be processed. This message contains a oneof named typ. Only a single field of the following list may be set at a time: - connector - manual - delegated - webhook - multiStep - externalTicket - unconfigured
              - …
            - `provisionTarget` C1ApiPolicyV1ProvisionTarget — ProvisionTarget indicates the specific app, app entitlement, and if known, the app user and grant duration of this provision step
              - …
          - `reject` C1ApiPolicyV1Reject, nullable — This policy step indicates that a ticket should have a denied outcome. This is a terminal approval state and is used to explicitly define the end of approval steps.
            - `rejectMessage` string — An optional message to include in the comments when a task is automatically rejected.
          - `wait` C1ApiPolicyV1Wait, nullable — Define a Wait step for a policy to wait on a condition to be met. This message contains a oneof named until. Only a single field of the following list may be set at a time: - condition
            - `commentOnFirstWait` string — The comment to post on first failed check.
            - `commentOnTimeout` string — The comment to post if we timeout.
            - `condition` C1ApiPolicyV1WaitCondition, nullable — The WaitCondition message.
              - …
            - `name` string — The name of our condition to show on the task details page
            - `timeoutDuration` string, duration
        - `policy` C1ApiPolicyV1Policy — A policy describes the behavior of the ConductorOne system when processing a task. You can describe the type, approvers, fallback behavior, and escalation processes.
          - `createdAt` string, date-time
          - `deletedAt` string, date-time
          - `description` string — The description of the Policy.
          - `displayName` string — The display name of the Policy.
          - `id` string — The ID of the Policy.
          - `policySteps` object — A map of string(policy type) to steps in a policy. This structure is leftover from a previous design, and should only ever have one key->value set.
          - `policyType` 'POLICY_TYPE_UNSPECIFIED' | 'POLICY_TYPE_GRANT' | 'POLICY_TYPE_REVOKE' | 'POLICY_TYPE_CERTIFY' | 'POLICY_TYPE_ACCESS_REQUEST' | 'POLICY_TYPE_PROVISION' — Indicates the type of this policy. Can also be used to get the value from policySteps.
          - `postActions` C1ApiPolicyV1PolicyPostActions[], nullable — An array of actions (ordered) to take place after a policy completes processing.
            - `certifyRemediateImmediately` boolean, nullable — ONLY valid when used in a CERTIFY Ticket Type: Causes any deprovision or change in a grant to be applied when Certify Ticket is closed. This field is part of the `action` oneof. See the documentation for `c1.api.policy.v1.PolicyPostActions` for more details.
          - `reassignTasksToDelegates` boolean — A policy configuration option that allows for reassinging tasks to delgated users. This level of delegation refers to the individual delegates users set on their account.
          - `rules` C1ApiPolicyV1Rule[], nullable — The rules field.
            - `condition` string — The condition field.
            - `policyKey` string — This is a reference to a list of policy steps from `policy_steps`
          - `systemBuiltin` boolean — Whether this policy is a builtin system policy. Builtin system policies cannot be edited.
          - `updatedAt` string, date-time
      - `policyGenerationId` string — The policy generation id refers to the current policy's generation ID. This is changed when the policy is changed on a task.
      - `processing` 'TASK_PROCESSING_TYPE_UNSPECIFIED' | 'TASK_PROCESSING_TYPE_PROCESSING' | 'TASK_PROCESSING_TYPE_WAITING' | 'TASK_PROCESSING_TYPE_DONE' — The processing state of a task as defined by the `processing_enum`
      - `recommendation` 'INSIGHT_RECOMMENDATION_UNSPECIFIED' | 'INSIGHT_RECOMMENDATION_APPROVE' | 'INSIGHT_RECOMMENDATION_DENY' | 'INSIGHT_RECOMMENDATION_REVIEW' — The recommendation field.
      - `state` 'TASK_STATE_UNSPECIFIED' | 'TASK_STATE_OPEN' | 'TASK_STATE_CLOSED' — The current state of the task as defined by the `state_enum`
      - `stepApproverIds` string[], nullable — An array of IDs belonging to Identity Users that are allowed to review this step in a task.
      - `type` C1ApiTaskV1TaskType — Task Type provides configuration for the type of task: certify, grant, or revoke This message contains a oneof named task_type. Only a single field of the following list may be set at a time: - grant - revoke - certify - offboarding
        - `certify` C1ApiTaskV1TaskTypeCertify, nullable — The TaskTypeCertify message indicates that a task is a certify task and all related details.
          - `accessReviewId` string — The ID of the access review.
          - `accessReviewSelection` string — The ID of the specific access review object that owns this certify task. This is also set on a revoke task if the revoke task is created from the denied outcome of a certify task.
          - `appEntitlementId` string — The ID of the app entitlement.
          - `appId` string — The ID of the app.
          - `appUserId` string — The ID of the app user.
          - `identityUserId` string — The ID of the user.
          - `outcome` 'CERTIFY_OUTCOME_UNSPECIFIED' | 'CERTIFY_OUTCOME_CERTIFIED' | 'CERTIFY_OUTCOME_DECERTIFIED' | 'CERTIFY_OUTCOME_ERROR' | 'CERTIFY_OUTCOME_CANCELLED' | 'CERTIFY_OUTCOME_WAIT_TIMED_OUT' — The outcome of the certification.
          - `outcomeTime` string, date-time
        - `grant` C1ApiTaskV1TaskTypeGrant, nullable — The TaskTypeGrant message indicates that a task is a grant task and all related details.
          - `appEntitlementId` string — The ID of the app entitlement.
          - `appId` string — The ID of the app.
          - `appUserId` string — The ID of the app user.
          - `grantDuration` string, duration
          - `identityUserId` string — The ID of the user.
          - `outcome` 'GRANT_OUTCOME_UNSPECIFIED' | 'GRANT_OUTCOME_GRANTED' | 'GRANT_OUTCOME_DENIED' | 'GRANT_OUTCOME_ERROR' | 'GRANT_OUTCOME_CANCELLED' | 'GRANT_OUTCOME_WAIT_TIMED_OUT' — The outcome of the grant.
          - `outcomeTime` string, date-time
          - `source` C1ApiTaskV1TaskGrantSource — The TaskGrantSource message tracks which external URL was the source of the specificed grant ticket.
            - `externalUrl` string — The external url source of the grant ticket.
            - `integrationId` string — The integration id for the source of tickets.
            - `requestId` string — the request id for the grant ticket if the source is external
        - `offboarding` C1ApiTaskV1TaskTypeOffboarding, nullable — The TaskTypeOffboarding message.
          - `outcome` 'OFFBOARDING_OUTCOME_UNSPECIFIED' | 'OFFBOARDING_OUTCOME_IN_PROGRESS' | 'OFFBOARDING_OUTCOME_DONE' | 'OFFBOARDING_OUTCOME_ERROR' | 'OFFBOARDING_OUTCOME_CANCELLED' — The outcome field.
          - `outcomeTime` string, date-time
          - `subjectUserId` string — The subjectUserId field.
        - `revoke` C1ApiTaskV1TaskTypeRevoke, nullable — The TaskTypeRevoke message indicates that a task is a revoke task and all related details.
          - `appEntitlementId` string — The ID of the app entitlement.
          - `appId` string — The ID of the app.
          - `appUserId` string — The ID of the app user.
          - `identityUserId` string — The ID of the user.
          - `outcome` 'REVOKE_OUTCOME_UNSPECIFIED' | 'REVOKE_OUTCOME_REVOKED' | 'REVOKE_OUTCOME_DENIED' | 'REVOKE_OUTCOME_ERROR' | 'REVOKE_OUTCOME_CANCELLED' | 'REVOKE_OUTCOME_WAIT_TIMED_OUT' — The outcome of the revoke.
          - `outcomeTime` string, date-time
          - `source` C1ApiTaskV1TaskRevokeSource — The TaskRevokeSource message indicates the source of the revoke task is one of expired, nonUsage, request, or review. This message contains a oneof named origin. Only a single field of the following list may be set at a time: - review - request - expired - nonUsage
            - `expired` C1ApiTaskV1TaskRevokeSourceExpired, nullable — The TaskRevokeSourceExpired message indicates that the source of the revoke task is due to a grant expiring.
              - …
            - `nonUsage` C1ApiTaskV1TaskRevokeSourceNonUsage, nullable — The TaskRevokeSourceNonUsage message indicates that the source of the revoke task is due to the grant not being used.
              - …
            - `request` C1ApiTaskV1TaskRevokeSourceRequest, nullable — The TaskRevokeSourceRequest message indicates that the source of the revoke task was a request.
              - …
            - `review` C1ApiTaskV1TaskRevokeSourceReview, nullable — The TaskRevokeSourceReview message tracks which access review was the source of the specificed revoke ticket.
              - …
      - `updatedAt` string, date-time
      - `userId` string — The ID of the user that is the target of this task. This may be empty if we're targeting a specific app user that has no known identity user.
    - `userPath` string — JSONPATH expression indicating the location of the User object in the expanded array. This is the user that is a direct target of the ticket without a specific relationship to a potentially non-existent app user.

## Changes

- **2025-05-30** `d5c56e8615fe` — 14 info
  - added the optional property `taskView/task/policy/current/approval/approval/agent/agentMode` to the response with the `200` status
  - added the optional property `taskView/task/policy/current/approval/approval/escalation` to the response with the `200` status
  - added the optional property `taskView/task/policy/current/approval/approval/escalationEnabled` to the response with the `200` status
  - added the optional property `taskView/task/policy/current/approval/escalationInstance` to the response with the `200` status
  - …10 more
- **2025-05-07** `112d28188277` — 24 info
  - added the optional property `taskView/task/policy/current/approval/approval/allowedReassignees` to the response with the `200` status
  - added the optional property `taskView/task/policy/current/provision/externalTicketId` to the response with the `200` status
  - added the optional property `taskView/task/policy/current/provision/externalTicketProvisionerConfigId` to the response with the `200` status
  - added the optional property `taskView/task/policy/current/provision/provision/provisionPolicy/connector/account/doNotSave` to the response with the `200` status
  - …20 more
- …earlier changes not shown

[Full history](https://skmtc.dev/conductorone/apis/c1-api/changes/api/v1/task/offboarding/post.md)

---

[API](https://skmtc.dev/conductorone/apis/c1-api.md) · [All operations](https://skmtc.dev/conductorone/apis/c1-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/conductorone/c1-api/revisions/d5c56e8615fe/schema)
