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

# Create Profile (Onboarding)

> The **POST** method on the resource group can be used to create a new profile while performing screening on that profile at the same time. This method allows for the creation of profiles with potential onboarding review tasks, and immediate enrolment into ongoing monitoring.



## OpenAPI

````yaml /api-reference/profiles.json post /onboarding/profiles
openapi: 3.1.0
info:
  title: Profiles API
  version: 1.0.0
  description: >-
    Customer-facing API endpoints for managing screening profiles and updating
    potential match review workflows.
servers:
  - description: The production API server for Minerva AI for managing screening profiles
    url: https://api.gominerva.com/clm/v1
security: []
tags:
  - name: Profile Management
    description: Create, list, update, and comment on screening workflow profiles.
  - name: Potential Matches
    description: Update review workflow state for potential matches returned by searches.
externalDocs:
  description: ''
  url: ''
paths:
  /onboarding/profiles:
    post:
      tags:
        - Profile Management
      summary: Create Profile (Onboarding)
      description: >-
        The **POST** method on the resource group can be used to create a new
        profile while performing screening on that profile at the same time.
        This method allows for the creation of profiles with potential
        onboarding review tasks, and immediate enrolment into ongoing
        monitoring.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/clm.ProfileCreateUpdateRequest'
        description: Profile onboarding request
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/clm.OnboardProfileResponse'
          description: Profile created successfully
      security:
        - ApiKeyAuth: []
components:
  schemas:
    clm.ProfileCreateUpdateRequest:
      properties:
        address1:
          description: >-
            The address line 1 of the known place of residence for the profile.
            This will be assembled with the address line 2 in the screening
            input for the "address" value.
          example: 123 Main Street
          type: string
        address2:
          description: >-
            The address line 2 of the known place of residence for the profile.
            This will be assembled with the address line 1 in the screening
            input for the "address" value.
          example: Apt 4B
          type: string
        addressCity:
          description: >-
            The city of the known place of residence for the profile. This
            should be the full city name.
          example: Toronto
          type: string
        addressPostalCode:
          description: The postal code of the known place of residence for the profile.
          example: M5V1C2
          type: string
        addressState:
          description: >-
            The ISO-2 code or full state name of the place of residence of the
            profile.
          example: 'ON'
          type: string
        allowlistUntil:
          description: >-
            An optional parameter that indicating that the profile should be
            created in an allowlisted status. This means that the profile will
            not generate flags from ongoing monitoring until a certain date in
            the future, as denoted in "YYYY/MM/DD" format. If this parameter is
            not provided, then the profile is created in a non-allowlisted state
            where future screens may generate review tasks.
          example: 2024/12/25
          type: string
        archived:
          example: false
          type: boolean
        assignee:
          example: 12345-123
          type: string
        country:
          description: The known country of residence for the profile.
          example: Canada
          type: string
        createdBy:
          example: 12345-123
          type: string
        dateOfBirth:
          description: The date of birth of the profile in "YYYY/MM/DD" format.
          example: 1990/01/01
          type: string
        email:
          description: >-
            The email of the profile. This is not used in screening currently
            but can be used to store this value in the persistent profile record
            for cross-referencing purposes.
          example: john.smith@example.com
          type: string
        externalId:
          description: >-
            An optional external reference ID that can be supplied in the
            profile creation, such that it can be more easily cross-referenced
            with external systems.
          example: '123456789'
          type: string
        firstName:
          description: >-
            The first name of the profile. This will be assembled with the last
            name in the screening input for the "name" value.

            Deprecated: Use the Name field instead.
          example: John
          type: string
        kind:
          description: >-
            Should be "individual" or "organization". This refers to the entity
            type in Minerva screening, where an individual is a natural person
            and an organization is an entity.
          example: individual
          type: string
        lastName:
          description: >-
            The last name of the profile. This will be assembled with the first
            name in the screening input for the "name" value.

            Deprecated: Use the Name field instead.
          example: Smith
          type: string
        middleName:
          description: >-
            The middle name of the profile. This can be optionally provided as a
            part of the profile name, and will be assembled with the first and
            last names in the screening input for the "name" value.

            Deprecated: Use the Name field instead.
          example: Michael
          type: string
        monitored:
          description: >-
            Should be "monitored", "not_monitored", or an empty string. If
            "monitored", then the profile is enrolled in ongoing monitoring
            where review tasks may be generated for any potential risks found
            during screening on regular cadences.
          example: monitored
          type: string
        name:
          description: Legacy fields (keeping for backward compatibility)
          example: John Smith
          type: string
        nationality:
          description: >-
            The nationality of the profile, being one of the known citizenships
            of the profile.
          example: American
          type: string
        occupation:
          description: The known occupation or job title of the natural person.
          example: Software Engineer
          type: string
        organization:
          description: The affiliated organization or employer of the natural person.
          example: MinervaAI
          type: string
        phone:
          description: >-
            The phone number in e.164 standard format for the profile
            (+15555555555)
          example: '+15555555555'
          type: string
        sex:
          description: >-
            The known sex of the natural person as reported on an onboarding
            document. Should be "f" for Female, "m" for Male, "o" for Other, and
            leave empty for Unknown.
          example: m
          type: string
        status:
          example: pending
          type: string
        updatedBy:
          example: 12345-123
          type: string
        profileGroupIds:
          description: >-
            Workspace-scoped profile group IDs assigned to this profile for
            dynamic risk segmentation. A profile can belong to multiple groups.
          type: array
          items:
            type: string
          example:
            - 665f0d4c2d2f7c2b2f2f2f31
            - 665f0d4c2d2f7c2b2f2f2f32
      type: object
    clm.OnboardProfileResponse:
      properties:
        msg:
          example: OK
          type: string
        result:
          properties:
            profile:
              $ref: '#/components/schemas/clm.ProfileResponse'
            tasks:
              items:
                $ref: '#/components/schemas/clm.TaskResponse'
              type: array
              uniqueItems: false
          type: object
        status:
          example: 201
          type: integer
      type: object
    clm.ProfileResponse:
      properties:
        _v:
          example: 1
          type: integer
        address1:
          example: 1234 Fake St
          type: string
        address2:
          example: Apt 123
          type: string
        addressCity:
          example: Toronto
          type: string
        addressPostalCode:
          example: A1B2C3
          type: string
        addressState:
          example: 'ON'
          type: string
        allowlistUntil:
          example: 2024/12/25
          type: string
        archived:
          example: false
          type: boolean
        assignee:
          example: core-user-id
          type: string
        country:
          example: Canada
          type: string
        createdAt:
          example: '2024-08-19T18:40:57.656816645Z'
          type: string
        email:
          example: john.smith@email.com
          type: string
        externalId:
          example: external-customer-id
          type: string
        firstName:
          example: John
          type: string
        flags:
          items:
            $ref: '#/components/schemas/clm.FlagResponse'
          type: array
          uniqueItems: false
        id:
          example: 66c391b92888a0db5cc6d3f6
          type: string
        kind:
          example: individual
          type: string
        lastName:
          example: Smith
          type: string
        lastScreenedTime:
          example: '2024-08-19T18:40:57.656816645Z'
          type: string
        monitored:
          example: monitored
          type: string
        nationality:
          example: Canada
          type: string
        occupation:
          example: Software Engineer
          type: string
        organization:
          example: Minerva
          type: string
        phone:
          example: '+15555555555'
          type: string
        sex:
          example: m
          type: string
        status:
          example: not_screened
          type: string
        tenantId:
          example: your-tenant-id
          type: string
        updatedAt:
          example: '2024-08-19T18:40:57.656816645Z'
          type: string
        profileGroupIds:
          description: >-
            Workspace-scoped profile group IDs assigned to this profile for
            dynamic risk segmentation. A profile can belong to multiple groups.
          type: array
          items:
            type: string
          example:
            - 665f0d4c2d2f7c2b2f2f2f31
            - 665f0d4c2d2f7c2b2f2f2f32
      type: object
    clm.TaskResponse:
      properties:
        _v:
          example: 1
          type: integer
        created:
          example: '2024-08-19T18:40:57.656816645Z'
          type: string
        description:
          example: Review all Sanctions matches (4)
          type: string
        id:
          example: 507f1f77bcf86cd799439011
          type: string
        kind:
          example: screening
          type: string
        link:
          example: https://app.gominerva.com/task/507f1f77bcf86cd799439011
          type: string
        meta:
          additionalProperties: {}
          type: object
        profileId:
          example: 66c391b92888a0db5cc6d3f6
          type: string
        status:
          example: unresolved
          type: string
        tenantId:
          example: your-tenant-id
          type: string
        title:
          example: Review Screening Sanctions Matches
          type: string
        updatedAt:
          example: '2024-08-19T18:40:57.656816645Z'
          type: string
      type: object
    clm.FlagResponse:
      properties:
        count:
          example: 4
          type: integer
        label:
          example: Sanctions Match
          type: string
        name:
          example: screeningSanctionsMatch
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        The Minerva API key used for this integration. Manage API keys in the
        Minerva dashboard under Administration > Developers.

````