Clarifai V2 API
The V2 API from Clarifai — 297 operation(s) for v2.
Documentation
Documentation
https://docs.clarifai.com
Authentication
https://docs.clarifai.com/getting-started/quickstart/
The V2 API from Clarifai — 297 operation(s) for v2.
swagger: '2.0'
info:
title: proto/clarifai/api/service.proto V2 API
version: version not set
consumes:
- application/json
produces:
- application/json
tags:
- name: V2
paths:
/v2/annotation_filters:
get:
summary: List all the annotation filters.
operationId: V2_ListAnnotationFilters2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiAnnotationFilterResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
- name: page
description: '(optional URL parameter) The page number. Pagination is used to split the results into chunks.
Defaults to 1.'
in: query
required: false
type: integer
format: int64
- name: per_page
description: '(optional URL parameter) The number of results that will be contained in each page. Defaults
to 128.'
in: query
required: false
type: integer
format: int64
tags:
- V2
delete:
summary: Delete one or more annotation filters in a single request.
operationId: V2_DeleteAnnotationFilters2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/statusBaseResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
description: Request to delete several annotation filters by list of ids.
in: body
required: true
schema:
$ref: '#/definitions/apiDeleteAnnotationFiltersRequest'
tags:
- V2
post:
summary: Add annotation filters.
operationId: V2_PostAnnotationFilters2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiAnnotationFilterResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
description: Request to add one or more annotation filters.
in: body
required: true
schema:
$ref: '#/definitions/apiPostAnnotationFiltersRequest'
tags:
- V2
patch:
summary: Patch one or more annotation filters.
operationId: V2_PatchAnnotationFilters2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiAnnotationFilterResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
description: Request to patch several annotation filters.
in: body
required: true
schema:
$ref: '#/definitions/apiPatchAnnotationFiltersRequest'
tags:
- V2
/v2/annotation_filters/{annotation_filter_id}:
get:
summary: Get a specific annotation filter.
operationId: V2_GetAnnotationFilter2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiSingleAnnotationFilterResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: annotation_filter_id
description: Identify annotation filter by id.
in: path
required: true
type: string
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
tags:
- V2
/v2/annotations:
get:
summary: List all the annotation.
operationId: V2_ListAnnotations2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiAnnotationResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
- name: ids
description: List annotations for these IDs
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
- name: input_ids
description: 'List annotations for these Input IDs
Note that ''ids'' are optional but if the are provided the number and order in
''ids'' and ''input_ids'' should match
If you do not specify ''ids'' all the annotations for ''input_ids'' are returned
If a you do not specify both ''input_ids'' and ''ids'' all the annotations in the app are returned'
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
- name: user_ids
description: 'Only return the annotations that has one of these user IDs, effectively operating as an
OR among them to filter down the results.
If model_version_ids or workflow_version_ids are also provided, these user_ids are OR''d with them as well because
we want the union of all worker (user, model or workflow) annotations in the results of ListAnnotations request.
Setting user_ids does also set list_all_annotations=True.'
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
- name: model_version_ids
description: 'Only return the annotations that has one of these model version IDs, effectively operating as an
OR among them to filter down the results.
If user_ids or workflow_version_ids are also provided, these model_version_ids are OR''d with them as well because
we want the union of all worker (user, model or workflow) annotations in the results of ListAnnotations request.
Setting model_version_ids does also set list_all_annotations=True.'
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
- name: workflow_version_ids
description: 'Only return the annotations that has one of these workflow version IDs, effectively operating as an
OR among them to filter down the results.
If user_ids or model_version_ids are also provided, these workflow_version_ids are OR''d with them as well because
we want the union of all worker (user, model or workflow) annotations in the results of ListAnnotations request.
Setting workflow_version_ids does also set list_all_annotations=True.'
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
- name: list_all_annotations
description: 'Set this flag to list both trusted and not trusted annotations
by default it''s listing only trusted annotations'
in: query
required: false
type: boolean
- name: return_model_output
description: Set this flag to return the model output for model annotations in the response.
in: query
required: false
type: boolean
- name: page
description: '(optional URL parameter) The page number. Pagination is used to split the results into chunks.
Defaults to 1.'
in: query
required: false
type: integer
format: int64
- name: per_page
description: '(optional URL parameter) The number of results that will be contained in each page. Defaults
to 128.'
in: query
required: false
type: integer
format: int64
- name: task_id
description: Flag to filter annotations by task_id
in: query
required: false
type: string
tags:
- V2
delete:
summary: Delete multiple annotations in one request.
operationId: V2_DeleteAnnotations4
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/statusBaseResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
description: Request to delete several things by the list of ids.
in: body
required: true
schema:
$ref: '#/definitions/apiDeleteAnnotationsRequest'
tags:
- V2
post:
summary: Post annotations.
operationId: V2_PostAnnotations2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiAnnotationResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/apiPostAnnotationsRequest'
tags:
- V2
patch:
summary: Patch one or more annotations.
operationId: V2_PatchAnnotations2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiAnnotationResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/apiPatchAnnotationsRequest'
tags:
- V2
/v2/annotations/searches:
post:
summary: Execute a search over annotations
operationId: V2_PostAnnotationsSearches2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiSearchResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/apiPostAnnotationsSearchesRequest'
tags:
- V2
patch:
summary: Patch saved annotations searches by ids.
operationId: V2_PatchAnnotationsSearches2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiSearchResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/apiPatchAnnotationsSearchesRequest'
tags:
- V2
/v2/annotations/workers:
get:
summary: 'ListAnnotationWorkers lists users, models, and workflows (collectively
known as "workers") that have added annotations to the application.'
operationId: V2_ListAnnotationWorkers2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiWorkerResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
- name: page
description: '(optional URL parameter) The page number. Pagination is used to split the results into chunks.
Defaults to 1.'
in: query
required: false
type: integer
format: int64
- name: per_page
description: '(optional URL parameter) The number of results that will be contained in each page. Defaults
to 128.'
in: query
required: false
type: integer
format: int64
- name: additional_fields
description: '(optional URL parameter) List of additional fields to be included in the response.
Currently supported: all, names'
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
- name: trusted_only
description: (optional URL parameter) Only list workers that have created trusted annotations.
in: query
required: false
type: boolean
tags:
- V2
/v2/app:
get:
summary: Get a specific app from an app.
operationId: V2_GetApp2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiSingleAppResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
- name: additional_fields
description: '(optional URL parameter) List of additional fields to be included in the response. Currently supported: all, stars, counts'
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
tags:
- V2
/v2/apps:
get:
summary: List all the apps.
operationId: V2_ListApps2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiAppResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
- name: page
description: '(optional URL parameter) The page number. Pagination is used to split the results into chunks.
Defaults to 1.'
in: query
required: false
type: integer
format: int64
- name: per_page
description: '(optional URL parameter) The number of results that will be contained in each page. Defaults
to 128.'
in: query
required: false
type: integer
format: int64
- name: additional_fields
description: '(optional URL parameter) List of additional fields to be included in the response. Currently supported: all, stars, counts'
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
- name: sort_ascending
description: 'Sorting options:
Whether to sort in ascending order. If false, will order in descending order.'
in: query
required: false
type: boolean
- name: sort_by_name
description: Whether to order by the name.
in: query
required: false
type: boolean
- name: sort_by_modified_at
description: 'Whether to order by the modified_at time.
If none of the sort options is set to true, will sort by modified_at.'
in: query
required: false
type: boolean
- name: sort_by_created_at
description: Whether to order by the created_at time.
in: query
required: false
type: boolean
- name: sort_by_star_count
description: Whether to order by the number of users stared the app
in: query
required: false
type: boolean
- name: sort_by_id
description: Whether to order by the id
in: query
required: false
type: boolean
- name: sort_by_relevance
description: Whether to order by search query relevance. Can only be used if search is not empty.
in: query
required: false
type: boolean
- name: featured_only
description: 'Filtering options:
If true, we only return apps that are handpicked by clarifai staff'
in: query
required: false
type: boolean
- name: starred_only
description: If true, we only return apps that are starred by the requesting user
in: query
required: false
type: boolean
- name: template_only
description: If true, we only return apps that are marked as a template by the app owner.
in: query
required: false
type: boolean
- name: visibility.gettable
description: " - UNKNOWN_VISIBILITY: Default value not allowed.\n - PRIVATE: PRIVATE requires collaborator or team permissions in order to GET this resource.\n - ORG: ORG requires you to be in the same org in order to GET this resource, but don't have to be a\nteammate or collaborator.\n - PUBLIC: PUBLIC opens up GET access to the resource to any user on the platform even if they are not\na teammate or collaborator."
in: query
required: false
type: string
enum:
- UNKNOWN_VISIBILITY
- PRIVATE
- ORG
- PUBLIC
default: UNKNOWN_VISIBILITY
- name: search
description: "Searching options:\nSpecify a search parameter in order to perform keyword search on the\nfollowing fields of the application:\n - id\n - name\n - description\n - notes\n - user_id (unless user_app_id.user_id is already set)\n\nKeywords are both normalized for search (so searching for \"satisfy\" matches \"satisfied\")\nand used for partial prefix-matching (so searching for \"clari\" matches \"clarifai\").\n\nNOTE: Both the list of fields searched and the exact keyword matching\nrules are subject to change and not guaranteed to be backwards-compatible."
in: query
required: false
type: string
- name: query
description: 'Query various text fields (id, name, description, and notes) that can contain the words in the query string
Deprecated: use search instead.'
in: query
required: false
type: string
- name: name
description: 'Filter by the id, name and notes of the app. This supports wilcard queries like "gen*" to match "general" as an example.
Deprecated: use search instead.'
in: query
required: false
type: string
- name: id
description: 'Filter by the user-unique-id of the app. This supports wilcard queries like "gen*" to match "general" as an example.
Deprecated: use search instead.'
in: query
required: false
type: string
tags:
- V2
/v2/artifact_versions/upload:
post:
summary: 'This is a streaming endpoint, the request has a field, upload_data, which can either be the config for the upload or the actual data to upload.
The config must be sent first before the artifact_bytes can be uploaded.
Once the config has been sent, the server will respond with a confirmation containing the artifact_version_id.
This is so that if your upload is interrupted, you can resume the upload by sending the config again with the artifact_version_id specified for your artifact_version.
The actual upload will be done via a multipart upload, the latest successful part_id will be sent from the server in the response to the artifact_bytes.'
operationId: V2_PostArtifactVersionsUpload
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/apiPostArtifactVersionsUploadResponse'
error:
$ref: '#/definitions/googlerpcStatus'
title: Stream result of apiPostArtifactVersionsUploadResponse
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
description: ' (streaming inputs)'
in: body
required: true
schema:
$ref: '#/definitions/apiPostArtifactVersionsUploadRequest'
tags:
- V2
/v2/bulk_operations:
get:
summary: List all the bulk operations
operationId: V2_ListBulkOperations2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiBulkOperationsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
- name: page
description: '(optional URL parameter) The page number. Pagination is used to split the results into chunks.
Defaults to 1.'
in: query
required: false
type: integer
format: int64
- name: per_page
description: '(optional URL parameter) The number of results that will be contained in each page. Defaults
to 128.'
in: query
required: false
type: integer
format: int64
tags:
- V2
delete:
summary: delete one or more terminated bulk operations
operationId: V2_DeleteBulkOperations2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/statusBaseResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
description: 'Request to delete the terminated bulk operations by ID
Only operations in terminated state can be deleted.'
in: body
required: true
schema:
$ref: '#/definitions/apiDeleteBulkOperationRequest'
tags:
- V2
post:
summary: 'Perform bulk operations on a list of inputs based on input source.
Operation include add, update, delete of concepts, metadata and geo data.
This is an Asynchronous process. Use ListBulkOperations or GetBulkOperation to check the status.'
operationId: V2_PostBulkOperations2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiBulkOperationsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
description: Request to perform bulk operations on a list of inputs based on input source.
in: body
required: true
schema:
$ref: '#/definitions/apiPostBulkOperationsRequest'
tags:
- V2
patch:
summary: Cancel one or more bulk operations
operationId: V2_CancelBulkOperations2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiBulkOperationsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/apiCancelBulkOperationRequest'
tags:
- V2
/v2/bulk_operations/{id}:
get:
summary: Get the bulk operation details by ID
operationId: V2_GetBulkOperation2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiSingleBulkOperationsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: id
description: The bulk operation id
in: path
required: true
type: string
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
tags:
- V2
/v2/cloud_providers:
get:
summary: List Available Cloud Providers
operationId: V2_ListCloudProviders
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiCloudProviderResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
tags:
- V2
/v2/cloud_providers/{cloud_provider.id}/regions:
get:
summary: List Regions for given Cloud Provider
operationId: V2_ListCloudRegions
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiCloudRegionResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: cloud_provider.id
description: Unique identifier of the cloud provider.
in: path
required: true
type: string
- name: cloud_provider.name
description: Name of the cloud provider.
in: query
required: false
type: string
tags:
- V2
/v2/cloud_providers/{cloud_provider.id}/regions/{region}/instance_types:
get:
summary: Get InstanceTypes given Cloud Provider and Region
operationId: V2_ListInstanceTypes
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiInstanceTypeResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: cloud_provider.id
description: Unique identifier of the cloud provider.
in: path
required: true
type: string
- name: region
description: 'The region to list for so when there are multiple regions we get only the clusters
that are supposed to be up in that region.'
in: path
required: true
type: string
- name: cloud_provider.name
description: Name of the cloud provider.
in: query
required: false
type: string
tags:
- V2
/v2/compute_clusters:
get:
operationId: V2_ListComputeClusters2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiComputeClusterResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
- name: page
description: '(optional URL parameter) The page number. Pagination is used to split the results into chunks.
Defaults to 1.'
in: query
required: false
type: integer
format: int64
- name: per_page
description: '(optional URL parameter) The number of results that will be contained in each page. Defaults
to 128.'
in: query
required: false
type: integer
format: int64
tags:
- V2
/v2/compute_plane_metrics:
post:
operationId: V2_PostComputePlaneMetrics
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/statusBaseResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/apiPostComputePlaneMetricsRequest'
tags:
- V2
/v2/concepts:
get:
summary: List all the concepts.
operationId: V2_ListConcepts2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiConceptResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: user_app_id.user_id
description: Note user_id 'me' is reserved - it is the alias for the id of authorized user
in: query
required: false
type: string
- name: user_app_id.app_id
in: query
required: false
type: string
- name: page
description: '(optional URL parameter) The page number. Pagination is used to split the results into chunks.
Defaults to 1.'
in: query
required: false
type: integer
format: int64
- name: per_page
description: '(optional URL parameter) The number of results that will be contained in each page. Defaults
to 128.'
in: query
required: false
type: integer
format: int64
- name: id
description: Fuzzy match on concept ID
in: query
required: false
type: string
tags:
- V2
post:
summary: Add a concept to an app.
operationId: V2_PostConcepts2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiConceptResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/apiPostConceptsRequest'
tags:
- V2
patch:
summary: Patch one or more concepts.
operationId: V2_PatchConcepts2
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiMultiConceptResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/apiPatchConceptsRequest'
tags:
- V2
/v2/concepts/knowledge_graphs:
get:
summary: List all domain graphs.
operationId: V2_Li
# --- truncated at 32 KB (1190 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/clarifai/refs/heads/main/openapi/clarifai-v2-api-openapi.yml