# Create matter

Creates a matter based on the provided matter type.

Endpoint: POST /v2/matters

## Request fields (application/json):

  - `type` (object, required)
    The type of the matter

  - `type.id` (integer)
    The system identifier for the matter type
    Example: 7492

  - `name` (string)
    The user defined name of the matter 

When simple ticketing is enabled for the organization then the Name is going to be optional and will default to simple ticketing rules, otherwise is required.
    Example: My matter

  - `owner` (object)
    The user assigned as the owner of the matter

  - `owner.id` (string)
    The unique identifier of the user
    Example: f0f1e06e-3005-4093-af7f-1934d55617e1

  - `owner.organization` (object)
    The organization the user belongs to

  - `owner.organization.id` (integer)
    The system identifier for the organization
    Example: 8134

  - `manager` (object)
    The user managing the matter or the intake queue for an organization.

Only one of User and IntakeQueue can be assigned to a matter at a time.

  - `manager.intakeQueue` (object)
    The intake queue for the organization that is assigned to manage the matter

  - `manager.intakeQueue.organizationId` (integer)
    The system identifier for the organization
    Example: 8134

  - `manager.user` (object)
    The user who is assigned to manage the matter

  - `externalId` (string)
    A unique user defined identifier that can be used to reference another system
    Example: external-01

  - `fields` (object)
    The collection of fields associated with the matter
    Example: {"my_text_field":"my text value","my_decimal_field":78659.84,"my_boolean_field":true,"my_date_field":"2025-05-06","my_option_field":{"value":"option_1"},"my_multioption_field":[{"value":"option_a"},{"…

  - `restricted` (boolean)
    Is the matter only available to members

An indicator where the matter requires membership to access
    Example: false

  - `teamAssigned` (object)
    The team which this matter is assigned to

  - `teamAssigned.id` (integer)
    The system identifier for the team
    Example: 469

## Response 201:

  - `201` (unknown)
    Created

## Response 201 fields (application/json):

  - `id` (integer)
    The system identifier for the matter
    Example: 1056

## Response 201 headers (application/json):

  - `Location` (string)
    Location to retrieve the created matter

## Response 400:

  - `400` (unknown)
    Bad Request

## Response 400 fields (application/problem+json):

  - `detail` (string)
    More information about the problem.

  - `errors` (object)
    A dictionary of validation errors, where each key is a field api name and the value is a list of error messages.

  - `instance` (string)
    The URI of the resource which the error relates to.

  - `operationId` (string)
    A unique trace identifier for the request. This should be provided when requesting support.

  - `status` (integer)
    The HTTP status code for the problem.

  - `title` (string)
    A short description of the error.

  - `type` (string)
    A URI which can be followed to find out more about the problem.

## Response 409:

  - `409` (unknown)
    Conflict

## Response 409 fields (application/problem+json):

  - `detail` (string)
    More information about the problem.

  - `instance` (string)
    The URI of the resource which the error relates to.

  - `operationId` (string)
    A unique trace identifier for the request. This should be provided when requesting support.

  - `status` (integer)
    The HTTP status code for the problem.

  - `title` (string)
    A short description of the error.

  - `type` (string)
    A URI which can be followed to find out more about the problem.

