Overview
TheModelResource provides methods for managing models within Speckle projects. Access it via client.model after authenticating your SpeckleClient.
Models are containers within projects that organize related versions of your data. Each model can have multiple versions representing different iterations or states.
Methods
get()
Get a single model by ID.str
required
The ID of the model to retrieve
str
required
The ID of the project containing the model
Model
The model object
get_models()
Get all models in a project with pagination support.str
required
The ID of the project
int
default:"25"
Maximum number of models to return
str
default:"None"
Cursor for pagination
ProjectModelsFilter
default:"None"
Filter criteria. See ProjectModelsFilter
ResourceCollection[Model]
Collection with
items, totalCount, and cursorThe
ResourceCollection object includes: - items - List of Model objects - totalCount - Total
number of models (across all pages) - cursor - Pagination cursor for next page (or None if no
more pages)get_with_versions()
Get a model with its versions included.str
required
The ID of the model
str
required
The ID of the project
int
default:"25"
Maximum number of versions to return
str
default:"None"
Cursor for pagination
ModelVersionsFilter
default:"None"
Filter criteria for versions. See ModelVersionsFilter
ModelWithVersions
Model with versions collection
create()
Create a new model in a project.CreateModelInput
required
Model creation parameters. See CreateModelInput
Model
The newly created model
update()
Update an existing model’s properties.UpdateModelInput
required
Model update parameters. See UpdateModelInput
Model
The updated model
delete()
Delete a model permanently.DeleteModelInput
required
Model deletion parameters. See DeleteModelInput
bool
True if deletion was successfulprojectId(str, required) - The project IDmodelId(str, required) - The model ID to delete
Types
Model
Represents a Speckle model within a project.str
Model ID
str
Model name (URL-safe identifier)
str
Human-readable display name
str
Model description
datetime
Creation timestamp
datetime
Last update timestamp
str
URL to preview image
LimitedUser
User who created the model. See
LimitedUser
Input Types
CreateModelInput
create().
Fields:
name(str) - Model namedescription(str, optional) - Model descriptionproject_id(str) - Project ID
UpdateModelInput
update().
Fields:
id(str) - Model IDname(str, optional) - New model namedescription(str, optional) - New descriptionproject_id(str) - Project ID
DeleteModelInput
delete().
Fields:
id(str) - Model IDproject_id(str) - Project ID
Filters
ProjectModelsFilter
get_models() and client.project.get_with_models().
Fields:
contributors(List[str], optional) - Filter by contributor user IDsexclude_ids(List[str], optional) - Exclude specific model IDsids(List[str], optional) - Include only specific model IDsonly_with_versions(bool, optional) - Only return models with versionssearch(str, optional) - Search by model namesource_apps(List[str], optional) - Filter by source application
ModelVersionsFilter
get_with_versions().
Fields:
priority_ids(List[str]) - Version IDs to prioritizepriority_ids_only(bool, optional) - Only return priority versions
Related Resources
VersionResource
Create and manage versions in models
ProjectResource
Manage projects that contain models
Operations
Send and receive data to/from models
SpeckleClient
Main client documentation