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

# Prompt Versions

> SDK methods to list, fetch, tag, and manage versions of prompts stored in TrueFoundry.

## Methods

<Accordion title="apply_tags">
  Apply tags to a prompt version.

  #### Parameters

  <ParamField body="prompt_version_id" type="str" required>
    ID of the prompt version to apply tags to
  </ParamField>

  <ParamField body="tags" type="typing.Sequence[str]" required>
    List of tags to apply to the prompt version
  </ParamField>

  <ParamField body="force" type="typing.Optional[bool]">
    Whether to overwrite existing tags if they conflict
  </ParamField>

  #### Returns

  <ResponseField name="EmptyResponse" type="EmptyResponse">
    [🔗 EmptyResponse](/docs/truefoundry_sdk/types#emptyresponse)

    Empty response indicating successful tag application
  </ResponseField>

  #### Usage

  ```python lines theme={"dark"}
  from truefoundry import TrueFoundry

  client = TrueFoundry(
      api_key="YOUR_API_KEY",
      base_url="https://yourhost.com/path/to/api",
  )

  client.prompt_versions.apply_tags(
      prompt_version_id="value",
      tags="value",
      force="value",
  )
  ```
</Accordion>

<Accordion title="get">
  Get a prompt version by its ID.

  #### Parameters

  <ParamField body="id" type="str" required />

  #### Returns

  <ResponseField name="GetPromptVersionResponse" type="GetPromptVersionResponse">
    [🔗 GetPromptVersionResponse](/docs/truefoundry_sdk/types#getpromptversionresponse)

    The prompt version data
  </ResponseField>

  #### Usage

  ```python lines theme={"dark"}
  from truefoundry import TrueFoundry

  client = TrueFoundry(
      api_key="YOUR_API_KEY",
      base_url="https://yourhost.com/path/to/api",
  )

  client.prompt_versions.get(
      id="id_value",
  )
  ```
</Accordion>

<Accordion title="delete">
  Delete a prompt version by its ID.

  #### Parameters

  <ParamField body="id" type="str" required />

  #### Returns

  <ResponseField name="EmptyResponse" type="EmptyResponse">
    [🔗 EmptyResponse](/docs/truefoundry_sdk/types#emptyresponse)

    Empty response indicating successful deletion
  </ResponseField>

  #### Usage

  ```python lines theme={"dark"}
  from truefoundry import TrueFoundry

  client = TrueFoundry(
      api_key="YOUR_API_KEY",
      base_url="https://yourhost.com/path/to/api",
  )

  client.prompt_versions.delete(
      id="id_value",
  )
  ```
</Accordion>

<Accordion title="list">
  List prompt versions with optional filtering by tag, FQN, prompt ID, ML Repo, name, or version.

  #### Parameters

  <ParamField body="tag" type="typing.Optional[str]">
    Tag to filter prompt versions by
  </ParamField>

  <ParamField body="fqn" type="typing.Optional[str]">
    Fully qualified name to filter prompt versions by (format: 'chat\_prompt:{tenant_name}/{ml_repo_name}/{prompt_name}' or 'chat\_prompt:{tenant_name}/{ml_repo_name}/{prompt_name}:{version}')
  </ParamField>

  <ParamField body="prompt_id" type="typing.Optional[str]">
    ID of the prompt to filter versions by
  </ParamField>

  <ParamField body="ml_repo_id" type="typing.Optional[str]">
    ID of the ML Repo to filter prompt versions by
  </ParamField>

  <ParamField body="name" type="typing.Optional[str]">
    Name of the prompt to filter versions by
  </ParamField>

  <ParamField body="version" type="typing.Optional[int]">
    Version number (positive integer) or 'latest' to filter by specific version
  </ParamField>

  <ParamField body="offset" type="typing.Optional[int]">
    Number of prompt versions to skip for pagination
  </ParamField>

  <ParamField body="limit" type="typing.Optional[int]">
    Maximum number of prompt versions to return
  </ParamField>

  #### Returns

  <ResponseField name="SyncPager[PromptVersion, ListPromptVersionsResponse]" type="SyncPager[PromptVersion, ListPromptVersionsResponse]">
    [🔗 ListPromptVersionsResponse](/docs/truefoundry_sdk/types#listpromptversionsresponse)

    List of prompt versions matching the query with pagination information
  </ResponseField>

  #### Usage

  ```python lines theme={"dark"}
  from truefoundry import TrueFoundry

  client = TrueFoundry(
      api_key="YOUR_API_KEY",
      base_url="https://yourhost.com/path/to/api",
  )

  client.prompt_versions.list(
      tag="value",
      fqn="value",
      prompt_id="value",
      ml_repo_id="value",
      name="value",
      version="value",
      offset=10,
      limit=10,
  )

  # Iterate through results
  for item in response:
      print(item.name)

  # Or paginate page by page
  for page in response.iter_pages():
      for item in page:
          print(item.name)
  ```
</Accordion>

<Accordion title="get_by_fqn">
  Get Prompt Version by FQN.

  #### Parameters

  <ParamField body="fqn" type="str" required>
    FQN of the prompt version
  </ParamField>

  #### Returns

  <ResponseField name="GetPromptVersionResponse" type="GetPromptVersionResponse">
    [🔗 GetPromptVersionResponse](/docs/truefoundry_sdk/types#getpromptversionresponse)

    Prompt version details
  </ResponseField>

  #### Usage

  ```python lines theme={"dark"}
  from truefoundry import TrueFoundry

  client = TrueFoundry(
      api_key="YOUR_API_KEY",
      base_url="https://yourhost.com/path/to/api",
  )

  client.prompt_versions.get_by_fqn(
      fqn="value",
  )
  ```
</Accordion>
