> ## 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 customer

> Create new customer allows the api consumer to create a customer related to a creditor



## OpenAPI

````yaml POST /v1/{tenantId}/customers
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}/customers:
    post:
      tags:
        - Customers
      summary: Create new customer
      description: >-
        Create new customer allows the api consumer to create a customer related
        to a creditor
      operationId: create-customer
      parameters:
        - in: path
          name: tenantId
          schema:
            type: string
            format: uuid
          required: true
          description: Id of the tenant the case is being created for
        - in: query
          name: creditorId
          schema:
            type: string
          required: true
          description: Creditor id that the customer is related to
      requestBody:
        description: New customer object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewCustomer'
            example:
              isCompany: false
              referenceId: '123'
              users:
                - contact: true
                  lang: da
                  relation: debtor
                  details:
                    name: Hans Hansen
                    email: example@debbie.dk
                    phone:
                      locale: '45'
                      number: '12345678'
                    address:
                      address: Applebys Plads 7, 1.
                      coAddress: null
                      city: København K
                      zipcode: '1411'
                    cpr: '1209981919'
                    cvr: null
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerCreated'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '422':
          $ref: '#/components/responses/UnprocessableContent'
components:
  schemas:
    NewCustomer:
      type: object
      properties:
        isCompany:
          type: boolean
          description: Is the customer a company
        referenceId:
          type: string
          description: Creditors' reference id for the customer
        users:
          type: array
          items:
            type: object
            properties:
              contact:
                type: boolean
                description: If the user should be the contact person on cases
              lang:
                $ref: '#/components/schemas/Language'
                description: The language of the debtor
              relation:
                type: string
                enum:
                  - debtor
                  - alternative-contact
                description: User relation to customer
              details:
                type: object
                properties:
                  name:
                    type: string
                    description: Name of the user
                  cpr:
                    type: string
                    description: The cpr number of a user, only used when user is a person.
                  cvr:
                    type: string
                    description: >-
                      The cvr number of a user, only used when user is a
                      company.
                  email:
                    type: string
                    description: The email of the user
                  phone:
                    oneOf:
                      - type: object
                        description: The users' phone number with locale
                        properties:
                          number:
                            type: string
                            description: The users' phone number. For example 12345678.
                          locale:
                            type: string
                            description: The users' phone locale. For example 45.
                      - type: string
                        description: >-
                          The users' phone number as a string. Will be parsed as
                          the phone object
                  address:
                    $ref: '#/components/schemas/Address'
                    description: The debtors address
                required:
                  - name
            required:
              - relation
              - lang
      required:
        - isCompany
        - users
        - referenceId
    CustomerCreated:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          description: Id of the customer
      required:
        - customerId
    Language:
      type: string
      enum:
        - bm
        - ba
        - eu
        - be
        - bn
        - bh
        - bi
        - bs
        - br
        - bg
        - my
        - ca
        - ch
        - ce
        - ny
        - zh
        - cv
        - kw
        - co
        - cr
        - hr
        - cs
        - da
        - dv
        - nl
        - dz
        - en
        - eo
        - et
        - ee
        - fo
        - fj
        - fi
        - fr
        - ff
        - gl
        - ka
        - de
        - el
        - gn
        - gu
        - ht
        - ha
        - he
        - hz
        - hi
        - ho
        - hu
        - ia
        - id
        - ie
        - ga
        - ig
        - ik
        - io
        - is
        - it
        - iu
        - ja
        - jv
        - kl
        - kn
        - kr
        - ks
        - kk
        - km
        - ki
        - rw
        - ky
        - kv
        - kg
        - ko
        - ku
        - kj
        - la
        - lb
        - lg
        - li
        - ln
        - lo
        - lt
        - lu
        - lv
        - gv
        - mk
        - mg
        - ms
        - ml
        - mt
        - mi
        - mr
        - mh
        - mn
        - na
        - nv
        - nd
        - ne
        - ng
        - nb
        - nn
        - 'no'
        - ii
        - nr
        - oc
        - oj
        - cu
        - om
        - or
        - os
        - pa
        - pi
        - fa
        - pl
        - ps
        - pt
        - qu
        - rm
        - rn
        - ro
        - ru
        - sa
        - sc
        - sd
        - se
        - sm
        - sg
        - sr
        - gd
        - sn
        - si
        - sk
        - sl
        - so
        - st
        - es
        - su
        - sw
        - ss
        - sv
        - ta
        - te
        - tg
        - th
        - ti
        - bo
        - tk
        - tl
        - tn
        - to
        - tr
        - ts
        - tt
        - tw
        - ty
        - ug
        - uk
        - ur
        - uz
        - ve
        - vi
        - vo
        - wa
        - cy
        - wo
        - fy
        - xh
        - yi
        - yo
        - za
        - zu
      description: Language.
    Address:
      type: object
      properties:
        address:
          type: string
          description: The street name and number of the address
        coAddress:
          type: string
        zipcode:
          type: string
        city:
          type: string
        country:
          type: string
      required:
        - address
        - zipcode
        - city
  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}`.

````