## Update Pipeline File

`PipelineFile Pipelines.Files.Update(FileUpdateParamsparameters, CancellationTokencancellationToken = default)`

**put** `/api/v1/pipelines/{pipeline_id}/files/{file_id}`

Update a file for a pipeline.

### Parameters

- `FileUpdateParams parameters`

  - `required string pipelineID`

    Path param

  - `required string fileID`

    Path param

  - `IReadOnlyDictionary<string, CustomMetadata?>? customMetadata`

    Body param: Custom metadata for the file

    - `IReadOnlyDictionary<string, JsonElement>`

    - `IReadOnlyList<JsonElement>`

    - `string`

    - `Double`

    - `Boolean`

### Returns

- `class PipelineFile:`

  A file associated with a pipeline.

  - `required string ID`

    Unique identifier for the pipeline file.

  - `required string PipelineID`

    The ID of the pipeline that the file is associated with.

  - `IReadOnlyDictionary<string, ConfigHash?>? ConfigHash`

    Hashes for the configuration of the pipeline.

    - `IReadOnlyDictionary<string, JsonElement>`

    - `IReadOnlyList<JsonElement>`

    - `string`

    - `Double`

    - `Boolean`

  - `DateTimeOffset? CreatedAt`

    When the pipeline file was created.

  - `IReadOnlyDictionary<string, CustomMetadata?>? CustomMetadata`

    Custom metadata for the file.

    - `IReadOnlyDictionary<string, JsonElement>`

    - `IReadOnlyList<JsonElement>`

    - `string`

    - `Double`

    - `Boolean`

  - `string? DataSourceID`

    The ID of the data source that the file belongs to.

  - `string? ExternalFileID`

    The ID of the file in the external system.

  - `string? FileID`

    The ID of the file.

  - `Long? FileSize`

    Size of the file in bytes.

  - `string? FileType`

    File type (e.g. pdf, docx, etc.).

  - `Long? IndexedPageCount`

    The number of pages that have been indexed for this file.

  - `DateTimeOffset? LastModifiedAt`

    The last modified time of the file.

  - `string? Name`

    Name of the file.

  - `IReadOnlyDictionary<string, PermissionInfo?>? PermissionInfo`

    Permission information for the file.

    - `IReadOnlyDictionary<string, JsonElement>`

    - `IReadOnlyList<JsonElement>`

    - `string`

    - `Double`

    - `Boolean`

  - `string? ProjectID`

    The ID of the project that the file belongs to.

  - `IReadOnlyDictionary<string, ResourceInfo?>? ResourceInfo`

    Resource information for the file.

    - `IReadOnlyDictionary<string, JsonElement>`

    - `IReadOnlyList<JsonElement>`

    - `string`

    - `Double`

    - `Boolean`

  - `Status? Status`

    Status of the pipeline file.

    - `"CANCELLED"Cancelled`

    - `"ERROR"Error`

    - `"IN_PROGRESS"InProgress`

    - `"NOT_STARTED"NotStarted`

    - `"SUCCESS"Success`

  - `DateTimeOffset? StatusUpdatedAt`

    The last time the status was updated.

  - `DateTimeOffset? UpdatedAt`

    When the pipeline file was last updated.

### Example

```csharp
FileUpdateParams parameters = new()
{
    PipelineID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    FileID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
};

var pipelineFile = await client.Pipelines.Files.Update(parameters);

Console.WriteLine(pipelineFile);
```

#### Response

```json
{
  "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "pipeline_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "config_hash": {
    "foo": {
      "foo": "bar"
    }
  },
  "created_at": "2019-12-27T18:11:19.117Z",
  "custom_metadata": {
    "foo": {
      "foo": "bar"
    }
  },
  "data_source_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "external_file_id": "external_file_id",
  "file_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "file_size": 0,
  "file_type": "file_type",
  "indexed_page_count": 0,
  "last_modified_at": "2019-12-27T18:11:19.117Z",
  "name": "name",
  "permission_info": {
    "foo": {
      "foo": "bar"
    }
  },
  "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "resource_info": {
    "foo": {
      "foo": "bar"
    }
  },
  "status": "CANCELLED",
  "status_updated_at": "2019-12-27T18:11:19.117Z",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```
