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

# Erstellen eines Datei-Uploads

> Erzeuge eine vorab signierte URL zum Hochladen einer JSON-Datei. Nach dem Hochladen musst du den [Abschluss-Endpunkt](/api-reference/files/complete) aufrufen, um den Upload abzuschließen.



## OpenAPI

````yaml de/openapi/files.json POST /v1/files
openapi: 3.0.3
info:
  title: Dateien-API
  version: 1.0.0
servers:
  - url: https://api.olostep.com
security: []
paths:
  /v1/files:
    post:
      summary: Datei-Upload erstellen
      description: >-
        Generiere eine vorab signierte URL zum Hochladen einer JSON-Datei. Nach
        dem Hochladen musst du den Complete-Endpunkt aufrufen, um den Upload
        abzuschließen. Die Upload-URL läuft in 10 Minuten ab.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                filename:
                  type: string
                  description: >-
                    Der Dateiname für die Datei. Muss mit der Erweiterung .json
                    enden.
                  pattern: \.json$
                purpose:
                  type: string
                  description: >-
                    Der Zweck der Datei. Unterstützte Werte: 'context' oder
                    'batch'. Standardmäßig 'context'.
                  enum:
                    - context
                    - batch
                  default: context
              required:
                - filename
      responses:
        '200':
          description: Erfolgreiche Antwort mit Upload-URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Datei-ID
                  object:
                    type: string
                    description: Die Art des Objekts. "file.upload" für diesen Endpunkt.
                  created:
                    type: integer
                    description: Erstellter Epoch-Zeitstempel
                  upload_url:
                    type: string
                    format: uri
                    description: >-
                      Vorab signierte URL zum Hochladen der Datei. Läuft in 10
                      Minuten ab.
                  expires_in:
                    type: integer
                    description: >-
                      Anzahl der Sekunden, bis die Upload-URL abläuft (600
                      Sekunden = 10 Minuten)
        '400':
          description: >-
            Ungültige Anfrage. Fehlender Dateiname oder ungültiger Dateityp (nur
            .json-Dateien werden unterstützt).
        '401':
          description: Ungültiger API-Schlüssel
        '500':
          description: Interner Serverfehler
      security:
        - Authorization: []
components:
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Bearer-Authentifizierungsheader in der Form Bearer <token>, wobei
        <token> dein Authentifizierungstoken ist.

````