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

# Party

> This API endpoint allows you to create a new party, which can be either a natural person or a legal entity.

### Additional Examples for Party creation

<CodeGroup>
  ```JSON Natural Party Creation theme={null}
  {
    "email": "john.doe@example.com",
    "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwDNqC/f\n... [Rest of Public Key] ...\n-----END PUBLIC KEY-----",
    "naturalParty": {
      "firstName": "John",
      "lastName": "Doe",
      "salutation": "MR",
      "nationality": "DE",
      "phoneNumber": "+49123456789",
      "mobile": "+49987654321",
      "residentialAddress": {
        "countryIso2": "DE",
        "city": "Berlin",
        "street": "Example Street",
        "houseNo": "123",
        "zip": "12345"
      },
      "pepFlag": false,
      "birthDate": "1990-01-15",
      "kyc": {},  // KYC data will be handled separately
      "links": [] //  No social media links provided in this example
    }
  }
  ```

  ```JSON Legal Party Creation theme={null}
  {
    "email": "info@examplecorp.com",
    "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwF23V/\n... [Rest of Public Key] ...\n-----END PUBLIC KEY-----",
    "legalParty": {
      "companyName": "Example Corporation",
      "symbol": "EXCORP",
      "description": "A sample corporation.",
      "registrationNumber": "HRB12345",
      "registeredAddress": {
        "countryIso2": "DE",
        "city": "Munich",
        "street": "Corporate Street",
        "houseNo": "1",
        "zip": "80331"
      },
      "legalFormType": "GESELLSCHAFT_MIT_BESCHRANKTER_HAFTUNG",
      "customersLocations": [], // Example: ["DE", "US"]
      "businessSectors": [],  // Example: ["FIN_INST_BANK_CREDIT"] 
      "customersPaymentTypes": [], //Example: ["WIRED_TRANSFER"]
      "statute": null // Statute document upload needs to be handled separately.
    }
  }
  ```
</CodeGroup>


## OpenAPI

````yaml POST /omni-omni/v1/parties
openapi: 3.0.1
info:
  contact:
    email: developers@ecrop.com
    name: ecrop OmniOmni API Support
    url: https://ecrop.de/contact/
  description: >
    # Preparation Guide

    Welcome to the comprehensive API Documentation. This document provides a
    detailed list of available APIs and methods. Before beginning your
    integration, it’s recommended to review the following essential documents:


    - **API Service Guide (Essential, Pro):** Designed for non-technical users,
    this guide helps in selecting the best API package based on business needs.
    Review it
    [here](https://youki.atlassian.net/wiki/spaces/mar/pages/534183949/API+Service+Guide).


    - **Integration Handbook:** Targeted at developers, this handbook includes
    crucial details such as endpoint URLs, authentication methods,
    request/response formats, and error handling. It is essential for successful
    integration. Access the handbooks here:

      - [🌳 Pro Package Integration Handbook]

      - [🌱 Essential Package Integration Handbook]

    Familiarizing yourself with these documents will ensure a smoother
    integration process.
  license:
    name: ecrop OmniOmni
    url: https://developers.ecrop.de/api-license/
  termsOfService: https://developers.ecrop.de/terms-of-use/
  title: OmniOmni API Catalogue
  version: 1.0.0
  x-logo:
    backgroundColor: '#DDDDDD'
    url: >-
      https://static.wixstatic.com/media/fd3e8b_a57864adb1084dea94c9fab462a8f52c~mv2.png/v1/crop/x_0,y_131,w_1253,h_295/fill/w_233,h_55,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/fd3e8b_a57864adb1084dea94c9fab462a8f52c~mv2.png
servers:
  - description: Default
    url: https://backend.sandbox.ecrop.de/ecrop-command
security:
  - Bearer Authentication: []
tags:
  - name: Auth
    description: Endpoints for OmniOmni security
  - name: Offers
    description: >
      Opportunities establishment to transfer securities between parties,
      including User interactions expressing interest in an offer
  - name: Assets
    description: >-
      Financial or non-financial instruments that can be transferred between two
      parties
  - name: Investments
    description: Asset displacement among 2 parties under offer conditions
  - name: Transfers
    description: Asset displacement among 2 parties
  - name: Documents
    description: Any document that is generated for any user action
  - name: Parties
    description: >
      A representative of individuals or any registered company, organization,
      etc...
paths:
  /omni-omni/v1/parties:
    post:
      tags:
        - Parties
      summary: 🌱 Create a new party entity
      description: >-
        This API endpoint allows you to create a new party, which can be either
        a natural person or a legal entity.
      operationId: createParty
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OmniOmniPartyDto'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OmniOmniPartyDto'
          description: Party is created
components:
  schemas:
    OmniOmniPartyDto:
      type: object
      properties:
        email:
          type: string
        legalParty:
          $ref: '#/components/schemas/OmniOmniLegalPartyDto'
        naturalParty:
          $ref: '#/components/schemas/OmniOmniNaturalPartyDto'
        publicKey:
          type: string
          writeOnly: true
      required:
        - email
    OmniOmniLegalPartyDto:
      type: object
      properties:
        businessSectors:
          type: array
          items:
            type: string
            enum:
              - FIN_INST_BANK_CREDIT
              - FIN_INST_PAYMENT
              - FIN_INST_E_MONEY
              - FIN_INST_FUND_FIRM
              - NON_FIN_REAL_STATE
              - NON_FIN_PRECIOUS_METAL
              - NON_FIN_PRECIOUS_STONE
              - NON_FIN_ART_DEALER
              - NON_FIN_NOTARIES
              - NON_FIN_ACCOUNTANT
              - NON_FIN_AUDITORS
              - NON_FIN_TAX_ADVISORS
              - NON_FIN_TRUST
              - GAMBLE_CASINO
              - GAMBLE_ONLINE
              - GAMBLE_LOTTERY
              - LUXURY_GOODS
              - CASH_RESTAURANT
              - CASH_BAR
              - CASH_NIGHTCLUB
              - CASH_RETAIL
              - OTHER
          uniqueItems: true
        companyName:
          type: string
        customersLocations:
          type: array
          items:
            type: string
          uniqueItems: true
        customersPaymentTypes:
          type: array
          items:
            type: string
            enum:
              - CASH
              - CRYPTO_CURRENCY
              - CHECKS
              - DIGITAL_WALLETS
              - CREDIT_DEBIT_CARD
              - LETTER_OF_CREDIT
              - WIRED_TRANSFER
              - ELECTRONIC_FUNC_TRANSFER
          uniqueItems: true
        description:
          type: string
        legalFormType:
          type: string
          enum:
            - AKTIENGESELLSCHAFT
            - GESELLSCHAFT_MIT_BESCHRANKTER_HAFTUNG
            - UNTERNEHMERGESELLSCHAFT
            - OFFENE_HANDELSGESELLSCHAFT
            - KOMMANDITGESELLSCHAFT
            - PARTNERSCHAFTSGESELLSCHAFT
            - EINZELUNTERNEHMEN
            - GENOSSENSCHAFTEN
            - STIFTUNGEN
        registeredAddress:
          $ref: '#/components/schemas/AddressDto'
        registrationNumber:
          type: string
        statute:
          $ref: '#/components/schemas/OmniOmniFileDto'
        symbol:
          type: string
    OmniOmniNaturalPartyDto:
      type: object
      properties:
        birthDate:
          type: string
          format: date
        firstName:
          type: string
        image:
          $ref: '#/components/schemas/OmniOmniFileDto'
        kyc:
          $ref: '#/components/schemas/OmniOmniKycDto'
        lastName:
          type: string
        links:
          type: array
          items:
            $ref: '#/components/schemas/LinkDto'
        mobile:
          type: string
        nationality:
          type: string
        pepFlag:
          type: boolean
        phoneNumber:
          type: string
        residentialAddress:
          $ref: '#/components/schemas/AddressDto'
        salutation:
          type: string
          enum:
            - UNKNOWN
            - MR
            - MRS
      required:
        - firstName
        - lastName
        - nationality
        - residentialAddress
        - salutation
    AddressDto:
      type: object
      properties:
        city:
          type: string
        countryIso2:
          type: string
        houseNo:
          type: string
        street:
          type: string
        zip:
          type: string
    OmniOmniFileDto:
      type: object
      properties:
        content:
          type: string
          writeOnly: true
        description:
          type: string
        fileExtension:
          type: string
          writeOnly: true
        fileType:
          type: string
          enum:
            - PICTURE
            - DOCUMENT
            - VIDEO
            - TEMPLATE
        id:
          type: integer
          format: int64
          readOnly: true
        title:
          type: string
        url:
          type: string
          readOnly: true
      required:
        - description
        - fileExtension
        - fileType
        - title
    OmniOmniKycDto:
      type: object
      properties:
        caseId:
          type: string
        caseResult:
          type: array
          items:
            $ref: '#/components/schemas/OmniOmniFileDto'
        kycProvider:
          type: string
          enum:
            - POSTIDENT
            - WEB_ID
        kycResult:
          type: string
          enum:
            - success
            - declined
    LinkDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        insertDate:
          type: string
          format: date-time
        modifyDate:
          type: string
          format: date-time
        title:
          type: string
        url:
          type: string
      required:
        - title
        - url
  securitySchemes:
    Bearer Authentication:
      bearerFormat: JWT
      scheme: bearer
      type: http

````