Overview
A profile is a reusable, versioned configuration that you save and manage. It bundles the settings that shape a run — model or model fallback chain, system instructions, reasoning effort, tools, and the agent loop step budget — under a single ID. Select a profile by ID instead of repeating the full configuration in every request. A profile is the counterpart to a preset that you control. A preset is a configuration that Perplexity maintains and tunes. A profile is a configuration that you define and version.If you already use a preset, a profile is how you save and version that setup.
Start from a preset’s current values, then manage them as a profile so every request references one ID.
A request uses either a preset or a profile, not both.
Add a profile
- Open Profiles in the API Portal.
- Select Create profile.
- Set the model, instructions, and tools the profile should use, then save it.
- Copy the profile ID.
- Add a
profileentry to the Agent API request. Settypeto"custom"andidto the profile ID, and do not setpresetin the same request.
profile_YOUR_PROFILE_ID with the ID that you copied.
Override profile settings
A profile supplies the defaults for a run. Any parameter you set on the request overrides the profile’s value for that field, so you can reuse one profile and adjust a single setting per request. For example, passmodel to run the profile’s configuration with a different model, while keeping its instructions, tools, and other settings.
tools are the exception: they merge per tool instead of replacing the whole set.
Listing one tool overrides only that tool’s options and leaves the profile’s other tools enabled.
Profile parameters
Versioning
Each version of a profile is immutable: editing a profile creates a new version instead of changing an existing one. A request pinned to a specific version always runs the exact same configuration, so only"latest" picks up new versions.
The version is resolved when the request is admitted, so a change made while a request is in flight does not affect that run.
Pin production traffic to a specific version:
"latest", a version uploaded by any Admin immediately changes what your production requests run.
View version history and download any version in the API Portal.
Error handling
A profile problem fails the request with a4xx status before the run starts, so handle it like any other request error.
The cases you may see:
- The profile names a model you cannot use. The request fails with
model "<model>" is not supported. Edit the profile to use a supported model. - The profile ID is wrong, or you cannot access it. The request fails with
The requested profile does not exist or is not accessible.Check the ID. - The
versionis not valid. Use a version that exists, or"latest".
Next steps
Presets
Use a Perplexity-managed configuration by name.
Model fallback
Set a fallback chain so a run continues when a model is unavailable.