> ## 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 a workspace

> Creates a workspace, optionally cloning configuration from `sourceWorkspaceId`. Monitoring cadences are subject to the prepaid-ledger price guard and onboarding feeds to the tenant cap. Requires an admin application key (tenant-scoped, created by an owner or admin) or a dashboard user token. Writes by a user token require an owner or admin.



## OpenAPI

````yaml /api-reference/admin-api.json post /v2/organizations/{orgId}/workspaces
openapi: 3.0.0
info:
  version: 1.0.0
  title: MinervaAI Admin API
  description: Admin endpoints for the Minerva application suite.
servers:
  - url: https://admin-api.gominerva.com
    description: The instance of admin-api to send the Swagger test requests to
security:
  - ApiKeyAuth: []
tags: []
paths:
  /v2/organizations/{orgId}/workspaces:
    post:
      tags:
        - Workspaces
      summary: Create a workspace
      description: >-
        Creates a workspace, optionally cloning configuration from
        `sourceWorkspaceId`. Monitoring cadences are subject to the
        prepaid-ledger price guard and onboarding feeds to the tenant cap.
        Requires an admin application key (tenant-scoped, created by an owner or
        admin) or a dashboard user token. Writes by a user token require an
        owner or admin.
      parameters:
        - in: path
          name: orgId
          required: true
          schema:
            type: string
          description: >-
            The organization (tenant) id. Must equal the tenant of the admin
            key.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceCreateRequest'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceResponse'
        '400':
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: >-
            No credentials were sent; the API key was revoked, has expired, or
            its application is deactivated (`API-key authentication was
            denied.`); the key is not an admin application key (standard keys
            and keys that are not application keys are refused); it belongs to
            another organization; or its creator is no longer an owner or admin.
            For a user token, the user is not a member, or is not an owner or
            admin on a write.
          content:
            text/plain:
              schema:
                type: string
        '404':
          description: >-
            The workspace or record is not in this organization, or the
            application API key (`mrva-…`) is unknown (`API-key authentication
            was denied.`).
          content:
            text/plain:
              schema:
                type: string
        '503':
          description: >-
            The authentication service is temporarily unavailable
            (`Authentication service is unavailable.`). Nothing was changed;
            retry with backoff.
          content:
            text/plain:
              schema:
                type: string
      security:
        - AdminApiKeyAuth: []
        - UserTokenAuth: []
components:
  schemas:
    WorkspaceCreateRequest:
      type: object
      description: >-
        Creates a workspace. Unknown fields return `400`. `clientRiskRating` can
        be set only on update, and custom lists are switched on with the
        custom-list activation endpoint, so both return `400` here.
      additionalProperties: false
      required:
        - name
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 128
        sourceWorkspaceId:
          type: string
          minLength: 1
          maxLength: 64
          description: Copy the configuration of this workspace in the same organization.
        description:
          type: string
          maxLength: 1024
        isDefault:
          type: boolean
        archived:
          type: boolean
        crrAllowRemote:
          type: boolean
        crrAllowThirdParty:
          type: boolean
        crrCrossBorder:
          type: boolean
        crrFastTransfer:
          type: boolean
        enableDynamicAlertSuppression:
          type: boolean
        screeningMatchThresholds:
          type: object
          additionalProperties: true
        monitoringFeedFrequencies:
          $ref: '#/components/schemas/MonitoringFeedFrequencies'
        monitoringRiskFrequencies:
          type: object
          description: >-
            Per-risk-tier cadence overrides. Name only the tiers to change; an
            omitted tier is preserved. `null` is rejected.
          additionalProperties: false
          required:
            - version
          properties:
            version:
              type: integer
              enum:
                - 1
            low:
              $ref: '#/components/schemas/MonitoringFeedFrequencies'
            medium:
              $ref: '#/components/schemas/MonitoringFeedFrequencies'
            high:
              $ref: '#/components/schemas/MonitoringFeedFrequencies'
        monitoringDeltaConfiguration:
          type: object
          additionalProperties: true
        onboardingFeeds:
          type: array
          items:
            $ref: '#/components/schemas/SearchFeed'
        profileOnboarding:
          type: object
          description: >-
            `defaultIdvWorkflowId` is required when `defaultIdvEnabled` is true;
            `idv_first` requires `defaultIdvEnabled`.
          additionalProperties: false
          properties:
            onboardingFeeds:
              type: array
              items:
                $ref: '#/components/schemas/SearchFeed'
            defaultScreeningEnabled:
              type: boolean
            defaultIdvEnabled:
              type: boolean
            defaultIdvWorkflowId:
              type: string
            sequence:
              type: string
              enum:
                - screening_first
                - idv_first
                - parallel
            riskRatingAtOnboardingEnabled:
              type: boolean
            riskRatingOnProfileCreationEnabled:
              type: boolean
        allowedScreeningFeeds:
          type: array
          items:
            type: string
        searchExcludedSources:
          type: array
          items:
            type: string
        searchExcludedSourcesByChannel:
          type: object
          description: 'Keys: onboarding, monitoring, direct_api, risk_assessment.'
          additionalProperties: false
          properties:
            onboarding:
              type: array
              items:
                type: string
            monitoring:
              type: array
              items:
                type: string
            direct_api:
              type: array
              items:
                type: string
            risk_assessment:
              type: array
              items:
                type: string
        matchScoring:
          type: object
          additionalProperties: true
        riskInference:
          type: object
          description: >-
            Risk inference configuration (`version: 1`, with onboarding,
            monitoring, direct_api and risk_assessment workflows).
          additionalProperties: true
        alertSuppression:
          type: object
          additionalProperties: true
        automaticDisposition:
          type: object
          additionalProperties: true
        roleAwareAdverseMedia:
          type: object
          additionalProperties: true
        adverseMediaRiskClassification:
          type: object
          additionalProperties: true
          required:
            - version
            - workflows
          properties:
            version:
              type: integer
              enum:
                - 1
            workflows:
              type: object
              additionalProperties: true
        agenticAdverseMedia:
          type: object
          description: >-
            All four workflows (onboarding, monitoring, direct_api,
            risk_assessment) are required, each `{ enabled, timeoutSeconds? }`
            with timeoutSeconds 30-180 (default 60).
          additionalProperties: false
          required:
            - version
            - workflows
          properties:
            version:
              type: integer
              enum:
                - 1
            workflows:
              type: object
              additionalProperties: true
    WorkspaceResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
              description: The organization id.
            workspace:
              $ref: '#/components/schemas/Workspace'
    ApiError:
      type: object
      description: Standard API error response
      properties:
        status:
          type: number
          description: HTTP status code
          example: 400
        message:
          type: string
          description: Error message
          example: Bad request
        code:
          type: string
          description: Error code
          example: VALIDATION_ERROR
      required:
        - status
        - message
    MonitoringFeedFrequencies:
      type: object
      description: >-
        Per-feed monitoring cadence for a workspace or a risk tier. A write
        replaces the whole map: send every feed you want monitored, because a
        feed you omit is stored empty and is not monitored. `unset` is rejected
        here with 400: it is valid on profile groups only.
      additionalProperties: false
      properties:
        Sanctions:
          $ref: '#/components/schemas/MonitoringCadence'
        PEP:
          $ref: '#/components/schemas/MonitoringCadence'
        News:
          $ref: '#/components/schemas/MonitoringCadence'
        Legal:
          $ref: '#/components/schemas/MonitoringCadence'
        Criminal:
          $ref: '#/components/schemas/MonitoringCadence'
        Internal:
          $ref: '#/components/schemas/MonitoringCadence'
    SearchFeed:
      type: string
      enum:
        - Internal
        - Sanctions
        - PEP
        - Criminal
        - Legal
        - Registries
        - Ownership
        - Offshore
        - Open Source
        - Social Media
        - News
        - Geography
    Workspace:
      type: object
      description: >-
        A workspace and its configuration. Fields not listed here are
        configuration sections such as `matchScoring`, `automaticDisposition`,
        `riskInference`, and `clientRiskRating`.
      additionalProperties: true
      properties:
        id:
          type: string
        tenantId:
          type: string
        name:
          type: string
        isDefault:
          type: boolean
        archived:
          type: boolean
        monitoringFeedFrequencies:
          $ref: '#/components/schemas/MonitoringFeedFrequencies'
    MonitoringCadence:
      type: string
      description: A monitoring cadence. `deltas` is valid for Sanctions only.
      enum:
        - daily
        - weekly
        - semimonthly
        - biweekly
        - monthly
        - quarterly
        - semiannually
        - annually
        - never
        - deltas
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Admin API key for authentication. Manage API keys in the Minerva
        dashboard under Administration > Developers.
    AdminApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        An admin application key: `Authorization: Api-Key <token>` (or legacy
        `x-api-key`). Only tenant owners and admins can create one. Standard
        keys are refused with 403 on workspace management and tenant
        configuration routes.
    UserTokenAuth:
      type: apiKey
      in: header
      name: x-user-token
      description: Firebase user token for authentication

````

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