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

# Create case

> Create new case allows the api consumer to create new cases



## OpenAPI

````yaml POST /v1/{tenantId}/cases
openapi: 3.1.0
info:
  title: Debbie Platform API Docs
  description: >
    The Debbie API is a RESTful interface, allowing you to programmatically

    update, add and access your data in the platform. It provides predictable
    URLs

    for accessing resources, and uses built-in HTTP features to receive commands
    and

    return responses. This makes it easy to communicate with third party
    systems.


    ## Idempotency


    The Debbie API supports idempotency for non-idempotent requests through the
    optional `Idempotency-Key` header. 

    This ensures that retrying the same request multiple times will produce the
    same result, preventing duplicate operations.


    ### Using Idempotency Keys


    - Include an `Idempotency-Key` header with a unique string (we recommend
    UUIDs)  

    - Maximum key length is 64 characters

    - Keys are valid for 48 hours

    - Responses served from the idempotency cache include an
    `Idempotency-Cached` header


    ### Example

    ```http

    Idempotency-Key: 123e4567-e89b-12d3-a456-426614174000

    ```


    ### Error Cases

    - Invalid key format: 400 Bad Request

    - Reusing a key for a different request: 400 Bad Request


    ### Best Practices

    - Use a new key for each unique business transaction

    - Use the same key when retrying a failed request 

    - Store keys with request details for debugging
  contact:
    email: support@debbie.dk
  version: v0.1.0
  x-logo:
    url: https://debbie-platform.github.io/platform-api-docs/deb-logo.svg
servers:
  - url: https://api.debbiecollect.com
security:
  - bearerAuth: []
tags:
  - name: Authorization
    description: Endpoints for interacting with authorization
  - name: Cases
    description: Endpoints for interacting with cases
  - name: Customers
    description: Endpoints for interacting with customers
  - name: Creditors
    description: Endpoints for interacting with creditors
  - name: Updates
    description: Endpoints for interacting with updates
  - name: Users
    description: Endpoints for interacting with updates
  - name: Files
    description: Endpoints for interacting with files
  - name: Case vouchers
    description: Endpoints for interacting with case vouchers
  - name: Billing
    description: Endpoints for interacting with billing
  - name: Links
    description: Endpoints for generating links
  - name: Webhooks
    description: >-
      Debbie provides a range of webhooks. To try them out please visit Debbie
      Caseworker and navigate to Settings --> Developers --> Webhooks.
  - name: Voucher Type Ids
    description: >
      ### Principals:

      | Type | id |

      | --- | --- |

      | Invoice (Faktura)          | eb41e58e-fccf-419d-a771-cd5027fe6e87 |

      | Credit note (Kreditnota)       | ef2cdc50-230f-4046-b1af-0f9c498dddd3 |

      | Final statement (OpgÃ¸relse)        |
      42385ae0-6846-425c-a793-8d47a3b190b5 |

      | On account invoice (Acontofaktura)    |
      2d101b6e-74f9-4a4d-9f8e-c7abe2264da0 |

      | Loan (GÃ¦ldsbrev)        | bf61f462-6d3c-42e8-a99a-852d4a664926 |


      ### Costs:

      | Type | id |

      | --- | --- |

      | Collection cost (Inkassoomkostning)        |
      07960de4-303d-4793-92da-3a8cfd5da1a1 |

      | Collection fee (Inkassogebyr)             |
      4c3ccbbf-0651-45b2-b37b-4fe736acfd7e |

      | Reminder fee (Rykkergebyr)              |
      3e51bf87-3c8f-4dd5-abd5-69417d113c89 |

      | Compensation cost (Kompensationsgebyr)       |
      ed3e3d61-e1bc-4ee2-9166-adf2c41a2bbf |


      ### Interests:

      | Type | id |

      | --- | --- |

      | DK interest (Procesrente)               |Â
      ca4af363-9925-436c-83d6-23b3db6ed5d2 |

      | Fixed interest (Fastrente)                 |
      299dc393-1b71-4950-860f-8fb485036722 |

      | Yearly interest (Ã…rlig rente)               |
      37db68dd-80be-40c7-8d2d-3619c793107f |


      ### Transactions:

      | Type | id |

      | --- | --- |

      | Deposit (Indbetaling)               |
      c51f2f6a-8081-45ef-b52d-5e0569fdf12e |
externalDocs:
  description: Find out more about Debbie here
  url: https://debbie.dk
paths:
  /v1/{tenantId}/cases:
    post:
      tags:
        - Cases
      summary: Create new case
      description: Create new case allows the api consumer to create new cases
      operationId: create-case
      parameters:
        - in: path
          name: tenantId
          schema:
            type: string
            format: uuid
          required: true
          description: Id of the tenant the case is being created for
      requestBody:
        description: New case object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewCase'
            example:
              currency: EUR
              customerId: a7fcf07c-74f2-40d9-8ea6-e67b07b14ca4
              caseVouchers:
                - referenceId: Fakt. 123456
                  voucherTypeId: eb41e58e-fccf-419d-a771-cd5027fe6e87
                  amount: -259900
                  source: CREDITOR
                  date: '2024-05-01 00:00:00.000+01'
                  dueDate: '2024-05-08 00:00:00.000+01'
                  referenceVouchers:
                    - interestStartDate: '2024-06-01 00:00:00.000+01'
                      amount: 0
                      source: COLLECTOR
                      voucherTypeId: ca4af363-9925-436c-83d6-23b3db6ed5d2
                      date: '2024-06-01 00:00:00.000+01'
                    - voucherTypeId: 3e51bf87-3c8f-4dd5-abd5-69417d113c89
                      amount: -10000
                      source: CREDITOR
                      date: '2024-05-28 00:00:00.000+01'
                    - voucherTypeId: 3e51bf87-3c8f-4dd5-abd5-69417d113c89
                      amount: -10000
                      source: CREDITOR
                      date: '2024-06-07 00:00:00.000+01'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseCreated'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '422':
          $ref: '#/components/responses/UnprocessableContent'
components:
  schemas:
    NewCase:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          description: Id of the customer which the case belongs to
        groupId:
          type: string
          format: uuid
          description: Id of case group
        migratedId:
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
        caseVouchers:
          type: array
          items:
            $ref: '#/components/schemas/NewCaseVoucher'
        properties:
          type: object
          description: >-
            Case properties. You can create your own property types under
            settings in the platform. Use the handle as object key like this: {
            "mySingleLineTextPropertyTypeHandle": "your value" }
          properties:
            mySingleLineTextPropertyTypeHandle:
              type: string
              description: A single line text property
        customJournalNumber:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/CustomJournalNumber'
          description: >-
            Set to override the journal number with a custom string. Set to null
            to revert to the default sequential format.
      required:
        - currency
        - customerId
    CaseCreated:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Id of the case
        caseSeqId:
          type: number
          description: Debbies sequential id of the case
      required:
        - id
        - caseSeqId
    Currency:
      type: string
      enum:
        - DKK
        - SEK
        - NOK
        - USD
        - EUR
        - GBP
        - CHF
      description: Currency
    NewCaseVoucher:
      type: object
      properties:
        voucherTypeId:
          type: string
          format: uuid
          description: >-
            An id for the voucher type. A list of ids can be found in the
            Voucher Type Ids chapter.
        amount:
          type: integer
          description: >-
            Amount in base currency. For example 1.00 should be sent as 100. A
            negative amount (e.g. -100) represents a debt, while a positive
            amount (e.g. +100) represents a credit note or deposit.
        referenceId:
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
        interest:
          type: number
          description: >-
            Used when the voucher is accumulating interest to specify the
            interest rate (yearly interest and compound interest). The number is
            in decimal, for example 0.1 would be an interest rate of 10%.
        date:
          type: string
        interestStartDate:
          type: string
        interestEndDate:
          type: string
        dueDate:
          type: string
        appendix:
          $ref: '#/components/schemas/File'
          description: The appendix is for pdf copies or similar for a case voucher.
        source:
          $ref: '#/components/schemas/CaseVoucherSource'
        uniqueId:
          type: string
          description: >-
            A unique id, that can be used to prevent creating the same case
            voucher twice. This id is unique at the tenant level, meaning that
            no two case vouchers can have the same unique id on the same tenant.
        referenceCaseVoucherId:
          type: string
          format: uuid
          description: The id of the voucher that this voucher is a child of.
        referenceVouchers:
          type: array
          items:
            $ref: '#/components/schemas/NewCaseVoucher'
        properties:
          type: object
          description: >-
            Case voucher properties. You can create property types under
            settings in the platform. Use the handle as object key like this: {
            "mySingleLineTextPropertyTypeHandle": "your value" }
          properties:
            mySingleLineTextPropertyTypeHandle:
              type: string
              description: A single line text property
        distribute:
          type: array
          items:
            type: object
            properties:
              value:
                oneOf:
                  - type: object
                    properties:
                      amount:
                        type: integer
                        description: >-
                          Amount in base currency. For example 1.00 should be
                          sent as 100.
                      caseVoucherReferenceId:
                        type: string
                        description: >-
                          Reference of the case voucher that the amount is
                          distributed to. For example and invoice no.
                    required:
                      - amount
                      - caseVoucherReferenceId
                  - type: object
                    properties:
                      amount:
                        type: integer
                        description: >-
                          Amount in base currency. For example 1.00 should be
                          sent as 100.
                      caseVoucherId:
                        type: string
                        format: uuid
                        description: >-
                          Id of the case voucher that the amount is distributed
                          to
                    required:
                      - amount
                      - caseVoucherId
          description: >-
            Distribution of the case voucher. The sum of the distribution must
            be equal to the amount of the case voucher.
      required:
        - voucherTypeId
        - amount
        - date
        - source
        - currency
    CustomJournalNumber:
      type: object
      required:
        - journalNumber
        - type
      properties:
        journalNumber:
          type: string
          description: >-
            The custom journal number string. Replaces the default sequential
            format ({caseId}-{userId}) on all surfaces in the platform.
          example: my-reference-123
        type:
          type: string
          enum:
            - CUSTOM_STRING
          description: Must be CUSTOM_STRING.
    File:
      type: object
      properties:
        fileName:
          type: string
        contentType:
          type: string
        fileId:
          type: string
          format: uuid
      required:
        - fileName
        - contentType
        - fileId
    CaseVoucherSource:
      type: string
      enum:
        - CREDITOR
        - COLLECTOR
      description: >-
        The source of the case voucher. "CREDITOR" if the case voucher is
        imposed by the creditor (typically from an ERP system). "COLLECTOR" if
        the case voucher is imposed by collector (debt collection agency). If it
        is a deposit it is a direct payment if set to "CREDITOR".
  responses:
    UnauthorizedError:
      description: Access token missing or invalid
    UnprocessableContent:
      description: Unable to process the contained instructions.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Authentication can be done by using a bearer token in the Authorization
        header. This is done using the following format `Authorization: Bearer
        {token}`.

````