> ## 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.

# Get a SaaS selection intent

> Return the intent behind the "Configure SaaS provisioning" task (type SAAS_SELECTION) of an onboarding ticket: the applications proposed for the employee as `proposedApps` — each with its `saasId`, groups, roles, licenses, organization units and credentials recipient — and `executedAt` once validated. Take the `intentId` from the task (`getTicket` or `getTasks`). `proposedApps` has the shape `executeSaasSelectionIntent` takes as `apps`: read it, adjust it, send it there to validate the selection. Refused with `INTENT_NOT_FOUND`.

<span className="badge-read">Key: Read</span><span className="badge-company">Scope: Company</span>


## OpenAPI

````yaml https://api.getprimo.com/openapi.json get /saas-selection-intents/{intentId}
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:
  /saas-selection-intents/{intentId}:
    get:
      tags:
        - Onboardings
      summary: Get a SaaS selection intent
      description: >-
        Return the intent behind the "Configure SaaS provisioning" task (type
        SAAS_SELECTION) of an onboarding ticket: the applications proposed for
        the employee as `proposedApps` — each with its `saasId`, groups, roles,
        licenses, organization units and credentials recipient — and
        `executedAt` once validated. Take the `intentId` from the task
        (`getTicket` or `getTasks`). `proposedApps` has the shape
        `executeSaasSelectionIntent` takes as `apps`: read it, adjust it, send
        it there to validate the selection. Refused with `INTENT_NOT_FOUND`.
      operationId: getSaasSelectionIntent
      parameters:
        - name: intentId
          required: true
          in: path
          schema:
            type: string
      responses:
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaasSelectionIntent_Output'
components:
  schemas:
    SaasSelectionIntent_Output:
      type: object
      properties:
        id:
          type: string
          description: Intent id — pass it to `executeSaasSelectionIntent`
        taskId:
          description: The SAAS_SELECTION task ("Configure SaaS provisioning")
          anyOf:
            - type: string
            - type: 'null'
        ticketId:
          description: The onboarding ticket holding that task. Null if unreadable.
          anyOf:
            - type: string
            - type: 'null'
        employeeId:
          type: string
        proposedApps:
          type: array
          description: >-
            The applications proposed for the employee when the task opened, in
            the shape `apps` takes
          items:
            type: object
            properties:
              saasId:
                description: The SaaS application (`id` from `getSaas`)
                type: string
              groups:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      description: >-
                        The entitlement id from `getSaasById` of the
                        application, or null for one only an admin knows by name
                      anyOf:
                        - type: string
                        - type: 'null'
                    name:
                      type: string
                      minLength: 1
                  required:
                    - id
                    - name
                  additionalProperties: false
              roles:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      description: >-
                        The entitlement id from `getSaasById` of the
                        application, or null for one only an admin knows by name
                      anyOf:
                        - type: string
                        - type: 'null'
                    name:
                      type: string
                      minLength: 1
                  required:
                    - id
                    - name
                  additionalProperties: false
              licenses:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      description: >-
                        The entitlement id from `getSaasById` of the
                        application, or null for one only an admin knows by name
                      anyOf:
                        - type: string
                        - type: 'null'
                    name:
                      type: string
                      minLength: 1
                  required:
                    - id
                    - name
                  additionalProperties: false
              organizationUnits:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      description: >-
                        The entitlement id from `getSaasById` of the
                        application, or null for one only an admin knows by name
                      anyOf:
                        - type: string
                        - type: 'null'
                    name:
                      type: string
                      minLength: 1
                  required:
                    - id
                    - name
                  additionalProperties: false
              credentialsRecipient:
                description: >-
                  Who receives the password of a new account; empty email for
                  MANAGER or TASK_OWNER
                anyOf:
                  - type: object
                    properties:
                      type:
                        description: >-
                          Who receives the temporary password of a new account.
                          EMPLOYEE sends it to the personal email; MANAGER and
                          TASK_OWNER are resolved when the account is created.
                        type: string
                        enum:
                          - ADMIN
                          - EMPLOYEE
                          - MANAGER
                          - TASK_OWNER
                      email:
                        type: string
                    required:
                      - type
                      - email
                    additionalProperties: false
                  - type: 'null'
            required:
              - saasId
              - groups
              - roles
              - licenses
              - organizationUnits
              - credentialsRecipient
            additionalProperties: false
        executedAt:
          description: When the selection was validated; null while it is open
          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'
        createdAt:
          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))$
        updatedAt:
          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))$
      required:
        - id
        - taskId
        - ticketId
        - employeeId
        - proposedApps
        - executedAt
        - createdAt
        - updatedAt
      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.