---
title: "List functions"
method: GET
path: "/v1/function"
tags: ["Functions"]
---

# List functions

`GET /v1/function`

List out all functions. The functions are sorted by creation date, with the most recently-created functions coming first

## Query parameters

- `limit` integer, nullable — Limit the number of objects to return
- `starting_after` string, uuid — Pagination cursor id. For example, if the final item in the last page you fetched had an id of `foo`, pass `starting_after=foo` to fetch the next page. Note: you may only pass one of `starting_after` and `ending_before`
- `ending_before` string, uuid — Pagination cursor id. For example, if the initial item in the last page you fetched had an id of `foo`, pass `ending_before=foo` to fetch the previous page. Note: you may only pass one of `starting_after` and `ending_before`
- `ids` union — Filter search results to a particular set of object IDs. To specify a list of IDs, include the query param multiple times
  - string, uuid
  - string[]
- `function_name` string — Name of the function to search for
- `project_name` string — Name of the project to search for
- `project_id` string, uuid — Project id
- `slug` string — Retrieve prompt with a specific slug
- `version` string — Retrieve prompt at a specific version. The version id can either be a transaction id (e.g. '1000192656880881099') or a version identifier (e.g. '81cd05ee665fdfb3').
- `org_name` string — Filter search results to within a particular organization

## Response `200`

Returns a list of function objects

- object
  - `objects` Function[], required — A list of function objects
    - `id` string, uuid, required — Unique identifier for the prompt
    - `_xact_id` string, required — The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the prompt (see the `version` parameter)
    - `project_id` string, uuid, required — Unique identifier for the project that the prompt belongs under
    - `log_id` 'p', required — A literal 'p' which identifies the object as a project prompt
    - `org_id` string, uuid, required — Unique identifier for the organization
    - `name` string, required — Name of the prompt
    - `slug` string, required — Unique identifier for the prompt
    - `description` string, nullable — Textual description of the prompt
    - `created` string, date-time, nullable — Date of prompt creation
    - `prompt_data` PromptData, nullable — The prompt, model, and its parameters
      - `prompt` union
        - object
          - `type` 'completion', required
          - `content` string, required
        - object
          - `type` 'chat', required
          - `messages` ChatCompletionMessageParam[], required
            - union
              - …
          - `tools` string
        - object, nullable
      - `options` object, nullable
        - `model` string
        - `params` union
          - object
            - `use_cache` boolean
            - `temperature` number
            - `top_p` number
            - `max_tokens` number
            - `frequency_penalty` number
            - `presence_penalty` number
            - `response_format` object, nullable
              - …
            - `tool_choice` union
              - …
            - `function_call` union
              - …
            - `n` number
            - `stop` string[]
          - object
            - `use_cache` boolean
            - `max_tokens` number, required
            - `temperature` number, required
            - `top_p` number
            - `top_k` number
            - `stop_sequences` string[]
            - `max_tokens_to_sample` number — This is a legacy parameter that should not be used.
          - object
            - `use_cache` boolean
            - `temperature` number
            - `maxOutputTokens` number
            - `topP` number
            - `topK` number
          - object
            - `use_cache` boolean
            - `temperature` number
            - `topK` number
          - object
            - `use_cache` boolean
        - `position` string
      - `parser` object, nullable
        - `type` 'llm_classifier', required
        - `use_cot` boolean, required
        - `choice_scores` object, required
      - `tool_functions` SavedFunctionId[], nullable
        - union
          - object
            - `type` 'function', required
            - `id` string, required
          - object
            - `type` 'global', required
            - `name` string, required
      - `origin` object, nullable
        - `prompt_id` string
        - `project_id` string
        - `prompt_version` string
    - `tags` string[], nullable — A list of tags for the prompt
    - `metadata` object, nullable — User-controlled metadata about the prompt
    - `function_type` 'llm' | 'scorer' | 'task' | 'tool' | 'null', nullable
    - `function_data` union, required
      - object
        - `type` 'prompt', required
      - object
        - `type` 'code', required
        - `data` union, required
          - object
            - `type` 'bundle', required
            - `runtime_context` object, required
              - …
            - `location` union, required
              - …
            - `bundle_id` string, required
            - `preview` string, nullable — A preview of the code
          - object
            - `type` 'inline', required
            - `runtime_context` object, required
              - …
            - `code` string, required
      - object
        - `type` 'global', required
        - `name` string, required
    - `origin` object, nullable
      - `object_type` 'organization' | 'project' | 'experiment' | 'dataset' | 'prompt' | 'prompt_session' | 'group' | 'role' | 'org_member' | 'project_log' | 'org_project', required — The object type that the ACL applies to
      - `object_id` string, uuid, required — Id of the object the function is originating from
      - `internal` boolean, nullable — The function exists for internal purposes and should not be displayed in the list of functions.
    - `function_schema` object, nullable — JSON schema for the function's parameters and return type
      - `parameters` unknown
      - `returns` unknown

## Other responses

- `400` — The request was unacceptable, often due to missing a required parameter
- `401` — No valid API key provided
- `403` — The API key doesn’t have permissions to perform the request
- `429` — Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
- `500` — Something went wrong on Braintrust's end. (These are rare.)

---

[API](https://skmtc.net/braintrustdata/apis/braintrust-api.md) · [All operations](https://skmtc.net/braintrustdata/apis/braintrust-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/braintrustdata/braintrust-api/versions/9d216c8243fe/schema)
