object apiTaskStatusCountPerUser
{
  "type": "object",
  "title": "TaskStatusCountPerUser can represents count of human created annotations for a user for each valid status,\ncount of inputs (anchor annotation) for a user for each valid status",
  "properties": {
    "userId": {
      "type": "string"
    },
    "pending": {
      "type": "integer",
      "format": "int64"
    },
    "success": {
      "type": "integer",
      "format": "int64"
    },
    "reviewDenied": {
      "type": "integer",
      "format": "int64"
    },
    "awaitingReview": {
      "type": "integer",
      "format": "int64"
    },
    "awaitingConsensusReview": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object apiTaskWorkMetrics
{
  "type": "object",
  "properties": {
    "inputsCountEstimated": {
      "type": "string",
      "format": "uint64",
      "description": "Estimated number of inputs that workers have worked on."
    },
    "inputsPercentEstimated": {
      "type": "integer",
      "format": "int64",
      "description": "Estimated percent of inputs that workers have worked on.\nThis is a value between 0 and 100, where 0 = 0% and 100 = 100%."
    }
  }
}
object apiTaskWorker
{
  "type": "object",
  "properties": {
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/apiUser"
      },
      "description": "Users who will work on this task.\nWhen the 'worker.users' field is additionally requested, then all user\ninfo is filled for the workers. Otherwise, only the user 'id' is filled.\nDEPRECATED: Use workers.user instead."
    },
    "userIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Who will work on this task.\nDEPRECATED: Use workers.user.id instead."
    },
    "workers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/apiWorker"
      },
      "description": "Workers that will work on this task.\n\nFor Auto Annotation Tasks:\n  the worker can be either a model or a workflow;\n  currently only supports 1 worker.\nFor manual labeling Tasks:\n  the workers can only be users;\n  no limitation on number of workers."
    },
    "strategy": {
      "$ref": "#/components/schemas/TaskWorkerTaskWorkerStrategy"
    },
    "partitionedStrategyInfo": {
      "$ref": "#/components/schemas/apiTaskWorkerPartitionedStrategyInfo"
    }
  },
  "description": "TaskWorker includes information about the workers that will work on this task."
}
object apiTaskWorkerPartitionedStrategyInfo
{
  "type": "object",
  "title": "TaskWorkerPartitionedStrategyInfo",
  "properties": {
    "type": {
      "$ref": "#/components/schemas/TaskWorkerPartitionedStrategyInfoTaskWorkerPartitionedStrategy"
    },
    "weights": {
      "type": "object",
      "description": "In case of weighted partitioning, map user ids to weights.\nEach labeler will be assigned work proportional to its own weight as compared to the sum of total weight.\n\nEXAMPLE:\nIf we have 3 workers, and weights = {1: 30, 2: 30, 3: 40},\nthen first worker will have assigned 30% of the work,\nsecond worker will have assigned 30% of the work,\nand third worker will have assigned 40% of the work.\nYou may use weights which add up to 100, but it's not necessary.\nFor example, weights {1: 30, 2: 30, 3: 40} are equivalent with {1: 3, 2: 3, 3: 4}\nbecause they represent the same percentages: {1: 30%, 2: 30%, 3: 40%}.\n\nNOTE:\nNote that no worker should be assigned a weight percentage greater than 1/workers_per_input.\nIt is mathematically impossible to partition the work in such a case.\nWhy? Say, we have 3 workers. And workers_per_input = 2, i.e. each input must be labeled by 2 workers.\nLet's assign weights {1: 51%, 2: 25%, 3: 24%}.\nNote that first worker has a weight percentage higher than 1/workers_per_input = 1/2 = 50%.\nIf we have 100 inputs, then a total of 100 * workers_per_input = 200 cumulative inputs will be labeled by these 3 workers.\nWorker 1 should label 102 cumulative inputs, while worker 2 and worker 3 will label 98 cumulative inputs together.\nNo matter how we assign the 98 cumulative inputs, the 2 workers will be able to label up to 98 actual inputs.\nThis means the remaining 2 inputs will be labeled only by worker 1. This contradicts the worker_per_input = 2 requirement."
    },
    "workersPerInput": {
      "type": "integer",
      "format": "int32",
      "description": "How many workers will label each input."
    }
  }
}
object apiText
{
  "type": "object",
  "title": "Text",
  "properties": {
    "raw": {
      "type": "string",
      "description": "This is a raw text string."
    },
    "url": {
      "type": "string",
      "title": "Url to a text file"
    },
    "hosted": {
      "$ref": "#/components/schemas/apiHostedURL"
    },
    "textInfo": {
      "$ref": "#/components/schemas/apiTextInfo"
    },
    "allowDuplicateUrl": {
      "type": "boolean"
    }
  }
}
object apiTextInfo
{
  "type": "object",
  "properties": {
    "encoding": {
      "type": "string",
      "title": "text encoding"
    },
    "charCount": {
      "type": "integer",
      "title": "count of characters in text",
      "format": "int32"
    }
  }
}
object apiThresholdRange
{
  "type": "object",
  "properties": {
    "lower": {
      "type": "number",
      "format": "float"
    },
    "upper": {
      "type": "number",
      "format": "float"
    },
    "isLowerInclusive": {
      "type": "boolean",
      "title": "The range used to filter over concept values.\ne.g. GREATER_THAN_OR_EQUAL_TO 0.7 -> is_lower_inclusive = true, lower = 0.7, is_upper_inclusive = true, upper = 1.0\ne.g. (0.3, 0.75] -> is_lower_inclusive = false, lower = 0.3, is_upper_inclusive = true, upper = 0.75"
    },
    "isUpperInclusive": {
      "type": "boolean"
    }
  }
}
object apiTimeInfo
{
  "type": "object",
  "title": "TimeInfo",
  "properties": {
    "endTime": {
      "type": "number",
      "format": "float",
      "description": "Timestamp where track ends."
    },
    "beginTime": {
      "type": "number",
      "format": "float",
      "description": "Timestamp where track begins."
    },
    "numFrames": {
      "type": "integer",
      "title": "Number of frames",
      "format": "int64"
    }
  }
}
object apiTimeRange
{
  "type": "object",
  "title": "TimeRange",
  "properties": {
    "endTime": {
      "type": "string",
      "format": "date-time",
      "description": "End of the time range, optional, inclusive."
    },
    "startTime": {
      "type": "string",
      "format": "date-time",
      "description": "Begin of the time range, optional, inclusive."
    }
  }
}
object apiTimeSegment
{
  "type": "object",
  "title": "TimeSegment",
  "properties": {
    "id": {
      "type": "string",
      "description": "A unique id for the time segment."
    },
    "data": {
      "$ref": "#/components/schemas/apiData"
    },
    "timeInfo": {
      "$ref": "#/components/schemas/apiTimeInfo"
    }
  }
}
object apiToken
{
  "type": "object",
  "properties": {
    "charEnd": {
      "type": "integer",
      "format": "int64"
    },
    "rawText": {
      "type": "string"
    },
    "charStart": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object apiTrack
{
  "type": "object",
  "title": "Track proto encodes information of a track over a number of frames",
  "properties": {
    "id": {
      "type": "string",
      "title": "track id"
    },
    "data": {
      "$ref": "#/components/schemas/apiData"
    },
    "quality": {
      "type": "number",
      "format": "float"
    },
    "timeInfo": {
      "$ref": "#/components/schemas/apiTimeInfo"
    }
  }
}
object apiTrackerMetrics
{
  "type": "object",
  "title": "TrackerMetrics",
  "properties": {
    "aiid": {
      "type": "string",
      "title": "The concept that we are evaluating the tracker"
    },
    "motMota": {
      "type": "number",
      "title": "Multiple object tracking accuracy",
      "format": "float"
    },
    "morseFrag": {
      "type": "number",
      "title": "MORSE fragmentation rate (a.k.a unique switch rate, only calculated in public sector)",
      "format": "float"
    },
    "avgPrecision": {
      "type": "number",
      "title": "Average precision calculated from all processed frames",
      "format": "float"
    },
    "motNumSwitches": {
      "type": "integer",
      "title": "Number of switches between tracks",
      "format": "int32"
    },
    "uniqueSwitchRate": {
      "type": "number",
      "title": "Same as morse_frag but calculated using MOT mapping/metrics",
      "format": "float"
    }
  }
}
object apiTrainInfo
{
  "type": "object",
  "properties": {
    "params": {
      "type": "object",
      "description": "To control the training process when PostModelVersions is used we allow a list of parameters\ndefined for each ModelType as a Struct (JSON object) here. During training, the settings\ncontained within are sent to the training processor to alter the training process."
    },
    "dataset": {
      "$ref": "#/components/schemas/apiDataset"
    },
    "resumeFromModel": {
      "$ref": "#/components/schemas/apiModel"
    }
  }
}
object apiTrendingMetric
{
  "type": "object",
  "title": "TrendingMetric",
  "properties": {
    "appId": {
      "type": "string"
    },
    "userId": {
      "type": "string"
    },
    "objectId": {
      "type": "string"
    },
    "viewCount": {
      "type": "string",
      "format": "uint64"
    }
  }
}
object apiTritonCondaEnvInfo
{
  "type": "object",
  "properties": {
    "condaPackUrl": {
      "type": "string"
    },
    "condaYamlUrl": {
      "type": "string"
    }
  }
}
object apiUpload
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "title": "ID of upload"
    },
    "status": {
      "$ref": "#/components/schemas/apistatusStatus"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the upload was started.\nThe format is https://www.ietf.org/rfc/rfc3339.txt.\nExample: \"2006-01-02T15:04:05.999999Z\"."
    },
    "expiresAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the upload will expire and be deleted\nThe format is https://www.ietf.org/rfc/rfc3339.txt.\nExample: \"2006-01-02T15:04:05.999999Z\"."
    },
    "contentUrl": {
      "type": "string",
      "title": "Url of uploaded content"
    },
    "modifiedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Most recent time when the upload was updated.\nThe format is https://www.ietf.org/rfc/rfc3339.txt.\nExample: \"2006-01-02T15:04:05.999999Z\"."
    },
    "contentName": {
      "type": "string",
      "title": "name of uploaded content (e.g. filename)"
    },
    "contentLength": {
      "type": "string",
      "title": "Total size of the upload content",
      "format": "uint64"
    }
  }
}
object apiUploadContentPart
{
  "type": "object",
  "properties": {
    "data": {
      "type": "string",
      "format": "byte"
    },
    "partNumber": {
      "type": "string",
      "format": "int64"
    },
    "rangeStart": {
      "type": "string",
      "format": "uint64"
    }
  }
}
object apiUser
{
  "type": "object",
  "title": "User",
  "properties": {
    "id": {
      "type": "string"
    },
    "jobRole": {
      "type": "string"
    },
    "billType": {
      "type": "string"
    },
    "jobTitle": {
      "type": "string"
    },
    "lastName": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "title": "To handle arbitrary json metadata you can use a struct field:\nhttps://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto"
    },
    "createdAt": {
      "type": "string",
      "title": "When the user was created. We follow the XXXX timestamp\nformat. We use https://www.ietf.org/rfc/rfc3339.txt format:\n\"2006-01-02T15:04:05.999999Z\" so you can expect results like\nthe following from the API:\n\"2017-04-11T21:50:50.223962Z\"",
      "format": "date-time"
    },
    "firstName": {
      "type": "string"
    },
    "intention": {
      "type": "string",
      "title": "This specifies user intent when registering on clarifai"
    },
    "isStarred": {
      "type": "boolean",
      "title": "Is starred by the requesting user (only showed on get/list requests)\nPlease use PostUserStars/DeleteUserStars endpoints to star/unstar an user"
    },
    "starCount": {
      "type": "integer",
      "title": "How many users have starred the user (only showed on get/list requests)\nComputed value, not editable",
      "format": "int32"
    },
    "teamsCount": {
      "type": "integer",
      "format": "int64"
    },
    "userDetail": {
      "$ref": "#/components/schemas/apiUserDetail"
    },
    "visibility": {
      "$ref": "#/components/schemas/clarifaiapiVisibility"
    },
    "companyName": {
      "type": "string"
    },
    "primaryEmail": {
      "type": "string"
    },
    "datePiiConsent": {
      "type": "string",
      "format": "date-time"
    },
    "dateTosConsent": {
      "type": "string",
      "format": "date-time"
    },
    "emailAddresses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/apiEmailAddress"
      }
    },
    "dateGdprConsent": {
      "type": "string",
      "format": "date-time"
    },
    "dateMarketingConsent": {
      "type": "string",
      "format": "date-time"
    },
    "twoFactorAuthEnabled": {
      "type": "boolean"
    }
  }
}
object apiUserAppIDSet
{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string"
    },
    "userId": {
      "type": "string",
      "title": "Note user_id 'me' is reserved - it is the alias for the id of authorized user"
    }
  },
  "description": "Common message to identify the app in a url endpoint."
}
object apiUserDetail
{
  "type": "object",
  "properties": {
    "state": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "billType": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "title": "To handle arbitrary json metadata you can use a struct field:\nhttps://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto"
    },
    "teamsCount": {
      "type": "integer",
      "format": "int64"
    },
    "primaryEmail": {
      "type": "string"
    },
    "datePiiConsent": {
      "type": "string",
      "format": "date-time"
    },
    "dateTosConsent": {
      "type": "string",
      "format": "date-time"
    },
    "emailAddresses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/apiEmailAddress"
      }
    },
    "dateGdprConsent": {
      "type": "string",
      "format": "date-time"
    },
    "dateMarketingConsent": {
      "type": "string",
      "format": "date-time"
    },
    "twoFactorAuthEnabled": {
      "type": "boolean"
    }
  },
  "description": "This message holds the confidential information from the User object that we don't want to expose\nto other users. It will be accessible only from /users/{user_id}/account and with the User scopes."
}
object apiVideo
{
  "type": "object",
  "title": "Video",
  "properties": {
    "url": {
      "type": "string",
      "description": "This is a URL to a publicly accessible video file. The platform will download this file server\nside and then process."
    },
    "base64": {
      "type": "string",
      "format": "byte",
      "description": "The base64 field is using video file bytes directly in the request.\nNOTE: if you're sending a json request, then this MUST be base64 encoded before sending (hence\nthe name here).\nWhen using our grpc clients, you DO NOT need to base64 encode\nit yourself since the clients know how to do this for you automatically and will avoid the\nbase64 encoding if they send a binary request."
    },
    "hosted": {
      "$ref": "#/components/schemas/apiHostedURL"
    },
    "videoInfo": {
      "$ref": "#/components/schemas/apiVideoInfo"
    },
    "thumbnailUrl": {
      "type": "string",
      "title": "URL of thumbnail image, which is currently frame at position of 1s. This field is currently\nused only in response.\nDeprecated in favour of thumbnail_hosted, which also contains alternate sizes of thumbnail"
    },
    "hostedThumbnail": {
      "$ref": "#/components/schemas/apiHostedURL"
    },
    "allowDuplicateUrl": {
      "type": "boolean"
    }
  }
}
object apiVideoInfo
{
  "type": "object",
  "properties": {
    "fps": {
      "type": "number",
      "format": "float",
      "description": "Frames per second of the video."
    },
    "width": {
      "type": "integer",
      "title": "width",
      "format": "int32"
    },
    "height": {
      "type": "integer",
      "title": "height",
      "format": "int32"
    },
    "bitRate": {
      "type": "integer",
      "title": "video track bit rate",
      "format": "int32"
    },
    "frameCount": {
      "type": "integer",
      "title": "video frame count",
      "format": "int32"
    },
    "videoFormat": {
      "type": "string",
      "title": "video format"
    },
    "durationSeconds": {
      "type": "number",
      "title": "video duration in seconds",
      "format": "float"
    }
  }
}
object apiW3C
{
  "type": "object",
  "properties": {
    "hex": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  }
}
object apiWorker
{
  "type": "object",
  "properties": {
    "user": {
      "$ref": "#/components/schemas/apiUser"
    },
    "model": {
      "$ref": "#/components/schemas/apiModel"
    },
    "workflow": {
      "$ref": "#/components/schemas/apiWorkflow"
    }
  },
  "description": "Worker is the author of an annotation."
}
object apiWorkflow
{
  "type": "object",
  "title": "Workflow",
  "properties": {
    "id": {
      "type": "string",
      "description": "The workflows's unique id."
    },
    "appId": {
      "type": "string",
      "title": "The app the workflow belongs to"
    },
    "image": {
      "$ref": "#/components/schemas/apiImage"
    },
    "nodes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/apiWorkflowNode"
      },
      "description": "The list of nodes retrieved from latest workflow version.\nEach node can specify an input node that it connects to in order to define the graph."
    },
    "notes": {
      "type": "string",
      "description": "Notes for the workflow\nThis field should be used for in-depth notes and supports up to 64Kbs."
    },
    "userId": {
      "type": "string",
      "title": "The user the workflow belongs to"
    },
    "version": {
      "$ref": "#/components/schemas/apiWorkflowVersion"
    },
    "metadata": {
      "type": "object",
      "title": "To handle arbitrary json metadata you can use a struct field:\nhttps://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto"
    },
    "useCases": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Tags from use_cases category"
    },
    "createdAt": {
      "type": "string",
      "title": "When the workflow was created. We follow the XXXX timestamp\nformat. We use https://www.ietf.org/rfc/rfc3339.txt format:\n\"2006-01-02T15:04:05.999999Z\" so you can expect results like\nthe following from the API:\n\"2017-04-11T21:50:50.223962Z\"",
      "format": "date-time"
    },
    "isStarred": {
      "type": "boolean",
      "title": "Is starred by the requesting user (only showed on get/list requests)\nPlease use PostWorkflowStars/DeleteWorkflowStars endpoints to star/unstar a workflow"
    },
    "starCount": {
      "type": "integer",
      "title": "How many users have starred the workflow (only showed on get/list requests)\nComputed value, not editable",
      "format": "int32"
    },
    "modifiedAt": {
      "type": "string",
      "title": "When the workflow was last modified",
      "format": "date-time"
    },
    "visibility": {
      "$ref": "#/components/schemas/clarifaiapiVisibility"
    },
    "description": {
      "type": "string",
      "title": "Short description about this workflow"
    },
    "checkConsents": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Tags for check consents"
    },
    "bookmarkOrigin": {
      "$ref": "#/components/schemas/apiBookmarkOrigin"
    }
  }
}
string apiWorkflowModelUseCase
{
  "enum": [
    "WORKFLOW_MODEL_USE_CASE_NOT_SET",
    "CLASSIFICATION",
    "DETECTION"
  ],
  "type": "string",
  "default": "WORKFLOW_MODEL_USE_CASE_NOT_SET",
  "description": " - CLASSIFICATION: Classifier models without a detector parent (recursive check) in a workflow\nare used for classification.\n - DETECTION: Detector models in a workflow are used for detection.\nClassifier models that run after a detector model are also used for detection."
}
object apiWorkflowNode
{
  "type": "object",
  "title": "WorkflowNode",
  "properties": {
    "id": {
      "type": "string",
      "description": "An identifier for this node in the graph. This is used when connecting NodeInputs\ntogether."
    },
    "model": {
      "$ref": "#/components/schemas/apiModel"
    },
    "nodeInputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/apiNodeInput"
      },
      "description": "Each WorkflowNode can connect to multiple input nodes so that we can handle multi-model data\nand more complex workflow operations."
    },
    "suppressOutput": {
      "type": "boolean",
      "title": "suppress the output for workflow prediction"
    },
    "outputInfoOverride": {
      "$ref": "#/components/schemas/apiOutputInfo"
    }
  }
}
object apiWorkflowResult
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "input": {
      "$ref": "#/components/schemas/apiInput"
    },
    "model": {
      "$ref": "#/components/schemas/apiModel"
    },
    "status": {
      "$ref": "#/components/schemas/apistatusStatus"
    },
    "outputs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/apiOutput"
      },
      "description": "For each model in the workflow we return an Output."
    },
    "createdAt": {
      "type": "string",
      "title": "When the object was created. We follow the XXXX timestamp\nformat. We use https://www.ietf.org/rfc/rfc3339.txt format:\n\"2006-01-02T15:04:05.999999Z\" so you can expect results like\nthe following from the API:\n\"2017-04-11T21:50:50.223962Z\"",
      "format": "date-time"
    },
    "suppressOutput": {
      "type": "boolean",
      "description": "Indicate if the output of this model is suppressed."
    }
  },
  "description": "WorkflowResult\nOne result per input in the workflow."
}
object apiWorkflowResultsSimilarity
{
  "type": "object",
  "title": "WorkflowResultsSimilarity",
  "properties": {
    "probeInput": {
      "$ref": "#/components/schemas/apiInput"
    },
    "poolResults": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/apiHit"
      }
    }
  }
}
object apiWorkflowState
{
  "type": "object",
  "title": "WorkflowState",
  "properties": {
    "id": {
      "type": "string",
      "description": "A unique ID for the workflow state.\nTo start saving a state in a PostWorkflowResults request set this ID to \"init\"\nand it will return a newly generated unique state id that you can then pass in subsequent\nPostWorkflowResults calls. These state expire after 5 minutes between calls."
    }
  }
}
object apiWorkflowVersion
{
  "type": "object",
  "title": "WorkflowVersion",
  "properties": {
    "id": {
      "type": "string",
      "description": "Id of this version."
    },
    "appId": {
      "type": "string",
      "description": "The app the workflow version belongs to."
    },
    "nodes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/apiWorkflowNode"
      },
      "description": "The list of nodes that make up the workflow version. Each node can specify an input node\nthat it connects to in order to define the graph."
    },
    "userId": {
      "type": "string",
      "description": "The user the workflow version belongs to."
    },
    "license": {
      "type": "string",
      "title": "License associated to this workflow version"
    },
    "metadata": {
      "type": "object",
      "title": "To handle arbitrary json metadata you can use a struct field:\nhttps://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the version was created.\nThe format is https://www.ietf.org/rfc/rfc3339.txt.\nExample: \"2006-01-02T15:04:05.999999Z\"."
    },
    "modifiedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Most recent time when the version was updated.\nThe format is https://www.ietf.org/rfc/rfc3339.txt.\nExample: \"2006-01-02T15:04:05.999999Z\"."
    },
    "visibility": {
      "$ref": "#/components/schemas/clarifaiapiVisibility"
    },
    "workflowId": {
      "type": "string",
      "description": "Workflow id for this version."
    },
    "description": {
      "type": "string",
      "title": "Short description about this workflow version"
    }
  }
}
object apiWorkflowVersionPublishRequest
{
  "type": "object",
  "properties": {
    "versionId": {
      "type": "string"
    }
  }
}
object apiWorkflowVersionUnPublishRequest
{
  "type": "object",
  "properties": {
    "versionId": {
      "type": "string"
    }
  }
}
object apistatusStatus
{
  "type": "object",
  "properties": {
    "code": {
      "$ref": "#/components/schemas/statusStatusCode"
    },
    "reqId": {
      "type": "string",
      "title": "A request ID may be present, to help monitoring and tracking requests"
    },
    "details": {
      "type": "string",
      "description": "More details of the given error.\nThese details may be exposed to non-technical users.\nFor technical details, try to use developer_notes field."
    },
    "stackTrace": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "For some environment we may return a stack trace to help debug\nany issues."
    },
    "description": {
      "type": "string",
      "description": "A short description of the error."
    },
    "redirectInfo": {
      "$ref": "#/components/schemas/statusRedirectInfo"
    },
    "timeRemaining": {
      "type": "integer",
      "title": "if status is pending, how much time is remaining (in seconds)",
      "format": "int64"
    },
    "developerNotes": {
      "type": "string",
      "description": "Notes for developer.\nThese notes are rather technical details for developers how to interpret the status,\ne.g. why an error occurred and how to avoid getting the error."
    },
    "internalDetails": {
      "type": "string",
      "description": "Internal Annotation (do not set in production, for internal Clarifai use only)."
    },
    "percentCompleted": {
      "type": "integer",
      "title": "specifically for long running jobs",
      "format": "int64"
    }
  }
}
object clarifaiapiAnnotation
{
  "type": "object",
  "title": "Annotation of an asset with metadata",
  "properties": {
    "id": {
      "type": "string",
      "title": "The ID for the annotation"
    },
    "data": {
      "$ref": "#/components/schemas/apiData"
    },
    "status": {
      "$ref": "#/components/schemas/apistatusStatus"
    },
    "taskId": {
      "type": "string",
      "title": "The id of the task annotation belongs to"
    },
    "userId": {
      "type": "string",
      "title": "ID of the user this annotation is created by"
    },
    "inputId": {
      "type": "string",
      "title": "ID of the input this annotation is tied to"
    },
    "trusted": {
      "type": "boolean",
      "title": "Whether or not this annotation is trusted\nWill be deprecated"
    },
    "createdAt": {
      "type": "string",
      "title": "When the annotation was created. We follow the XXXX timestamp\nformat. We use https://www.ietf.org/rfc/rfc3339.txt format:\n\"2006-01-02T15:04:05.999999Z\" so you can expect results like\nthe following from the API:\n\"2017-04-11T21:50:50.223962Z\"",
      "format": "date-time"
    },
    "inputLevel": {
      "type": "boolean",
      "description": "Is this the input level annotation."
    },
    "modifiedAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the annotation was modified."
    },
    "consensusInfo": {
      "type": "object",
      "title": "Consensus review related information, e.g.\n* annotation group\n* id of annotation parent, in case the annotation was split from another annotation"
    },
    "annotationInfo": {
      "type": "object",
      "title": "task_id is deprecated in annotation_info. Use task_id"
    },
    "modelVersionId": {
      "type": "string",
      "title": "ID of the model version this annotation is created by"
    },
    "workflowVersionId": {
      "type": "string",
      "title": "ID of the workflow version this annotation is created by"
    },
    "embedModelVersionId": {
      "type": "string",
      "description": "DEPRECATED."
    }
  }
}
object clarifaiapiVisibility
{
  "type": "object",
  "properties": {
    "gettable": {
      "$ref": "#/components/schemas/VisibilityGettable"
    }
  },
  "description": "Visibility represents how visible the given resource is to other users.\nWhen authenticating a request we can tell if a user is a collaborator or a teammate for the\nthe app that contains the resource and set their allowed visibility. We use that to restrict\nwhat they are allowed to see:\nIf AllowedVisibility is PRIVATE then we allow PRIVATE (10), ORG (30), PUBLIC (50)\nIf AllowedVisibility is ORG then we allow ORG (30), PUBLIC (50)\nIf AllowedVisibility is PUBLIC then we allow PUBLIC (50) only."
}
object googlerpcStatus
{
  "type": "object",
  "properties": {
    "code": {
      "type": "integer",
      "format": "int32"
    },
    "details": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/protobufAny"
      }
    },
    "message": {
      "type": "string"
    }
  }
}
object protobufAny
{
  "type": "object",
  "properties": {
    "@type": {
      "type": "string"
    }
  },
  "additionalProperties": {}
}
string protobufNullValue
{
  "enum": [
    "NULL_VALUE"
  ],
  "type": "string",
  "default": "NULL_VALUE",
  "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value."
}
object statusBaseResponse
{
  "type": "object",
  "properties": {
    "status": {
      "$ref": "#/components/schemas/apistatusStatus"
    }
  },
  "description": "Base message to return when there is a internal server error that\nis not caught elsewhere."
}
object statusRedirectInfo
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "New location for the resource. Used to set response Location header."
    },
    "resourceType": {
      "type": "string",
      "title": "Resource type"
    },
    "newResourceId": {
      "type": "string",
      "title": "New resource id"
    },
    "oldResourceId": {
      "type": "string",
      "title": "Old resource id"
    }
  }
}
string statusStatusCode
{
  "enum": [
    "ZERO",
    "SUCCESS",
    "MIXED_STATUS",
    "FAILURE",
    "TRY_AGAIN",
    "NOT_IMPLEMENTED",
    "MOVED",
    "TEAPOT",
    "CONN_ACCOUNT_ISSUES",
    "CONN_TOKEN_INVALID",
    "CONN_CREDENTIALS_INVALID",
    "CONN_EXCEED_HOURLY_LIMIT",
    "CONN_EXCEED_MONTHLY_LIMIT",
    "CONN_THROTTLED",
    "CONN_EXCEEDS_LIMITS",
    "CONN_INSUFFICIENT_SCOPES",
    "CONN_KEY_INVALID",
    "CONN_KEY_NOT_FOUND",
    "CONN_BAD_REQUEST_FORMAT",
    "CONN_DOES_NOT_EXIST",
    "CONN_INVALID_REQUEST",
    "CONN_METHOD_NOT_ALLOWED",
    "CONN_NO_GDPR_CONSENT",
    "CONN_AUTH_METHOD_DISABLED",
    "MODEL_TRAINED",
    "MODEL_TRAINING",
    "MODEL_UNTRAINED",
    "MODEL_QUEUED_FOR_TRAINING",
    "MODEL_UPLOADING",
    "MODEL_UPLOADING_FAILED",
    "MODEL_TRAINING_FAILED",
    "MODEL_TRAINING_NO_DATA",
    "MODEL_TRAINING_NO_POSITIVES",
    "MODEL_TRAINING_ONE_VS_N_SINGLE_CLASS",
    "MODEL_TRAINING_TIMED_OUT",
    "MODEL_TRAINING_WAITING_ERROR",
    "MODEL_TRAINING_UNKNOWN_ERROR",
    "MODEL_TRAINING_MSG_REDELIVER",
    "MODEL_TRAINING_INSUFFICIENT_DATA",
    "MODEL_TRAINING_INVALID_PARAMS",
    "MODEL_TRAINING_INVALID_DATA_TOLERANCE_EXCEEDED",
    "MODEL_MODIFY_SUCCESS",
    "MODEL_MODIFY_PENDING",
    "MODEL_MODIFY_FAILED",
    "MODEL_DOES_NOT_EXIST",
    "MODEL_PERMISSION_DENIED",
    "MODEL_INVALID_ARGUMENT",
    "MODEL_INVALID_REQUEST",
    "MODEL_EVALUATED",
    "MODEL_EVALUATING",
    "MODEL_NOT_EVALUATED",
    "MODEL_QUEUED_FOR_EVALUATION",
    "MODEL_EVALUATION_TIMED_OUT",
    "MODEL_EVALUATION_WAITING_ERROR",
    "MODEL_EVALUATION_UNKNOWN_ERROR",
    "MODEL_PREDICTION_FAILED",
    "MODEL_EVALUATION_MSG_REDELIVER",
    "MODEL_EVALUATION_NEED_LABELS",
    "MODEL_EVALUATION_NEED_INPUTS",
    "MODEL_EVALUATION_FAILED",
    "MODEL_DEPLOYMENT_FAILED",
    "MODEL_DEPLOYING",
    "MODEL_QUEUED_FOR_DEPLOYMENT",
    "MODEL_NOT_DEPLOYED",
    "MODEL_REFERENCE_INVALID_ARGUMENT",
    "MODEL_EXAMPLE_INPUT_INVALID_ARGUMENT",
    "MODEL_EXPORTED",
    "MODEL_EXPORTING",
    "MODEL_EXPORTING_FAILED",
    "MODEL_EXPORT_PENDING",
    "WORKFLOW_NO_MATCHING_INPUT",
    "WORKFLOW_REQUIRE_TRAINED_MODEL",
    "WORKFLOW_DUPLICATE",
    "WORKFLOW_UNSUPPORTED_FORMAT",
    "WORKFLOW_DOES_NOT_EXIST",
    "WORKFLOW_PERMISSION_DENIED",
    "WORKFLOW_INVALID_ARGUMENT",
    "WORKFLOW_INVALID_RECIPE",
    "WORKFLOW_INVALID_TEMPLATE",
    "WORKFLOW_INVALID_GRAPH",
    "WORKFLOW_INTERNAL_FAILURE",
    "WORKFLOW_INVALID_REQUEST",
    "WORKFLOW_MODIFY_SUCCESS",
    "WORKFLOW_MODIFY_PENDING",
    "WORKFLOW_MODIFY_FAILED",
    "WORKFLOW_REINDEX_FAILED",
    "CONCEPT_MODIFY_SUCCESS",
    "CONCEPT_MODIFY_PENDING",
    "CONCEPT_MODIFY_FAILED",
    "ANNOTATION_SUCCESS",
    "ANNOTATION_PENDING",
    "ANNOTATION_FAILED",
    "ANNOTATION_UNKNOWN_STATUS",
    "ANNOTATION_INVALID_ARGUMENT",
    "ANNOTATION_PERMISSION_DENIED",
    "ANNOTATION_AWAITING_REVIEW",
    "ANNOTATION_AWAITING_CONSENSUS_REVIEW",
    "ANNOTATION_REVIEW_DENIED",
    "ANNOTATION_MODIFY_SUCCESS",
    "ANNOTATION_MODIFY_PENDING",
    "ANNOTATION_MODIFY_FAILED",
    "METADATA_INVALID_PATCH_ARGUMENTS",
    "METADATA_PARSING_ISSUE",
    "METADATA_MANIPULATION_ISSUE",
    "TRAINER_JOB_STATE_NONE",
    "TRAINER_JOB_STATE_QUEUED",
    "TRAINER_JOB_STATE_RUNNING",
    "TRAINER_JOB_STATE_COMPLETE",
    "TRAINER_JOB_STATE_ERROR",
    "DATA_DUMP_SUCCESS",
    "DATA_DUMP_PENDING",
    "DATA_DUMP_FAILED",
    "DATA_DUMP_IN_PROGRESS",
    "DATA_DUMP_NO_DATA",
    "DATA_DUMP_UNEXPECTED_ERROR",
    "DATA_DUMP_EXPORT_SUCCESS",
    "DATA_DUMP_EXPORT_PENDING",
    "DATA_DUMP_EXPORT_FAILED",
    "DATA_DUMP_EXPORT_IN_PROGRESS",
    "DATA_DUMP_EXPORT_UNEXPECTED_ERROR",
    "APP_DUPLICATION_SUCCESS",
    "APP_DUPLICATION_FAILED",
    "APP_DUPLICATION_PENDING",
    "APP_DUPLICATION_IN_PROGRESS",
    "APP_DUPLICATION_INVALID_REQUEST",
    "MODULE_DOES_NOT_EXIST",
    "MODULE_PERMISSION_DENIED",
    "MODULE_INVALID_ARGUMENT",
    "MODULE_INVALID_REQUEST",
    "BULK_OPERATION_SUCCESS",
    "BULK_OPERATION_FAILED",
    "BULK_OPERATION_PENDING",
    "BULK_OPERATION_IN_PROGRESS",
    "BULK_OPERATION_INVALID_REQUEST",
    "BULK_OPERATION_CANCELLED",
    "BULK_OPERATION_UNEXPECTED_ERROR",
    "RUNNER_DOES_NOT_EXIST",
    "RUNNER_PERMISSION_DENIED",
    "RUNNER_INVALID_ARGUMENT",
    "RUNNER_INVALID_REQUEST",
    "RUNNER_NEEDS_RETRY",
    "RUNNER_STREAM_START",
    "RUNNER_STREAM_END",
    "RUNNER_ITEM_CANCELLED",
    "RUNNER_PROCESSING_FAILED",
    "INPUT_DOWNLOAD_SUCCESS",
    "INPUT_DOWNLOAD_PENDING",
    "INPUT_DOWNLOAD_FAILED",
    "INPUT_DOWNLOAD_IN_PROGRESS",
    "INPUT_STATUS_UPDATE_FAILED",
    "INPUT_DELETE_FAILED",
    "INPUT_DUPLICATE",
    "INPUT_UNSUPPORTED_FORMAT",
    "INPUT_DOES_NOT_EXIST",
    "INPUT_PERMISSION_DENIED",
    "INPUT_INVALID_ARGUMENT",
    "INPUT_OVER_LIMIT",
    "INPUT_INVALID_URL",
    "INPUT_MODIFY_SUCCESS",
    "INPUT_MODIFY_PENDING",
    "INPUT_MODIFY_FAILED",
    "INPUT_STORAGE_HOST_FAILED",
    "ALL_INPUT_INVALID_BYTES",
    "INPUT_CLUSTER_SUCCESS",
    "INPUT_CLUSTER_PENDING",
    "INPUT_CLUSTER_FAILED",
    "INPUT_CLUSTER_IN_PROGRESS",
    "INPUT_REINDEX_SUCCESS",
    "INPUT_REINDEX_PENDING",
    "INPUT_REINDEX_FAILED",
    "INPUT_REINDEX_IN_PROGRESS",
    "INPUT_VIDEO_DOWNLOAD_SUCCESS",
    "INPUT_VIDEO_DOWNLOAD_PENDING",
    "INPUT_VIDEO_DOWNLOAD_FAILED",
    "INPUT_VIDEO_DUPLICATE",
    "INPUT_VIDEO_UNSUPPORTED_FORMAT",
    "INPUT_VIDEO_DOES_NOT_EXIST",
    "INPUT_VIDEO_PERMISSION_DENIED",
    "INPUT_VIDEO_INVALID_ARGUMENT",
    "INPUT_VIDEO_OVER_LIMIT",
    "INPUT_VIDEO_INVALID_URL",
    "INPUT_VIDEO_MODIFY_SUCCESS",
    "INPUT_VIDEO_MODIFY_PENDING",
    "INPUT_VIDEO_MODIFY_FAILED",
    "INPUT_VIDEO_STORAGE_HOST_FAILED",
    "ALL_INPUT_VIDEOS_INVALID_BYTES",
    "INPUT_VIDEO_PROCESSING_SUCCESS",
    "INPUT_VIDEO_PROCESSING_PENDING",
    "INPUT_VIDEO_PROCESSING_FAILED",
    "INPUT_VIDEO_STORAGE_INCONSISTENCY",
    "INPUT_VIDEO_STORAGE_FAILURE",
    "INPUT_VIDEO_URL_GENERATION_FAILURE",
    "INPUT_CONNECTION_FAILED",
    "REQUEST_DISABLED_FOR_MAINTENANCE",
    "INPUT_WRITES_DISABLED_FOR_MAINTENANCE",
    "INPUT_INVALID_REQUEST",
    "PREDICT_INVALID_REQUEST",
    "SEARCH_INVALID_REQUEST",
    "CONCEPTS_INVALID_REQUEST",
    "STATS_INVALID_REQUEST",
    "DATABASE_DUPLICATE_KEY",
    "DATABASE_STATEMENT_TIMEOUT",
    "DATABASE_INVALID_ROWS_AFFECTED",
    "DATABASE_DEADLOCK_DETECTED",
    "DATABASE_FAIL_TASK",
    "DATABASE_FAIL_TO_GET_CONNECTIONS",
    "DATABASE_TOO_MANY_CLIENTS",
    "DATABASE_CONSTRAINT_VIOLATED",
    "DATABASE_CANCELED",
    "ASYNC_WORKER_MULTI_ERRORS",
    "RPC_REQUEST_QUEUE_FULL",
    "RPC_SERVER_UNAVAILABLE",
    "RPC_REQUEST_TIMEOUT",
    "RPC_MAX_MESSAGE_SIZE_EXCEEDED",
    "RPC_CANCELED",
    "RPC_UNKNOWN_METHOD",
    "REQUEST_CANCELED_BY_USER",
    "CLUSTER_INTERNAL_FAILURE",
    "EXTERNAL_CONNECTION_ERROR",
    "QUERY_INVALID_SYNTAX",
    "QUEUE_CONN_ERROR",
    "QUEUE_CLOSE_REQUEST_TIMEOUT",
    "QUEUE_CONN_CLOSED",
    "QUEUE_PUBLISH_ACK_TIMEOUT",
    "QUEUE_PUBLISH_ERROR",
    "QUEUE_SUBSCRIPTION_TIMEOUT",
    "QUEUE_SUBSCRIPTION_ERROR",
    "QUEUE_MARSHALLING_FAILED",
    "QUEUE_UNMARSHALLING_FAILED",
    "QUEUE_MAX_MSG_REDELIVERY_EXCEEDED",
    "QUEUE_ACK_FAILURE",
    "SQS_OVERLIMIT",
    "SQS_INVALID_RECEIPT_HANDLE",
    "SQS_UNKNOWN",
    "SEARCH_INTERNAL_FAILURE",
    "SEARCH_PROJECTION_FAILURE",
    "SEARCH_PREDICTION_FAILURE",
    "SEARCH_BY_NOT_FULLY_INDEXED_INPUT",
    "SAVED_SEARCH_MODIFY_FAILED",
    "SEARCH_COUNTS_UNAVAILABLE",
    "EVALUATION_QUEUED",
    "EVALUATION_IN_PROGRESS",
    "EVALUATION_SUCCESS",
    "EVALUATION_FAILED_TO_RETRIEVE_DATA",
    "EVALUATION_INVALID_ARGUMENT",
    "EVALUATION_FAILED",
    "EVALUATION_PENDING",
    "EVALUATION_TIMED_OUT",
    "EVALUATION_UNEXPECTED_ERROR",
    "EVALUATION_MIXED",
    "STRIPE_EVENT_ERROR",
    "CACHE_MISS",
    "REDIS_SCRIPT_EXITED_WITH_FAILURE",
    "REDIS_STREAM_ERR",
    "REDIS_NO_CONSUMERS",
    "REDIS_STREAM_BACKOFF",
    "SIGNUP_EVENT_ERROR",
    "SIGNUP_FLAGGED",
    "FILETYPE_UNSUPPORTED",
    "APP_COUNT_INVALID_MESSAGE",
    "APP_COUNT_UPDATE_INCREMENT_FAILED",
    "APP_COUNT_REBUILD_FAILED",
    "APP_COUNT_INTERNAL_FAILURE",
    "MP_DOWNLOAD_ERROR",
    "MP_RESOLVE_DNS_ERROR",
    "MP_DOWNLOAD_MAX_SIZE_EXCEEDED_ERROR",
    "MP_IMAGE_DECODE_ERROR",
    "MP_INVALID_ARGUMENT",
    "MP_IMAGE_PROCESSING_ERROR",
    "DATATIER_CONN_ERROR",
    "USER_CONSENT_FACE",
    "WORKER_MISSING",
    "WORKER_ACTIVE",
    "WORKER_INACTIVE",
    "COLLECTOR_MISSING",
    "COLLECTOR_ACTIVE",
    "COLLECTOR_INACTIVE",
    "COLLECTOR_POST_INPUT_FAILED",
    "SSO_IDENTITY_PROVIDER_DOES_NOT_EXIST",
    "TASK_IN_PROGRESS",
    "TASK_DONE",
    "TASK_WONT_DO",
    "TASK_FAILED",
    "TASK_IDLE",
    "TASK_CONFLICT",
    "TASK_NOT_IMPLEMENTED",
    "TASK_MISSING",
    "TASK_PERMISSION_DENIED",
    "TASK_ASSIGNMENT_SUCCESS",
    "TASK_ASSIGNMENT_PENDING",
    "TASK_ASSIGNMENT_AWAITING_REVIEW",
    "TASK_ASSIGNMENT_AWAITING_CONSENSUS_REVIEW",
    "LABEL_ORDER_PENDING",
    "LABEL_ORDER_IN_PROGRESS",
    "LABEL_ORDER_SUCCESS",
    "LABEL_ORDER_CANCELED",
    "LICENSE_ACTIVE",
    "LICENSE_DOES_NOT_EXIST",
    "LICENSE_NEED_UPDATE",
    "LICENSE_EXPIRED",
    "LICENSE_REVOKED",
    "LICENSE_DELETED",
    "LICENSE_VOLUME_EXCEEDED",
    "PASSWORD_VALIDATION_SUCCESS",
    "PASSWORD_VALIDATION_FAILED",
    "PASSWORDPOLICY_INVALID_ARGUMENT",
    "FEATUREFLAG_CONFIG_NOT_FOUND",
    "FEATUREFLAG_INVALID_ARGUMENT",
    "FEATUREFLAG_BLOCKED",
    "MAINTENANCE_SUCCESS",
    "MAINTENANCE_FAILED",
    "DATASET_VERSION_PENDING",
    "DATASET_VERSION_IN_PROGRESS",
    "DATASET_VERSION_READY",
    "DATASET_VERSION_FAILURE",
    "DATASET_VERSION_UNEXPECTED_ERROR",
    "DATASET_VERSION_CONFLICT",
    "DATASET_INPUT_SUCCESS",
    "DATASET_INPUT_DUPLICATE",
    "DATASET_VERSION_EXPORT_SUCCESS",
    "DATASET_VERSION_EXPORT_PENDING",
    "DATASET_VERSION_EXPORT_FAILED",
    "DATASET_VERSION_EXPORT_IN_PROGRESS",
    "DATASET_VERSION_EXPORT_UNEXPECTED_ERROR",
    "JOB_QUEUED",
    "JOB_RUNNING",
    "JOB_COMPLETED",
    "JOB_FAILED",
    "JOB_CANCELLED",
    "JOB_UNEXPECTED_ERROR",
    "JOB_CONFLICT",
    "AUTH_MISSING_IDP_ASSOC",
    "LIST_OBJECTS_FAILED",
    "ARCHIVE_EXTRACT_FAILED",
    "UPLOAD_IN_PROGRESS",
    "UPLOAD_DONE",
    "UPLOAD_FAILED",
    "UPLOAD_UNEXPECTED_ERROR",
    "UPLOAD_EXPIRED",
    "UPLOAD_CANCELED",
    "UPLOAD_CONFLICT",
    "BILLING_INVALID_INFO",
    "INTERNAL_SERVER_ISSUE",
    "INTERNAL_FETCHING_ISSUE",
    "INTERNAL_DATABASE_ISSUE",
    "INTERNAL_CONTEXT_CANCELED",
    "INTERNAL_UNEXPECTED_TIMEOUT",
    "INTERNAL_UNEXPECTED_V1",
    "INTERNAL_UNEXPECTED_PANIC",
    "INTERNAL_UNEXPECTED_SPIRE",
    "INTERNAL_REDIS_UNAVAILABLE",
    "INTERNAL_RESOURCE_EXHAUSTED",
    "INTERNAL_REDIS_UNCATEGORIZED",
    "INTERNAL_AWS_UNCATEGORIZED",
    "INTERNAL_AZURE_UNCATEGORIZED",
    "CONN_UNCATEGORIZED",
    "MODEL_UNCATEGORIZED",
    "INPUT_UNCATEGORIZED",
    "ANNOTATION_UNCATEGORIZED",
    "BILLING_UNCATEGORIZED",
    "INTERNAL_UNCATEGORIZED",
    "BAD_REQUEST",
    "SERVER_ERROR"
  ],
  "type": "string",
  "title": "- ZERO: to be revised and greatly expanded\n - SUCCESS: Generic\n - MOVED: Resource moved. Respond with Http status 307 and add new Location header to response\n - TEAPOT: SUCCESS_WARNING_API_DEPRECATED = 10001;\nSUCCESS_WARNING_CLIENT_DEPRECATED = 10002;\n - CONN_ACCOUNT_ISSUES: Clarifai Connection Codes: 11xxx",
  "default": "ZERO",
  "description": "expired cc, still in trial, feature not supported in your tier\n - CONN_TOKEN_INVALID: invalid auth token used. Deprecated: we should return CONN_KEY_INVALID instead now in all cases.\n - CONN_CREDENTIALS_INVALID: invalid auth credentials\n - CONN_EXCEED_HOURLY_LIMIT: throttle hourly limit exceeded\n - CONN_EXCEED_MONTHLY_LIMIT: throttle monthly limit exceeded\n - CONN_THROTTLED: throttler and billing stuff\n - CONN_EXCEEDS_LIMITS: throttler and billing stuff\n - CONN_INSUFFICIENT_SCOPES: api key has insufficient permissions\n - CONN_KEY_INVALID: api key is invalid\n - CONN_KEY_NOT_FOUND: api key not found\n - CONN_BAD_REQUEST_FORMAT: multipart form parsing, broken json, etc\n - CONN_DOES_NOT_EXIST: when path is bad\n - CONN_INVALID_REQUEST: something wrong with a header\n - CONN_METHOD_NOT_ALLOWED: when a request method is not allowed\n - CONN_NO_GDPR_CONSENT: lack GDPR consent\n - CONN_AUTH_METHOD_DISABLED: authentication method is disabled\n - MODEL_TRAINED: Model/Custom Training related 20xxx\n\nCustom model has been already trained.\n - MODEL_TRAINING: Custom model is currently training.\n - MODEL_UNTRAINED: Custom model has not yet been trained.\n - MODEL_QUEUED_FOR_TRAINING: Custom model is currently in queue for training, waiting on assets to process first.\n - MODEL_TRAINING_FAILED: generic err msg for any type of model training err.\n - MODEL_TRAINING_NO_DATA: Custom model training had no data.  FIXME(yang): deprecate this. Use the 21106 + errStatusMsg\n - MODEL_TRAINING_NO_POSITIVES: Custom model training had no positive examples. FIXME(yang): deprecate this. Use the 21106 + errStatusMsg\n - MODEL_TRAINING_ONE_VS_N_SINGLE_CLASS: Custom model training was ONE_VS_N but with a single class. FIXME(yang): deprecate this. Use the 21106 + errStatusMsg\n - MODEL_TRAINING_TIMED_OUT: Training took longer than hard coded timeouts. FIXME(yang): deprecate this. Use the 21106 + errStatusMsg\n - MODEL_TRAINING_WAITING_ERROR: Training got error waiting on asset pipeline to finish. FIXME(yang): deprecate this. Use the 21106 + errStatusMsg\n - MODEL_TRAINING_UNKNOWN_ERROR: Training threw an unknown exception.\n - MODEL_TRAINING_MSG_REDELIVER: Training message was redelivered. FIXME(yang): deprecate this. Use the 21106 + errStatusMsg\n - MODEL_TRAINING_INSUFFICIENT_DATA: Training got error due to insufficient labelled data. FIXME(yang): deprecate this. Use the 21106 + errStatusMsg\n - MODEL_TRAINING_INVALID_PARAMS: FIXME(yang): deprecate this. Use the 21106 + errStatusMsg\n - MODEL_TRAINING_INVALID_DATA_TOLERANCE_EXCEEDED: Training is stopped because too much data was dropped. FIXME(yang): deprecate this. Use the 21106 + errStatusMsg\n - MODEL_EVALUATION_TIMED_OUT: Evaluation took longer than hard coded timeouts. FIXME(yang): deprecate this. Use the 21317 + errStatusMsg\n - MODEL_EVALUATION_WAITING_ERROR: Evaluation got error waiting on asset pipeline to finish.FIXME(yang): deprecate this. Use the 21317 + errStatusMsg\n - MODEL_EVALUATION_UNKNOWN_ERROR: EVALUATION THREW AN UNKNOWN EXCEPTION.\n - MODEL_EVALUATION_MSG_REDELIVER: Eval message was redelivered. FIXME(yang): deprecate this. Use the 21317 + errStatusMsg\n - MODEL_EVALUATION_NEED_LABELS: Don't have enough concepts labelled to perform evaluation. FIXME(yang): deprecate this. Use the 21317 + errStatusMsg\n - MODEL_EVALUATION_NEED_INPUTS: Don't have enough inputs per concept to perform evaluation. FIXME(yang): deprecate this. Use the 21317 + errStatusMsg\n - MODEL_EVALUATION_FAILED: Generic err code for eval failure.\n - MODEL_DEPLOYMENT_FAILED: Used when inference coordinator failed to deploy spire and throws an error\n - MODEL_DEPLOYING: Used when calling the inference coordinator to deploy a spire\n - MODEL_QUEUED_FOR_DEPLOYMENT: Used when training is completed\n - MODEL_NOT_DEPLOYED: Used when model spire deployment is manually taken down or due to inactivity\n - MODEL_REFERENCE_INVALID_ARGUMENT: Used when a model reference field is not set properly\n - MODEL_EXAMPLE_INPUT_INVALID_ARGUMENT: Used when a model example input field is not set properly\n - MODEL_EXPORTED: Model Export status codes\n - WORKFLOW_NO_MATCHING_INPUT: specified model input not in workflow\n - WORKFLOW_REQUIRE_TRAINED_MODEL: specified model must be trained\n - WORKFLOW_INVALID_ARGUMENT: error in the request somewhere\n - WORKFLOW_INVALID_REQUEST: error in the request somewhere\n - CONCEPT_MODIFY_SUCCESS: Concept related 23xxx\n - ANNOTATION_SUCCESS: Annotation related 24xxx\n - METADATA_INVALID_PATCH_ARGUMENTS: Metadata related 249xx\n - TRAINER_JOB_STATE_NONE: Training service related 25xxx\n - DATA_DUMP_SUCCESS: Data Dump related 251xx\n - DATA_DUMP_NO_DATA: DEPRECATED: Not used anymore. Now for an empty data dump, DATA_DUMP_SUCCESS is returned. To detect an empty data dump, check if the inptus count is 0.\n - APP_DUPLICATION_SUCCESS: Duplicate related 252xx\n - MODULE_DOES_NOT_EXIST: Module related codes 253xx\n - BULK_OPERATION_SUCCESS: Bulk Operation related codes 254xx\n - RUNNER_DOES_NOT_EXIST: Runner related codes 256xx\n - INPUT_DOWNLOAD_SUCCESS: Input:Image related 30xxx\n - INPUT_DOWNLOAD_PENDING: when things are async, this is the default status.\n - INPUT_DOWNLOAD_FAILED: any type of error downloading and processing\n - INPUT_VIDEO_DOWNLOAD_SUCCESS: Input:Video related 31xxx -- Deprecated\n - INPUT_WRITES_DISABLED_FOR_MAINTENANCE: deprecate this one. Use REQUEST_DISABLED_FOR_MAINTENANCE\n - PREDICT_INVALID_REQUEST: API formatting issues 4000x\n - DATABASE_DUPLICATE_KEY: Other related 400xx\n - EXTERNAL_CONNECTION_ERROR: could not connect to external services\n - QUEUE_CONN_ERROR: Queue related errors 41xxx\n - SQS_OVERLIMIT: SQS related errors 411xx\n - SEARCH_INTERNAL_FAILURE: Search related errors 43xxxx\n - EVALUATION_QUEUED: Workflow evaluation err code\n - STRIPE_EVENT_ERROR: Stripe 44xxx\n - CACHE_MISS: Redis/Cache 45xxx\n - SIGNUP_EVENT_ERROR: Sift Science 46xxx\n - APP_COUNT_INVALID_MESSAGE: Application counts related errors 470xx\n - MP_DOWNLOAD_ERROR: Media processor related errors 471xx -- DEPRECATED\n - DATATIER_CONN_ERROR: DataTier related error 472xx\n - USER_CONSENT_FACE: User legal consent stauts related 50xxx\n - WORKER_MISSING: Workers 51xxx\n - COLLECTOR_MISSING: Collectors 52xxx\n - SSO_IDENTITY_PROVIDER_DOES_NOT_EXIST: SSO 53xxx\n - TASK_IN_PROGRESS: Tasks 54xxx\nThe task was created.\n - TASK_DONE: The task is completed.\n - TASK_WONT_DO: The task is marked as abandoned.\n - TASK_FAILED: An error occurred during add-task-annotations or add-auto-annotations pipeline.\n - TASK_IDLE: When an Auto Annotation task job has finished processing its last batch and is waiting for more dataset assets.\n - TASK_CONFLICT: The task operation is in conflict with the current state of the server.\n - TASK_NOT_IMPLEMENTED: Certain task-related scenarios are not implemented.\n - TASK_MISSING: Task was not found.\n - TASK_PERMISSION_DENIED: Not allowed to perform a task-related action.\n - LABEL_ORDER_PENDING: Label Order Related Status Code 55xxx\n - LICENSE_ACTIVE: License Related Status Code 600xx\n - LICENSE_DELETED: hidden state not reflected to users\n - PASSWORD_VALIDATION_SUCCESS: Password Related Status Code\n - FEATUREFLAG_CONFIG_NOT_FOUND: Feature flags status code\n - MAINTENANCE_SUCCESS: Maintenance status code\n - DATASET_VERSION_PENDING: Datasets 64xxx\nThe dataset version is pending to be processed.\n - DATASET_VERSION_IN_PROGRESS: The dataset version is currently being processed.\n - DATASET_VERSION_READY: The dataset version is ready to be used.\n - DATASET_VERSION_FAILURE: An error occurred during the dataset version processing.\n - DATASET_VERSION_UNEXPECTED_ERROR: An unexpected error occurred during the dataset version processing.\n - DATASET_VERSION_CONFLICT: An alteration to dataset version would create a conflict\n - DATASET_INPUT_SUCCESS: The dataset input was successfully added.\n - DATASET_INPUT_DUPLICATE: The dataset input is a duplicate.\nDeprecated: Unused.\n - DATASET_VERSION_EXPORT_SUCCESS: The dataset version export is completed.\n - DATASET_VERSION_EXPORT_PENDING: The dataset version is pending to be exported.\n - DATASET_VERSION_EXPORT_FAILED: An error occurred during the dataset version export.\n - DATASET_VERSION_EXPORT_IN_PROGRESS: The dataset version is currently being exported.\n - DATASET_VERSION_EXPORT_UNEXPECTED_ERROR: An unexpected error occurred during the dataset version export.\n - JOB_QUEUED: Generic Job status codes\n - AUTH_MISSING_IDP_ASSOC: auth issues\n\nTODO: Knowledge graph related 80xxx\n - UPLOAD_IN_PROGRESS: Multipart uploading status codes\n - BILLING_INVALID_INFO: Billing related issues: 69xxx\n - INTERNAL_SERVER_ISSUE: Internal issues: 98xxx\n - CONN_UNCATEGORIZED: Uncategorized: 99xxx: move off as soon as known\n - BAD_REQUEST: Deprecated: migrate off to one of the internal issues\n - SERVER_ERROR: Deprecated: migrate off to one of the internal issues"
}