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

# Auth

> This API endpoint is used to authenticate client and obtain access tokens. By providing the necessary credentials, typically in the request body, clients can initiate a sign-in process. Successful authentication will result in the issuance of an access token, which can be used for subsequent API calls.


This chapter details how clients system authenticate with the OmniOmni platform, ensuring secure access to resources and APIs. OmniOmni utilizes a robust, multi-layered approach to authentication and authorization, encompassing both server-to-server (client authentication) and user-level access control.

<Note>Sensitive actions, such as ownership transfers are secured with an additional level of authentcation. The request of these API calls need to be PoA signed. For details see [PoA Mechanism description](poa-mechanism).</Note>


## OpenAPI

````yaml POST /omni-omni/v1/auth/client-token
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/auth/client-token:
    post:
      tags:
        - Auth
      summary: 🌱 Client Sign-In
      description: >
        This API endpoint is used to authenticate client and obtain access
        tokens. By providing the necessary credentials, typically in the request
        body, clients can initiate a sign-in process. Successful authentication
        will result in the issuance of an access token, which can be used for
        subsequent API calls.
      operationId: signInClient
      parameters:
        - in: header
          name: X-Signature-DateTime
          schema:
            type: string
        - in: header
          name: X-Signature
          schema:
            type: string
        - in: header
          name: X-Signature-DeviceId
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientSignInRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientSignInResponse'
          description: User signed in successfully
        '401':
          description: Invalid credentials
        '404':
          description: Client not found
      security: []
components:
  schemas:
    ClientSignInRequest:
      type: object
      properties:
        clientId:
          type: string
    ClientSignInResponse:
      type: object
      properties:
        accessToken:
          type: string
  securitySchemes:
    Bearer Authentication:
      bearerFormat: JWT
      scheme: bearer
      type: http

````