Skip to content

API Reference

Complete API reference for the FoxNose Python SDK.

Management Client

foxnose_sdk.management.ManagementClient

Bases: _ManagementPathsMixin

Synchronous client for the Foxnose Management API.

Functions

request(method, path, *, params=None, json_body=None, headers=None, parse_json=True)

Low-level escape hatch for calling arbitrary endpoints.

list_organizations()

List all organizations accessible to the authenticated user.

get_organization(org_key)

Retrieve details for a specific organization.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
update_organization(org_key, payload)

Update an organization's settings.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
payload Mapping[str, Any]

Fields to update (e.g., name, settings).

required
list_regions()

List all available deployment regions.

get_available_plans()

Retrieve the list of available subscription plans.

get_organization_plan(org_key)

Get the current subscription plan for an organization.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
set_organization_plan(org_key, plan_code)

Change the subscription plan for an organization.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
plan_code str

Code of the plan to activate.

required
get_organization_usage(org_key)

Retrieve usage statistics for an organization.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
list_management_api_keys(*, params=None)

List all Management API keys in the environment.

Parameters:

Name Type Description Default
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
create_management_api_key(payload)

Create a new Management API key.

Parameters:

Name Type Description Default
payload Mapping[str, Any]

Key configuration including name and role assignments.

required
get_management_api_key(key)

Retrieve details for a specific Management API key.

Parameters:

Name Type Description Default
key ManagementAPIKeyRef

Unique identifier of the API key.

required
update_management_api_key(key, payload)

Update a Management API key.

Parameters:

Name Type Description Default
key ManagementAPIKeyRef

Unique identifier of the API key.

required
payload Mapping[str, Any]

Fields to update.

required
delete_management_api_key(key)

Delete a Management API key.

Parameters:

Name Type Description Default
key ManagementAPIKeyRef

Unique identifier of the API key to delete.

required
list_flux_api_keys(*, params=None)

List all Flux API keys in the environment.

Parameters:

Name Type Description Default
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
create_flux_api_key(payload)

Create a new Flux API key.

Parameters:

Name Type Description Default
payload Mapping[str, Any]

Key configuration including name and role assignments.

required
get_flux_api_key(key)

Retrieve details for a specific Flux API key.

Parameters:

Name Type Description Default
key FluxAPIKeyRef

Unique identifier of the API key.

required
update_flux_api_key(key, payload)

Update a Flux API key.

Parameters:

Name Type Description Default
key FluxAPIKeyRef

Unique identifier of the API key.

required
payload Mapping[str, Any]

Fields to update.

required
delete_flux_api_key(key)

Delete a Flux API key.

Parameters:

Name Type Description Default
key FluxAPIKeyRef

Unique identifier of the API key to delete.

required
list_apis(*, params=None)

List all APIs in the environment.

Parameters:

Name Type Description Default
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
create_api(payload)

Create a new API endpoint configuration.

Parameters:

Name Type Description Default
payload Mapping[str, Any]

API configuration including name and settings.

required
get_api(api_key)

Retrieve details for a specific API.

Parameters:

Name Type Description Default
api_key APIRef

Unique identifier of the API.

required
update_api(api_key, payload)

Update an API configuration.

Parameters:

Name Type Description Default
api_key APIRef

Unique identifier of the API.

required
payload Mapping[str, Any]

Fields to update.

required
delete_api(api_key)

Delete an API.

Parameters:

Name Type Description Default
api_key APIRef

Unique identifier of the API to delete.

required
list_api_folders(api_key, *, params=None)

List folders exposed through an API.

Parameters:

Name Type Description Default
api_key APIRef

Unique identifier of the API.

required
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
add_api_folder(api_key, folder_key, *, allowed_methods=None, description_get_one=None, description_get_many=None, description_search=None, description_schema=None)

Add a folder to an API.

Parameters:

Name Type Description Default
api_key APIRef

Unique identifier of the API.

required
folder_key FolderRef

Unique identifier of the folder to add.

required
allowed_methods list[str] | None

HTTP methods allowed for this folder (e.g., ["GET", "POST"]).

None
description_get_one str | None

Optional short description for the get-one route.

None
description_get_many str | None

Optional short description for the list route.

None
description_search str | None

Optional short description for the search route.

None
description_schema str | None

Optional short description for the schema route.

None
get_api_folder(api_key, folder_key)

Retrieve details for a folder within an API.

Parameters:

Name Type Description Default
api_key APIRef

Unique identifier of the API.

required
folder_key FolderRef

Unique identifier of the folder.

required
update_api_folder(api_key, folder_key, *, allowed_methods=None, description_get_one=None, description_get_many=None, description_search=None, description_schema=None)

Update a folder's configuration within an API.

Parameters:

Name Type Description Default
api_key APIRef

Unique identifier of the API.

required
folder_key FolderRef

Unique identifier of the folder.

required
allowed_methods list[str] | None

HTTP methods allowed for this folder.

None
description_get_one str | None

Optional short description for the get-one route.

None
description_get_many str | None

Optional short description for the list route.

None
description_search str | None

Optional short description for the search route.

None
description_schema str | None

Optional short description for the schema route.

None
remove_api_folder(api_key, folder_key)

Remove a folder from an API.

Parameters:

Name Type Description Default
api_key APIRef

Unique identifier of the API.

required
folder_key FolderRef

Unique identifier of the folder to remove.

required
list_management_roles(*, params=None)

List all Management API roles in the environment.

Parameters:

Name Type Description Default
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
create_management_role(payload)

Create a new Management API role.

Parameters:

Name Type Description Default
payload Mapping[str, Any]

Role configuration including name and permissions.

required
get_management_role(role_key)

Retrieve details for a specific Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role.

required
update_management_role(role_key, payload)

Update a Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role.

required
payload Mapping[str, Any]

Fields to update.

required
delete_management_role(role_key)

Delete a Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role to delete.

required
list_management_role_permissions(role_key)

List all permissions assigned to a Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role.

required
upsert_management_role_permission(role_key, payload)

Create or update a permission for a Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role.

required
payload Mapping[str, Any]

Permission configuration.

required
delete_management_role_permission(role_key, content_type)

Delete a permission from a Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role.

required
content_type str

Content type of the permission to delete.

required
replace_management_role_permissions(role_key, permissions)

Replace all permissions for a Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role.

required
permissions list[Mapping[str, Any]]

List of permission configurations to set.

required
list_management_permission_objects(role_key, *, content_type)

List permission objects for a Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role.

required
content_type str

Content type to filter by.

required
add_management_permission_object(role_key, payload)

Add a permission object to a Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role.

required
payload Mapping[str, Any]

Permission object configuration.

required
delete_management_permission_object(role_key, payload)

Delete a permission object from a Management API role.

Parameters:

Name Type Description Default
role_key ManagementRoleRef

Unique identifier of the role.

required
payload Mapping[str, Any]

Permission object to delete.

required
list_flux_roles(*, params=None)

List all Flux API roles in the environment.

Parameters:

Name Type Description Default
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
create_flux_role(payload)

Create a new Flux API role.

Parameters:

Name Type Description Default
payload Mapping[str, Any]

Role configuration including name and permissions.

required
get_flux_role(role_key)

Retrieve details for a specific Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role.

required
update_flux_role(role_key, payload)

Update a Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role.

required
payload Mapping[str, Any]

Fields to update.

required
delete_flux_role(role_key)

Delete a Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role to delete.

required
list_flux_role_permissions(role_key)

List all permissions assigned to a Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role.

required
upsert_flux_role_permission(role_key, payload)

Create or update a permission for a Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role.

required
payload Mapping[str, Any]

Permission configuration.

required
delete_flux_role_permission(role_key, content_type)

Delete a permission from a Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role.

required
content_type str

Content type of the permission to delete.

required
replace_flux_role_permissions(role_key, permissions)

Replace all permissions for a Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role.

required
permissions list[Mapping[str, Any]]

List of permission configurations to set.

required
list_flux_permission_objects(role_key, *, content_type)

List permission objects for a Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role.

required
content_type str

Content type to filter by.

required
add_flux_permission_object(role_key, payload)

Add a permission object to a Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role.

required
payload Mapping[str, Any]

Permission object configuration.

required
delete_flux_permission_object(role_key, payload)

Delete a permission object from a Flux API role.

Parameters:

Name Type Description Default
role_key FluxRoleRef

Unique identifier of the role.

required
payload Mapping[str, Any]

Permission object to delete.

required
list_folders(*, params=None)

List all folders in the environment.

Parameters:

Name Type Description Default
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
get_folder(folder_key)

Retrieve details for a specific folder by key.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
get_folder_by_path(path)

Retrieve details for a folder by its path.

Parameters:

Name Type Description Default
path str

Hierarchical path to the folder (e.g., "parent/child").

required
list_folder_tree(*, key=None, mode=None)

List folders as a hierarchical tree.

Parameters:

Name Type Description Default
key str | None

Optional root folder key to start from.

None
mode str | None

Tree traversal mode.

None
create_folder(payload)

Create a new folder.

Parameters:

Name Type Description Default
payload Mapping[str, Any]

Folder configuration including name, alias, folder_type, and content_type.

required
update_folder(folder_key, payload)

Update a folder's configuration.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
payload Mapping[str, Any]

Fields to update.

required
delete_folder(folder_key)

Delete a folder.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder to delete.

required
list_projects(org_key, *, params=None)

List all projects in an organization.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
get_project(org_key, project_key)

Retrieve details for a specific project.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
create_project(org_key, payload)

Create a new project in an organization.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
payload Mapping[str, Any]

Project configuration including name and settings.

required
update_project(org_key, project_key, payload)

Update a project's configuration.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
payload Mapping[str, Any]

Fields to update.

required
delete_project(org_key, project_key)

Delete a project.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project to delete.

required
list_environments(org_key, project_key)

List all environments in a project.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
get_environment(org_key, project_key, env_key)

Retrieve details for a specific environment.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
env_key EnvironmentRef

Unique identifier of the environment.

required
create_environment(org_key, project_key, payload)

Create a new environment in a project.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
payload Mapping[str, Any]

Environment configuration including name and region.

required
update_environment(org_key, project_key, env_key, payload)

Update an environment's configuration.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
env_key EnvironmentRef

Unique identifier of the environment.

required
payload Mapping[str, Any]

Fields to update.

required
delete_environment(org_key, project_key, env_key)

Delete an environment.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
env_key EnvironmentRef

Unique identifier of the environment to delete.

required
toggle_environment(org_key, project_key, env_key, *, is_enabled)

Enable or disable an environment.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
env_key EnvironmentRef

Unique identifier of the environment.

required
is_enabled bool

Whether the environment should be enabled.

required
update_environment_protection(org_key, project_key, env_key, *, protection_level, protection_reason=None)

Set protection level for an environment.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
env_key EnvironmentRef

Unique identifier of the environment.

required
protection_level str

Protection level (e.g., "none", "read_only", "locked").

required
protection_reason str | None

Optional reason for the protection.

None
clear_environment_protection(org_key, project_key, env_key)

Remove protection from an environment.

Parameters:

Name Type Description Default
org_key OrgRef

Unique identifier of the organization.

required
project_key ProjectRef

Unique identifier of the project.

required
env_key EnvironmentRef

Unique identifier of the environment.

required
list_locales()

List all locales configured in the environment.

create_locale(payload)

Create a new locale.

Parameters:

Name Type Description Default
payload Mapping[str, Any]

Locale configuration including code and name.

required
get_locale(code)

Retrieve details for a specific locale.

Parameters:

Name Type Description Default
code str

Locale code (e.g., "en-US", "de-DE").

required
update_locale(code, payload)

Update a locale's configuration.

Parameters:

Name Type Description Default
code str

Locale code.

required
payload Mapping[str, Any]

Fields to update.

required
delete_locale(code)

Delete a locale.

Parameters:

Name Type Description Default
code str

Locale code to delete.

required
list_components(*, params=None)

List all reusable components in the environment.

Parameters:

Name Type Description Default
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
get_component(component_key)

Retrieve details for a specific component.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
create_component(payload)

Create a new reusable component.

Parameters:

Name Type Description Default
payload Mapping[str, Any]

Component configuration including name and content_type.

required
update_component(component_key, payload)

Update a component's configuration.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
payload Mapping[str, Any]

Fields to update.

required
delete_component(component_key)

Delete a component.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component to delete.

required
list_component_versions(component_key, *, params=None)

List all schema versions for a component.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
create_component_version(component_key, payload, *, copy_from=None)

Create a new schema version for a component.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
payload Mapping[str, Any]

Version configuration including name.

required
copy_from SchemaVersionRef | None

Optional version key to copy schema from.

None
get_component_version(component_key, version_key, *, include_schema=None)

Retrieve details for a specific component version.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
include_schema bool | None

Whether to include the full schema definition.

None
publish_component_version(component_key, version_key)

Publish a component version, making it available for use.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
version_key SchemaVersionRef

Unique identifier of the version to publish.

required
update_component_version(component_key, version_key, payload)

Update a component version's configuration.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
payload Mapping[str, Any]

Fields to update.

required
delete_component_version(component_key, version_key)

Delete a component version.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
version_key SchemaVersionRef

Unique identifier of the version to delete.

required
list_component_fields(component_key, version_key, *, params=None)

List all fields in a component version's schema.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
params Mapping[str, Any] | None

Optional query parameters for filtering.

None
create_component_field(component_key, version_key, payload)

Add a new field to a component version's schema.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
payload Mapping[str, Any]

Field configuration including name and type.

required
get_component_field(component_key, version_key, field_path)

Retrieve details for a specific field in a component schema.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
field_path str

Path to the field (e.g., "title" or "metadata.author").

required
update_component_field(component_key, version_key, field_path, payload)

Update a field in a component schema.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
field_path str

Path to the field.

required
payload Mapping[str, Any]

Fields to update.

required
delete_component_field(component_key, version_key, field_path)

Delete a field from a component schema.

Parameters:

Name Type Description Default
component_key ComponentRef

Unique identifier of the component.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
field_path str

Path to the field to delete.

required
list_folder_versions(folder_key, *, params=None)

List all schema versions for a collection folder.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
create_folder_version(folder_key, payload, *, copy_from=None)

Create a new schema version for a collection folder.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
payload Mapping[str, Any]

Version configuration including name.

required
copy_from SchemaVersionRef | None

Optional version key to copy schema from.

None
get_folder_version(folder_key, version_key, *, include_schema=None)

Retrieve details for a specific folder schema version.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
include_schema bool | None

Whether to include the full schema definition.

None
update_folder_version(folder_key, version_key, payload)

Update a folder schema version's configuration.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
payload Mapping[str, Any]

Fields to update.

required
delete_folder_version(folder_key, version_key)

Delete a folder schema version.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
version_key SchemaVersionRef

Unique identifier of the version to delete.

required
publish_folder_version(folder_key, version_key)

Publish a folder schema version, making it active for the folder.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
version_key SchemaVersionRef

Unique identifier of the version to publish.

required
list_folder_fields(folder_key, version_key, *, params=None)

List all fields in a folder schema version.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
params Mapping[str, Any] | None

Optional query parameters for filtering.

None
create_folder_field(folder_key, version_key, payload)

Add a new field to a folder schema version.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
payload Mapping[str, Any]

Field configuration including name and type.

required
get_folder_field(folder_key, version_key, field_path)

Retrieve details for a specific field in a folder schema.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
field_path str

Path to the field (e.g., "title" or "metadata.author").

required
update_folder_field(folder_key, version_key, field_path, payload)

Update a field in a folder schema.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
field_path str

Path to the field.

required
payload Mapping[str, Any]

Fields to update.

required
delete_folder_field(folder_key, version_key, field_path)

Delete a field from a folder schema.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
version_key SchemaVersionRef

Unique identifier of the version.

required
field_path str

Path to the field to delete.

required
list_resources(folder_key, *, params=None)

List resources inside a specific folder using limit/offset pagination.

get_resource(folder_key, resource_key)

Retrieve metadata for a specific resource.

create_resource(folder_key, payload, *, component=None, external_id=None)

Create a new resource.

Parameters:

Name Type Description Default
folder_key FolderRef

Target folder key.

required
payload Mapping[str, Any]

JSON payload that matches the folder/component schema.

required
component ComponentRef | None

Optional component key for component-based folders.

None
external_id str | None

Optional external identifier for the resource.

None
upsert_resource(folder_key, payload, *, external_id, component=None)

Create or update a resource by external_id.

If no resource with the given external_id exists in the folder, creates a new resource with its first revision (201 Created). If a resource is found, creates a new revision for it (200 OK).

Parameters:

Name Type Description Default
folder_key FolderRef

Target folder key.

required
payload Mapping[str, Any]

JSON payload matching the folder/component schema.

required
external_id str

External identifier for the resource (required).

required
component ComponentRef | None

Optional component key for component-based folders.

None
batch_upsert_resources(folder_key, items, *, max_concurrency=5, fail_fast=False, on_progress=None)

Upsert multiple resources concurrently using threads.

Each item is processed via :meth:upsert_resource. Results are collected into a :class:BatchUpsertResult containing succeeded and failed lists.

Parameters:

Name Type Description Default
folder_key FolderRef

Target folder key (shared across all items).

required
items Sequence[BatchUpsertItem]

Sequence of :class:BatchUpsertItem to upsert.

required
max_concurrency int

Maximum number of parallel workers (default 5).

5
fail_fast bool

If True, stop on first error and raise it. If False (default), collect all results.

False
on_progress Callable[[int, int], None] | None

Optional callback invoked as (completed_count, total_count) after each item finishes.

None
update_resource(folder_key, resource_key, payload)

Update a resource by creating a new revision payload.

delete_resource(folder_key, resource_key)

Delete a resource.

get_resource_data(folder_key, resource_key)

Fetch the published JSON data for a resource.

list_revisions(folder_key, resource_key, *, params=None)

List all revisions for a resource.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
resource_key ResourceRef

Unique identifier of the resource.

required
params Mapping[str, Any] | None

Optional query parameters for filtering/pagination.

None
create_revision(folder_key, resource_key, payload)

Create a new revision for a resource.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
resource_key ResourceRef

Unique identifier of the resource.

required
payload Mapping[str, Any]

Revision data matching the folder schema.

required
get_revision(folder_key, resource_key, revision_key)

Retrieve details for a specific revision.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
resource_key ResourceRef

Unique identifier of the resource.

required
revision_key RevisionRef

Unique identifier of the revision.

required
update_revision(folder_key, resource_key, revision_key, payload)

Update a revision's data.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
resource_key ResourceRef

Unique identifier of the resource.

required
revision_key RevisionRef

Unique identifier of the revision.

required
payload Mapping[str, Any]

Updated revision data.

required
delete_revision(folder_key, resource_key, revision_key)

Delete a revision.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
resource_key ResourceRef

Unique identifier of the resource.

required
revision_key RevisionRef

Unique identifier of the revision to delete.

required
publish_revision(folder_key, resource_key, revision_key, payload=None)

Publish a revision, making it the active version of the resource.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
resource_key ResourceRef

Unique identifier of the resource.

required
revision_key RevisionRef

Unique identifier of the revision to publish.

required
payload Mapping[str, Any] | None

Optional publish configuration.

None
validate_revision(folder_key, resource_key, revision_key)

Validate a revision before publishing.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
resource_key ResourceRef

Unique identifier of the resource.

required
revision_key RevisionRef

Unique identifier of the revision.

required

Returns:

Type Description
Mapping[str, Any]

Validation result containing any errors found.

get_revision_data(folder_key, resource_key, revision_key)

Fetch the JSON data for a specific revision.

Parameters:

Name Type Description Default
folder_key FolderRef

Unique identifier of the folder.

required
resource_key ResourceRef

Unique identifier of the resource.

required
revision_key RevisionRef

Unique identifier of the revision.

required
close()

Close the HTTP transport and release resources.

Async Management Client

foxnose_sdk.management.AsyncManagementClient

Bases: _ManagementPathsMixin

Async variant of :class:ManagementClient.

Functions

upsert_resource(folder_key, payload, *, external_id, component=None) async

Create or update a resource by external_id.

If no resource with the given external_id exists in the folder, creates a new resource with its first revision (201 Created). If a resource is found, creates a new revision for it (200 OK).

Parameters:

Name Type Description Default
folder_key FolderRef

Target folder key.

required
payload Mapping[str, Any]

JSON payload matching the folder/component schema.

required
external_id str

External identifier for the resource (required).

required
component ComponentRef | None

Optional component key for component-based folders.

None
batch_upsert_resources(folder_key, items, *, max_concurrency=5, fail_fast=False, on_progress=None) async

Upsert multiple resources concurrently using async tasks.

Each item is processed via :meth:upsert_resource. Results are collected into a :class:BatchUpsertResult containing succeeded and failed lists.

Parameters:

Name Type Description Default
folder_key FolderRef

Target folder key (shared across all items).

required
items Sequence[BatchUpsertItem]

Sequence of :class:BatchUpsertItem to upsert.

required
max_concurrency int

Maximum number of parallel workers (default 5).

5
fail_fast bool

If True, stop on first error and raise it. If False (default), collect all results.

False
on_progress Callable[[int, int], None] | None

Optional callback invoked as (completed_count, total_count) after each item finishes.

None
validate_revision(folder_key, resource_key, revision_key) async

Validate a revision before publishing. Returns validation errors if any.

Flux Client

foxnose_sdk.flux.FluxClient

Synchronous client for Flux delivery APIs.

Functions

get_resource(folder_path, resource_key, *, params=None)

Get a single resource by key.

Semantic search using auto-generated embeddings.

Search using custom pre-computed embeddings.

Blended text + vector search with configurable weights.

Text search with results boosted by vector similarity.

get_router(*, params=None)

Return available routes and contracts under the configured API prefix.

get_schema(folder_path, *, params=None)

Return live JSON Schema and metadata for the given folder path.

Async Flux Client

foxnose_sdk.flux.AsyncFluxClient

Async variant of :class:FluxClient.

Functions

get_resource(folder_path, resource_key, *, params=None) async

Get a single resource by key.

Semantic search using auto-generated embeddings.

Search using custom pre-computed embeddings.

Blended text + vector search with configurable weights.

Text search with results boosted by vector similarity.

get_router(*, params=None) async

Return available routes and contracts under the configured API prefix.

get_schema(folder_path, *, params=None) async

Return live JSON Schema and metadata for the given folder path.

Vector Search Models

foxnose_sdk.flux.models.SearchMode

Bases: str, Enum

Search mode for the Flux search endpoint.

foxnose_sdk.flux.models.VectorSearch

Bases: BaseModel

Configuration for auto-generated embedding search.

foxnose_sdk.flux.models.VectorFieldSearch

Bases: BaseModel

Configuration for custom pre-computed embedding search.

foxnose_sdk.flux.models.VectorBoostConfig

Bases: BaseModel

Configuration for vector-boosted search mode.

foxnose_sdk.flux.models.HybridConfig

Bases: BaseModel

Configuration for hybrid (text + vector) search mode.

foxnose_sdk.flux.models.SearchRequest

Bases: BaseModel

Full search request payload for the Flux search endpoint.

Supports all search modes: text, vector, vector_boosted, and hybrid. Extra fields (e.g. where, sort) are forwarded to the API.

Authentication

JWTAuth

foxnose_sdk.auth.JWTAuth

Bases: AuthStrategy

Adds Authorization: Bearer headers using a token provider.

Functions
from_static_token(token, *, scheme='Bearer') classmethod

Convenience constructor for scripts with manual token management.

SimpleKeyAuth

foxnose_sdk.auth.SimpleKeyAuth

Bases: AuthStrategy

Adds Authorization: Simple headers for development usage.

SecureKeyAuth

foxnose_sdk.auth.SecureKeyAuth

Bases: AuthStrategy

Implements the Secure <public>:<signature> header used by both APIs.

The signature uses ECDSA P-256 over <path>|<sha256(body)>|<timestamp>.

AuthStrategy

foxnose_sdk.auth.AuthStrategy

Bases: Protocol

Protocol implemented by every authentication strategy.

Functions
build_headers(request)

Return headers that should be merged into the request.

Reference Type Aliases

The following type aliases are used in method signatures and can be imported for your own type annotations. Each accepts either a string key or the corresponding model object.

Type alias Definition
FolderRef Union[str, FolderSummary]
ResourceRef Union[str, ResourceSummary]
RevisionRef Union[str, RevisionSummary]
ComponentRef Union[str, ComponentSummary]
SchemaVersionRef Union[str, SchemaVersionSummary]
OrgRef Union[str, OrganizationSummary]
ProjectRef Union[str, ProjectSummary]
EnvironmentRef Union[str, EnvironmentSummary]
ManagementRoleRef Union[str, ManagementRoleSummary]
FluxRoleRef Union[str, FluxRoleSummary]
ManagementAPIKeyRef Union[str, ManagementAPIKeySummary]
FluxAPIKeyRef Union[str, FluxAPIKeySummary]
APIRef Union[str, APIInfo]
from foxnose_sdk import FolderRef, ResourceRef, RevisionRef

Errors

foxnose_sdk.errors.FoxnoseAPIError dataclass

Bases: FoxnoseError

Raised when the API responds with an error status.

Models

Pagination

foxnose_sdk.management.models.PaginatedResponse

Bases: BaseModel, Generic[T]

Generic pagination envelope returned by Management API list endpoints.

Folder Models

foxnose_sdk.management.models.FolderSummary

Bases: BaseModel

Metadata returned for folder definitions.

Resource Models

foxnose_sdk.management.models.ResourceSummary

Bases: BaseModel

Metadata describing a Management API resource entry.

Revision Models

foxnose_sdk.management.models.RevisionSummary

Bases: BaseModel

Metadata describing a revision associated with a resource.

Component Models

foxnose_sdk.management.models.ComponentSummary

Bases: BaseModel

Metadata describing a reusable component schema.

Schema Models

foxnose_sdk.management.models.SchemaVersionSummary

Bases: BaseModel

Represents a schema/model version for folders or components.

foxnose_sdk.management.models.FieldSummary

Bases: BaseModel

Schema field metadata for a version.

Organization Models

foxnose_sdk.management.models.OrganizationSummary

Bases: BaseModel

Represents an organization and its billing metadata.

foxnose_sdk.management.models.OrganizationUsage

Bases: BaseModel

Overall usage payload returned by the monitoring endpoint.

Project Models

foxnose_sdk.management.models.ProjectSummary

Bases: BaseModel

Represents a project within an organization.

Environment Models

foxnose_sdk.management.models.EnvironmentSummary

Bases: BaseModel

Represents an environment under a project.

foxnose_sdk.management.models.LocaleSummary

Bases: BaseModel

Represents an environment locale.

Role Models

foxnose_sdk.management.models.ManagementRoleSummary

Bases: BaseModel

Represents a management API role.

foxnose_sdk.management.models.FluxRoleSummary

Bases: BaseModel

Represents a Flux API role.

foxnose_sdk.management.models.RolePermission

Bases: BaseModel

Permission entry attached to a role.

API Key Models

foxnose_sdk.management.models.ManagementAPIKeySummary

Bases: BaseModel

Represents a Management API key under an environment.

foxnose_sdk.management.models.FluxAPIKeySummary

Bases: BaseModel

Represents a Flux API key under an environment.

API Models

foxnose_sdk.management.models.APIInfo

Bases: BaseModel

Represents a public API definition for delivering content.

foxnose_sdk.management.models.APIFolderSummary

Bases: BaseModel

Association between an API and a folder.