> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getprimo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create an offboarding confirmation intent

> Create the OFFBOARDING_CONFIRMATION task of an offboarding: the leaver information to confirm (last day, contact email after they leave, phone) before the other steps open. A field you leave out is read from the offboarding and the employee. Returns the intent `id`, its `taskId` and the `ticketId` holding it. The task cannot be marked done by hand: `updateTaskStatus` refuses it with `TaskLockedByTypeError`, and it completes when the intent executes. The offboarding opens this task itself (`createOffboarding`); its `intentId` is on the task (`getTicket`). Create one only for a step the offboarding did not open. `createTicket` and `createTask` cannot make a typed task. Refused with `OFFBOARDING_NOT_FOUND`, `PARENT_TICKET_NOT_FOUND`, `PARENT_TICKET_IS_TYPED` or `PARENT_TICKET_IS_A_TASK` (pass the untyped ticket instead), `CONTACT_EMAIL_NOT_ON_EMPLOYEE` (the contact email must be one of the leaver emails).

Key: WriteScope: Company


## OpenAPI

````yaml https://api.getprimo.com/openapi.json post /offboarding-confirmation-intents
openapi: 3.1.1
info:
  title: Public API - BETA
  description: Read docs on https://docs.getprimo.com/
  version: '1.0'
  contact: {}
servers:
  - url: https://api.getprimo.com
security:
  - apikey: []
tags: []
paths:
  /offboarding-confirmation-intents:
    post:
      tags:
        - Offboardings
      summary: Create an offboarding confirmation intent
      description: >-
        Create the OFFBOARDING_CONFIRMATION task of an offboarding: the leaver
        information to confirm (last day, contact email after they leave, phone)
        before the other steps open. A field you leave out is read from the
        offboarding and the employee. Returns the intent `id`, its `taskId` and
        the `ticketId` holding it. The task cannot be marked done by hand:
        `updateTaskStatus` refuses it with `TaskLockedByTypeError`, and it
        completes when the intent executes. The offboarding opens this task
        itself (`createOffboarding`); its `intentId` is on the task
        (`getTicket`). Create one only for a step the offboarding did not open.
        `createTicket` and `createTask` cannot make a typed task. Refused with
        `OFFBOARDING_NOT_FOUND`, `PARENT_TICKET_NOT_FOUND`,
        `PARENT_TICKET_IS_TYPED` or `PARENT_TICKET_IS_A_TASK` (pass the untyped
        ticket instead), `CONTACT_EMAIL_NOT_ON_EMPLOYEE` (the contact email must
        be one of the leaver emails).
      operationId: createOffboardingConfirmationIntent
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOffboardingConfirmationIntentBody'
      responses:
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OffboardingConfirmationIntent_Output'
components:
  schemas:
    CreateOffboardingConfirmationIntentBody:
      type: object
      properties:
        lastDay:
          description: >-
            The leaver's last day. Defaults to the offboarding's termination
            date.
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        contactEmail:
          description: >-
            An address of the leaver to reach them after they leave; must be one
            of their emails. Null clears it.
          anyOf:
            - type: string
              format: email
              pattern: >-
                ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
            - type: 'null'
        phone:
          description: The leaver's phone. Defaults to the one on the employee.
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        offboardingId:
          description: The offboarding this step belongs to, from `getOffboardings`
          type: string
          pattern: ^[a-f\d]{24}$
        parentTicketId:
          description: >-
            The ticket to hold the task. Defaults to the offboarding ticket;
            never a typed task.
          anyOf:
            - type: string
              pattern: ^[a-f\d]{24}$
            - type: 'null'
      required:
        - offboardingId
    OffboardingConfirmationIntent_Output:
      type: object
      properties:
        id:
          type: string
          description: Intent id, to pass to its update and execute tools
        taskId:
          description: The typed task that tracks this step
          anyOf:
            - type: string
            - type: 'null'
        ticketId:
          description: >-
            The ticket holding that task, usually the offboarding ticket. Null
            if it could not be read back.
          anyOf:
            - type: string
            - type: 'null'
        offboardingId:
          type: string
        executedAt:
          description: When the intent executed; null until then
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        lastDay:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        contactEmail:
          anyOf:
            - type: string
            - type: 'null'
        phone:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - id
        - taskId
        - ticketId
        - offboardingId
        - executedAt
        - lastDay
        - contactEmail
        - phone
      additionalProperties: false
  securitySchemes:
    apikey:
      scheme: bearer
      bearerFormat: API key
      type: http
      description: >-
        Use your Primo API key in the Authorization header as `Bearer
        <API_KEY>`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.