Skip to main content

Apps Management

Learn how to manage your Clarifai applications


Manage via the UI

App Overview

The App Overview page gives a glimpse of your app and its purpose. To access it, go to your application's individual page and select the Overview option on the collapsible left sidebar.

You'll be redirected to a page that gives an overview of the contents of your app.

app overview

You can accomplish various tasks on that page.

  • Click the pencil icon next to the app ID to change it.
  • Click the Edit Visibility button at the upper-right corner to edit the visibility of your app to either public or private.
  • Click the star icon at the upper-right corner to highlight your app. This marks it as a favorite and makes it easier to access among other listed apps.
  • Click the three dots at the upper-right corner to reveal a drop-down list that lets you duplicate the app, copy its ID, or delete it.
  • View the number of each type of resource contained in your app—inputs, datasets, models, workflows, and modules. If the number is large and has been truncated in the display, click on the tooltip (?) to reveal the precise count of the resource.
  • Click the plus icon (+) within any resource type section to add the resource to your app. If you click the button, you’ll be redirected to a subsequent page that allows you to add the resource you want.
  • Click the "view" link within any resource type section to view all the respective resources available in your app.
  • Add notes that describe what your app is about.
  • Upload a cover image and use it as a reference for the app.
  • Edit the app’s description.
  • View the app’s base workflow, last updated date, and default language.
  • Copy the app's URL and share it across various platforms and social media channels for wider visibility and reach.
  • View the types of models contained in the app.
  • View and edit the collaborators associated with the app.

App Settings

You can change the settings of an application at any time. To do so, go to the application's individual page and select the Settings option on the collapsible left sidebar.

You'll be redirected to the Settings page, where you can change the application's settings.

app settings

Let's talk about the changes you can make on the page.

note

This page has intuitive elements that let you search for specific items and sort displayed items based on your preferences.

API Keys

Create API Keys

Click the Create API Key button to add a new API key to your app. Then, use the form that pops up to generate a new API key — provide a short description, select the scopes, and click the Confirm button.

api keys

The new app-specific key will be listed in the API Keys section, where you can carry out various management tasks on it.

Copy an API Key

You can copy an API key to the clipboard by clicking the copy button.

copy an api key

Show an API Key

You can reveal an API key by clicking the show button. You can also hide it by clicking the same button.

show api key

Edit an API Key

You can edit an API key by clicking the edit button. A form will pop up that allows you to update the description and scopes of your API key.

edit an api key

Delete an API Key

You can delete an API key by clicking the delete button.

delete an api key

Collaborators

Collaboration is a functionality that allows you to share your apps so that you can work with your team members to label data, create models, and more. With this feature, you can control the permissions available in your apps and manage the capabilities available to each user.

For example, you can give a trusted collaborator full access privileges. You can also invite a worker and grant them limited permissions, such as only to annotate data but not to delete them.

Add Collaborators

To add a collaborator to your app, click the Add Collaborators button in the Collaborators section. A form will appear that allows you to invite a collaborator.

Enter the email address associated with the collaborator’s Clarifai account and specify the scope of resources you want them to access.

Lastly, click the Confirm button. The invited collaborator will receive an email notification informing them that they have been added to the app.

note
  • The collaborator you want to invite must have a registered account on the Clarifai portal.

  • Personal Access Tokens (PATs) are automatically generated for collaborators, providing them access to the Clarifai API.

  • Collaborators can also invite other collaborators.

add a collaborator

Alternatively, you can add a collaborator directly from the App Overview page.

In the upper-right corner of the App Overview page, click the add collaborator button. Next, use the form that pops up to invite a collaborator — provide an email address associated with their Clarifai account, select their scopes, and click the Confirm button.

Choose Scopes

You can select specific scopes when adding a collaborator. Modifying these scopes provides fine-grained control over the data that users can access, enhancing your app's security and preventing unauthorized intrusions.

In the Add Collaborator form, you can click the Select All Scopes button to choose all scopes at once. Alternatively, you can select individual scopes from the listed BASIC SCOPES, or click on the ADVANCED SCOPES option to access more advanced choices.

You can edit a collaborator's scopes at a later time.

These are the basic scopes you can choose:

Annotation: Add and Remove Annotations on Inputs
Collaborator: Add, Remove and Patch Collaborators
Collector: Add, Remove and Patch Input Collectors
Concept: Add, Remove and Patch Concept
Input: Add and Remove Inputs to an App
Model: Add, Remove and Train Custom Models
Predict: Predict on Public and Custom Models
Search: Search over Inputs an App
Task: Add, Remove and Patch Scribe labeling Tasks
Vocab: Add, Remove and Delete lists of Concepts
Workflow: Add, Remove and Delete Workflows of Models

Click here to learn more about scopes.

Delete a Collaborator

You can remove a collaborator by clicking the delete button.

delete a collaborator

View Collaborations

You can easily access the apps where you've been added as a collaborator by selecting the Collaborations option in the top menu. This will take you to a page that lists all the apps you've been invited to collaborate on.

Base Workflow

A base workflow is the workflow you choose as the default knowledge base when creating an application. It optimizes your custom model performance.

You can change your app's base workflow by selecting another one from the list that drops down when you click the workflows search box. You can choose public workflows or workflows you've created in your app.

note

Updating the base workflow will re-index your app, processing all inputs through the new base workflow. This may take some time, and could incur costs. You could avoid the costs by deleting all your inputs before updating the base workflow.

After selecting your preferred Base Workflow, click the Change Base Workflow button.

change base workflow

info

Click here to learn more about the base workflow functionality.

warning

Performing any of the actions below is dangerous. So, you need to proceed with caution.

Update Visibility

You can easily toggle your app's visibility between private and public modes by clicking the Update Visibility button.

update visibility

Delete Application

You can delete the application by clicking the Delete App button. A small window will pop up, prompting you to confirm the action.

delete app

Remember that once you delete an application, we cannot recover it. You will also lose all images, concepts, models, and other resources associated with that application.

Delete all Models

You can delete all models by clicking the Delete all Models button. A small window will pop up, prompting you to confirm the action.

delete all models

Transfer Application

You can transfer your application to an organization you belong to and have permission to create apps. This would greatly enhance collaboration and boost your productivity.

To do so, click the Transfer button. On the small window that pops up, select the app’s destination organization and give it a new name, if you want to.

Click the Confirm button to finalize the transfer.

transfer application

The app will be successfully moved to the organization you selected, and it will no longer appear under your listed apps.

Manage via the API

Patch App

You can perform patch operations on an app by merging, removing, or overwriting data. By default, all actions support overwriting, with specific behaviors for lists of objects.

  • The merge action updates an existing key:value pair with key:new_value or appends to an existing list. For dictionaries, it merges objects that share a matching id field.
  • The remove action is only used to delete the app's cover image on the platform UI.
  • The overwrite action fully replaces an existing object with a new one.

Below is an example of performing patch operations on an app, where the base workflow is updated, the app is switched to an app template, and changes are made to the app's description, notes, default language, and image URL.

from clarifai.client.user import User

# Initialize the Clarifai client with the specified user ID
client = User(user_id='YOUR_USER_ID_HERE', pat='YOUR_PAT')

# Update the app by overwriting the base workflow with a new one, e.g., 'Empty'
client.patch_app(app_id='YOUR_APP_ID_HERE', action='overwrite', base_workflow='Empty')

# Update the app to make it an app template
client.patch_app(app_id='YOUR_APP_ID_HERE', action='overwrite', is_template=True)

# Overwrite the app's description, notes, and default language
client.patch_app(app_id='YOUR_APP_ID_HERE', action='overwrite', default_language='fr', description='Demo testing', notes="Hi Guys! This note is for Demo")

# Overwrite the app's image URL with a new one
client.patch_app(app_id='YOUR_APP_ID_HERE', action='overwrite', image_url='https://samples.clarifai.com/metro-north.jpg')

# Remove the app's image by specifying the 'remove' action
client.patch_app(app_id='YOUR_APP_ID_HERE', image_url='https://samples.clarifai.com/metro-north.jpg', action='remove')

List Apps

You can use the list_apps method to retrieve all the apps associated with your account. This method supports pagination, allowing you to tailor the results using parameters like page_no and per_page to fit your specific needs.

from clarifai.client.user import User

# the list_apps method allows pagination
apps = list(User("user_id", pat="YOUR_PAT").list_apps(page_no=1,per_page=6))
for app in apps:
print("App id: ", app.id)
Example Output
App id:  test_app_3

App id: test_app_2

App id: test_app

App id: APP_ID

App id: demo_app

App id: test

Delete App

You can remove an app from your account by specifying its app ID. Note that you need to be certain that you want to delete a particular app as the operation cannot be undone.

from clarifai.client.user import User

# Provide the app id as parameter to delete_app function
user = User("user_id", pat="YOUR_PAT").delete_app("test_app_2")
Example Output
2024-01-15 16:28:09 INFO     clarifai.client.user:                                                      user.py:230

App Deleted

code: SUCCESS

description: "Ok"

details: "application \'test_app_2\' deleted"

req_id: "35bec06c2b871f335064ec2f197344b1"

Create Concepts

You can create concepts by uploading input data to your app along with a specified label. This automatically generates new concepts, making it easier to integrate and manage new ideas or entities within your application.

from clarifai.client.input import Inputs

image_url = "https://2.img-dpreview.com/files/p/E~C1000x0S4000x4000T1200x1200~articles/3925134721/0266554465.jpeg"
# You can set the label parameter inorder to create a concept while uploading inputs
input_obj = Inputs(user_id="user_id", app_id="test_app", pat="YOUR_PAT")
input_obj.upload_from_url(
input_id="demo2",
image_url=image_url,
labels=["train"],
)
Example Output
2024-01-15 16:53:00 INFO     clarifai.client.input:                                                    input.py:669

Inputs Uploaded

code: SUCCESS

description: "Ok"

details: "All inputs successfully added"

req_id: "d54e6e6ef983e32cadbc7e6134a829a2"

List Concepts

You can use the list_concepts method to retrieve all the concepts within your application. This method supports pagination, allowing you to tailor the results using parameters like page_no and per_page to fit your specific needs.

from clarifai.client.app import App

app = App(app_id="test_app", user_id="user_id", pat="YOUR_PAT")
# the list_concepts method allows pagination
all_concepts = list(app.list_concepts(page_no=1,per_page=1))
Example Output
[id: "id-train"

name: "train"

value: 1

created_at {

seconds: 1705317780

nanos: 434442000

}

language: "en"

app_id: "test_app"

visibility {

gettable: PRIVATE

}
]