# Request File Upload

Create a file in the file storage using the url provided. Maximum allowed file size is 300 MiB.

Endpoint: POST /v5/files/upload
Version: 5
Security: apiKey

## Security:

  - `apiKey` (unknown)
    apiKey in header X-API-KEY

## Request fields (application/json):

  - `url` (string, required)
    File name to be uploaded to the `customer-uploads/` directory.
    Example: dq-chart.png or requestedDirectory/dq-chart.png

  - `contentLength` (integer, required)
    Content length of file in bytes. Max file size is 300 MiB.
    Example: 110000

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `status` (object)
    Details about status or error of a service

  - `status.code` (integer)
    RFC 7231 status code for this error.
    Example: 200

  - `status.technicalKey` (string)
    Technical key describing the status or error
    Example: OK

  - `status.details` (array)

  - `status.details.id` (integer, required)
    9-digit code which is uniquely identifying a message
    Example: 200000004

  - `status.details.message` (string, required)
    Human-readable message which may also be presented in user interface.
    Example: The job came to an end and finished successfully.

  - `status.details.technicalKey` (string)
    Technical key to uniquely identify a message.
    Example: JOB_FINISHED

  - `status.details.jsonPath` (string)
    JSONPath as specified by the IETF standard
    Example: $.businessPartner.names[0].value

  - `status.details.jsonRecord` (string)
    Object provided in plain JSON format.
    Example: { "key" : "value"}

  - `status.path` (string)
    Requested path which caused this error.
    Example: /v2/businesspartners/lookup

  - `status.timestamp` (string)
    ISO 8601 representation of the timestamp.
    Example: 2026-10-21T13:37:19Z

  - `uploadLink` (string)
    Url to file.
    Example: https://file.cdq.com/customer-uploads/cdlbot/dq-chart.png

  - `uploadMethod` (string)
    Method of uploading file.
    Example: PUT

  - `expiresAt` (string)
    Date of expiration (ISO 8601-compliant).
    Example: 2026-10-21T13:37:19Z

  - `url` (string)
    Url to file, place where it is stored.
    Example: customer-uploads/cdlbot/dq-chart.png

## Response 400:

  - `400` (unknown)
    Bad Request.

## Response 400 fields (application/json):

  - `status` (object)
    Details about status or error of a service

  - `status.code` (integer)
    RFC 7231 status code for this error.
    Example: 200

  - `status.technicalKey` (string)
    Technical key describing the status or error
    Example: OK

  - `status.details` (array)

  - `status.details.id` (integer, required)
    9-digit code which is uniquely identifying a message
    Example: 200000004

  - `status.details.message` (string, required)
    Human-readable message which may also be presented in user interface.
    Example: The job came to an end and finished successfully.

  - `status.details.technicalKey` (string)
    Technical key to uniquely identify a message.
    Example: JOB_FINISHED

  - `status.details.jsonPath` (string)
    JSONPath as specified by the IETF standard
    Example: $.businessPartner.names[0].value

  - `status.details.jsonRecord` (string)
    Object provided in plain JSON format.
    Example: { "key" : "value"}

  - `status.path` (string)
    Requested path which caused this error.
    Example: /v2/businesspartners/lookup

  - `status.timestamp` (string)
    ISO 8601 representation of the timestamp.
    Example: 2026-10-21T13:37:19Z

## Response 403:

  - `403` (unknown)
    Forbidden.

## Response 403 fields (application/json):

  - `status` (object)
    Details about status or error of a service

  - `status.code` (integer)
    RFC 7231 status code for this error.
    Example: 200

  - `status.technicalKey` (string)
    Technical key describing the status or error
    Example: OK

  - `status.details` (array)

  - `status.details.id` (integer, required)
    9-digit code which is uniquely identifying a message
    Example: 200000004

  - `status.details.message` (string, required)
    Human-readable message which may also be presented in user interface.
    Example: The job came to an end and finished successfully.

  - `status.details.technicalKey` (string)
    Technical key to uniquely identify a message.
    Example: JOB_FINISHED

  - `status.details.jsonPath` (string)
    JSONPath as specified by the IETF standard
    Example: $.businessPartner.names[0].value

  - `status.details.jsonRecord` (string)
    Object provided in plain JSON format.
    Example: { "key" : "value"}

  - `status.path` (string)
    Requested path which caused this error.
    Example: /v2/businesspartners/lookup

  - `status.timestamp` (string)
    ISO 8601 representation of the timestamp.
    Example: 2026-10-21T13:37:19Z

