## Search Files

`client.Beta.Retrieval.Search(ctx, params) (*BetaRetrievalSearchResponse, error)`

**post** `/api/v1/retrieval/files/search`

Search for files by name.

### Parameters

- `params BetaRetrievalSearchParams`

  - `IndexID param.Field[string]`

    Body param: ID of the index to search within.

  - `OrganizationID param.Field[string]`

    Query param

  - `ProjectID param.Field[string]`

    Query param

  - `FileName param.Field[string]`

    Body param: Exact file name to match.

  - `FileNameContains param.Field[string]`

    Body param: Substring match on file name (case-insensitive).

  - `Limit param.Field[int64]`

    Body param: Maximum number of files to return.

### Returns

- `type BetaRetrievalSearchResponse struct{…}`

  File search results.

  - `Files []BetaRetrievalSearchResponseFile`

    Matching files with names.

    - `FileID string`

      ID of the file.

    - `FileName string`

      Display name of the file.

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/llamacloud-prod-go"
  "github.com/stainless-sdks/llamacloud-prod-go/option"
)

func main() {
  client := llamacloudprod.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.Beta.Retrieval.Search(context.TODO(), llamacloudprod.BetaRetrievalSearchParams{
    IndexID: "idx-abc123",
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Files)
}
```

#### Response

```json
{
  "files": [
    {
      "file_id": "file_id",
      "file_name": "file_name"
    }
  ]
}
```
