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

# Create Case

> ```
POST api/v1/case-management/create
```


<Note>
  The `assignedTo` field must be a valid user ID from your Sigma account. You can find user IDs under **Account → Team Members & Roles** in the dashboard. The user must have the `can assign case` permission to be assigned a case.
</Note>


## OpenAPI

````yaml case-management-model.json POST /case-management/create
openapi: 3.1.0
info:
  title: Sigma Case Management API
  description: Case Management API documentation
  version: 1.0.0
  license:
    name: MIT
servers:
  - url: https://sigmaprod.sabipay.com/api/v1
    description: Production
  - url: https://sigmastaging.sabipay.com/api/v1
    description: Sandbox
security:
  - ApiKey: []
    ApiSecret: []
paths:
  /case-management/create:
    post:
      summary: Create Case
      description: >-
        Creates a new investigation case. Cases can be standalone or linked to
        an existing Sigma record such as a flagged transaction, AML screening
        result, CDD review, or KYC lookup.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCaseRequest'
            example:
              module: transaction-monitoring
              record:
                id: 64f1a2b3c4d5e6f7a8b9c0d1
                type: transaction
                name: TXN-00123456
              title: High-value transaction requiring review
              description: >-
                A transfer of ₦4,500,000 was flagged by the fraud scoring engine
                with a score of 87. The customer has no prior history of
                transactions of this size. Requires manual review before
                release.
              priority: high
              assignedTo: 64a9f1c2d3e4b5a6c7d8e9f0
              dueDate: '2026-04-25T23:59:59.000Z'
              tasks:
                - Review customer transaction history for the last 90 days
                - Verify source of funds documentation
                - Check customer against internal watchlist
                - Record final decision with supporting notes
      responses:
        '201':
          description: Case created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCaseResponse'
              example:
                message: Case created successfully
                data:
                  _id: 6801c4f2a3b7d8e9f1c2d3e4
                  businessProfile: 63f0a1b2c3d4e5f6a7b8c9d0
                  module: transaction-monitoring
                  record:
                    id: 64f1a2b3c4d5e6f7a8b9c0d1
                    type: transaction
                    name: TXN-00123456
                  title: High-value transaction requiring review
                  description: >-
                    A transfer of ₦4,500,000 was flagged by the fraud scoring
                    engine with a score of 87. The customer has no prior history
                    of transactions of this size. Requires manual review before
                    release.
                  priority: high
                  status: open
                  assignedTo:
                    _id: 64a9f1c2d3e4b5a6c7d8e9f0
                    firstName: Amaka
                    lastName: Osei
                  assignedBy:
                    _id: 63e8b0a1c2d3f4e5a6b7c8d9
                    firstName: Tunde
                    lastName: Adeyemi
                  dueDate: '2026-04-25T23:59:59.000Z'
                  tasks:
                    - _id: 6801c4f2a3b7d8e9f1c2d3e5
                      text: Review customer transaction history for the last 90 days
                      status: false
                    - _id: 6801c4f2a3b7d8e9f1c2d3e6
                      text: Verify source of funds documentation
                      status: false
                    - _id: 6801c4f2a3b7d8e9f1c2d3e7
                      text: Check customer against internal watchlist
                      status: false
                    - _id: 6801c4f2a3b7d8e9f1c2d3e8
                      text: Record final decision with supporting notes
                      status: false
                  comments: []
                  attachments: []
                  isEscalated: false
                  log:
                    - _id: 6801c4f2a3b7d8e9f1c2d3e9
                      status: open
                      message: Case created
                      user:
                        _id: 63e8b0a1c2d3f4e5a6b7c8d9
                        firstName: Tunde
                        lastName: Adeyemi
                      date: '2026-04-22T09:15:42.000Z'
                  createdAt: '2026-04-22T09:15:42.000Z'
                  updatedAt: '2026-04-22T09:15:42.000Z'
        '400':
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: assignedTo is required
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Invalid API credentials
        '403':
          description: Permission denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: >-
                  The specified user does not have permission to be assigned
                  cases
components:
  schemas:
    CreateCaseRequest:
      type: object
      required:
        - title
        - description
        - priority
        - assignedTo
      properties:
        module:
          type: string
          description: >-
            The Sigma product area this case relates to. Use one of the standard
            module values or omit and provide `customModule` instead.
          enum:
            - transaction-monitoring
            - aml
            - cdd
            - kyc
            - reporting
          example: transaction-monitoring
        customModule:
          type: string
          description: >-
            A custom module name for cases that do not fit a standard Sigma
            product module. Provide either `module` or `customModule`, not both.
          example: internal-audit
        record:
          $ref: '#/components/schemas/CaseRecord'
        title:
          type: string
          description: A short, descriptive title for the case. Shown in the case list.
          example: High-value transaction requiring review
        description:
          type: string
          description: >-
            A detailed description of why the case was opened and what needs to
            be investigated.
          example: >-
            A transfer of ₦4,500,000 was flagged by the fraud scoring engine
            with a score of 87. The customer has no prior history of
            transactions of this size. Requires manual review before release.
        priority:
          type: string
          description: The urgency level of the case.
          enum:
            - low
            - medium
            - high
          example: high
        assignedTo:
          type: string
          description: >-
            The ID of the team member responsible for this case. Must be a valid
            user in your Sigma account with the `can assign case` permission.
          example: 64a9f1c2d3e4b5a6c7d8e9f0
        dueDate:
          type: string
          format: date-time
          nullable: true
          description: >-
            The deadline for resolving this case. ISO 8601 format. Cases past
            their due date are flagged as overdue in analytics.
          example: '2026-04-25T23:59:59.000Z'
        tasks:
          type: array
          items:
            type: string
          description: >-
            An optional checklist of steps the investigator should complete.
            Each string becomes a task item on the case.
          example:
            - Review customer transaction history for the last 90 days
            - Verify source of funds documentation
            - Record final decision with supporting notes
        attachments:
          type: array
          items:
            type: string
          description: File paths for any attachments to include with the case at creation.
          example: []
        escalateTo:
          type: string
          nullable: true
          description: The ID of a senior team member to escalate this case to, if needed.
          example: null
    CreateCaseResponse:
      type: object
      properties:
        message:
          type: string
          example: Case created successfully
        data:
          $ref: '#/components/schemas/Case'
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          example: An error occurred
    CaseRecord:
      type: object
      description: A reference to an existing Sigma record to link to this case.
      required:
        - id
        - type
      properties:
        id:
          type: string
          description: >-
            The ID of the linked record (e.g. a transaction ID, customer ID, or
            AML screening result ID).
          example: 64f1a2b3c4d5e6f7a8b9c0d1
        type:
          type: string
          description: The type of record being linked.
          example: transaction
        name:
          type: string
          description: A human-readable name or reference for the linked record.
          example: TXN-00123456
    Case:
      type: object
      properties:
        _id:
          type: string
          description: Unique case identifier.
          example: 6801c4f2a3b7d8e9f1c2d3e4
        businessProfile:
          type: string
          description: The ID of the business this case belongs to.
          example: 63f0a1b2c3d4e5f6a7b8c9d0
        module:
          type: string
          example: transaction-monitoring
        record:
          $ref: '#/components/schemas/CaseRecord'
        title:
          type: string
          example: High-value transaction requiring review
        description:
          type: string
          example: >-
            A transfer of ₦4,500,000 was flagged by the fraud scoring engine
            with a score of 87.
        priority:
          type: string
          enum:
            - low
            - medium
            - high
          example: high
        status:
          type: string
          enum:
            - open
            - in progress
            - resolved
            - closed
          example: open
        assignedTo:
          $ref: '#/components/schemas/CaseUser'
        assignedBy:
          $ref: '#/components/schemas/CaseUser'
        dueDate:
          type: string
          format: date-time
          nullable: true
          example: '2026-04-25T23:59:59.000Z'
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/CaseTask'
        comments:
          type: array
          items:
            type: object
          example: []
        attachments:
          type: array
          items:
            type: string
          example: []
        isEscalated:
          type: boolean
          example: false
        log:
          type: array
          items:
            $ref: '#/components/schemas/CaseLogEntry'
        createdAt:
          type: string
          format: date-time
          example: '2026-04-22T09:15:42.000Z'
        updatedAt:
          type: string
          format: date-time
          example: '2026-04-22T09:15:42.000Z'
    CaseUser:
      type: object
      properties:
        _id:
          type: string
          example: 64a9f1c2d3e4b5a6c7d8e9f0
        firstName:
          type: string
          example: Amaka
        lastName:
          type: string
          example: Osei
    CaseTask:
      type: object
      properties:
        _id:
          type: string
          example: 6801c4f2a3b7d8e9f1c2d3e5
        text:
          type: string
          example: Review customer transaction history for the last 90 days
        status:
          type: boolean
          description: Whether the task has been completed.
          example: false
    CaseLogEntry:
      type: object
      properties:
        _id:
          type: string
          example: 6801c4f2a3b7d8e9f1c2d3e9
        status:
          type: string
          example: open
        message:
          type: string
          example: Case created
        user:
          $ref: '#/components/schemas/CaseUser'
        date:
          type: string
          format: date-time
          example: '2026-04-22T09:15:42.000Z'
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: apiKey
    ApiSecret:
      type: apiKey
      in: header
      name: apiSecret

````