> For the complete documentation index, see [llms.txt](https://docs.codemash.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codemash.io/sdks-and-cli/files/upload-url/request-upload-url.md).

# Request Upload Url

The Files module provides cloud storage and file management — upload, download, access control, metadata, and CDN-backed delivery. Files can be referenced from Database records and follow the same identity and permission rules as the rest of the project. Requests the upload url.

This method is on the runtime **API** surface (`norbix.api.files`) — call it from your app.

{% hint style="info" %}
These examples assume the SDK is installed and your credentials are set as environment variables — each client reads them automatically, so the constructors below take no arguments. See [Install a Norbix SDK](/sdks-and-cli/install.md).
{% endhint %}

{% tabs %}
{% tab title="JavaScript / TypeScript" %}

```ts
import { Norbix } from '@norbix.ai/ts';
const norbix = new Norbix();

const result = await norbix.api.files.requestUploadUrl({
  filesIntegrationId: 'filesintegration_4kX9mQvR2tYw7ZbC1dFgHj',
  path: 'invoices/2026/invoice.pdf',
  contentType: 'application/pdf',
  expirationSeconds: 10,
});
```

{% endtab %}

{% tab title=".NET" %}

```csharp
using Norbix.Sdk;
using Norbix.Sdk.Types.Api;

using var client = new NorbixClient();

var result = await client.Files.RequestUploadUrlAsync(new RequestUploadUrlRequest
{
    FilesIntegrationId = "filesintegration_4kX9mQvR2tYw7ZbC1dFgHj",
    Path = "invoices/2026/invoice.pdf",
    ContentType = "application/pdf",
    ExpirationSeconds = 10,
});
```

{% endtab %}

{% tab title="Python" %}

```python
from norbix_python import NorbixApi

norbix = NorbixApi()

result = norbix.files.request_upload_url(
    filesIntegrationId="filesintegration_4kX9mQvR2tYw7ZbC1dFgHj",
    path="invoices/2026/invoice.pdf",
    contentType="application/pdf",
    expirationSeconds=10,
)
```

{% endtab %}

{% tab title="Go" %}

```go
c, _ := norbix.New(norbix.Options{})
ctx := context.Background()

var result map[string]any
err := c.API.Files.RequestUploadUrl(ctx, "filesintegration_4kX9mQvR2tYw7ZbC1dFgHj", map[string]any{
	"path": "invoices/2026/invoice.pdf",
	"contentType": "application/pdf",
	"expirationSeconds": 10,
}, &result)
```

{% endtab %}

{% tab title="Dart / Flutter" %}

```dart
import 'package:norbix/norbix_api.dart';

final api = NorbixApi();

final result = await api.files.requestUploadUrl(filesIntegrationId: 'filesintegration_4kX9mQvR2tYw7ZbC1dFgHj', body: {
  'path': 'invoices/2026/invoice.pdf',
  'contentType': 'application/pdf',
  'expirationSeconds': 10,
});
```

{% endtab %}

{% tab title="Swift" %}

```swift
import NorbixSwift

let client = Norbix()

let result = try await client.api.files.requestUploadUrl([
    "filesIntegrationId": "filesintegration_4kX9mQvR2tYw7ZbC1dFgHj",
    "path": "invoices/2026/invoice.pdf",
    "contentType": "application/pdf",
    "expirationSeconds": 10,
])
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
import dev.norbix.sdk.api.NorbixApi

val api = NorbixApi()

val result = api.files.requestUploadUrl(mapOf(
    "filesIntegrationId" to "filesintegration_4kX9mQvR2tYw7ZbC1dFgHj",
    "path" to "invoices/2026/invoice.pdf",
    "contentType" to "application/pdf",
    "expirationSeconds" to 10,
))
```

{% endtab %}

{% tab title="CLI" %}

```sh
# one command runs the whole flow: signed URL, PUT, commit
norbix files upload ./invoice.pdf invoices/2026/invoice.pdf
```

{% endtab %}
{% endtabs %}

## In the dashboard

Manage this visually in Norbix Cloud — see [Files → Upload Url](/norbix-cloud/files-service.md).

## API reference

Full request and response for this endpoint: [Request Upload Url](/api-reference/files/upload-url/request-upload-url.md).
