Triton Inference Server Model Metadata API

Model-level metadata, configuration, and statistics

OpenAPI Specification

triton-model-metadata-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Triton Inference Server NVIDIA Triton Inference Server HTTP/REST CUDA Shared Memory Model Metadata API
  description: RESTful API for the NVIDIA Triton Inference Server, implementing the KServe V2 inference protocol with Triton-specific extensions. Provides endpoints for model inference, health checks, server and model metadata, model repository management, statistics, tracing, logging, and system shared memory management.
  version: '2.0'
  contact:
    name: NVIDIA Triton Team
    url: https://github.com/triton-inference-server/server
    email: triton@nvidia.com
  license:
    name: BSD 3-Clause
    url: https://github.com/triton-inference-server/server/blob/main/LICENSE
servers:
- url: http://localhost:8000
  description: Triton HTTP endpoint (default)
- url: http://{host}:{port}
  description: Custom Triton HTTP endpoint
  variables:
    host:
      default: localhost
      description: Triton server hostname or IP
    port:
      default: '8000'
      description: Triton HTTP port
tags:
- name: Model Metadata
  description: Model-level metadata, configuration, and statistics
paths:
  /v2/models/{model_name}:
    get:
      operationId: modelMetadata
      summary: Triton Inference Server Get Model Metadata
      description: Retrieve metadata about a specific model including its name, versions, platform, and input/output tensor information.
      tags:
      - Model Metadata
      parameters:
      - $ref: '#/components/parameters/modelName'
      responses:
        '200':
          description: Model metadata returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelMetadataResponse'
        '400':
          description: Error retrieving model metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/models/{model_name}/versions/{model_version}:
    get:
      operationId: modelVersionMetadata
      summary: Triton Inference Server Get Model Version Metadata
      description: Retrieve metadata about a specific version of a model.
      tags:
      - Model Metadata
      parameters:
      - $ref: '#/components/parameters/modelName'
      - $ref: '#/components/parameters/modelVersion'
      responses:
        '200':
          description: Model version metadata returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelMetadataResponse'
        '400':
          description: Error retrieving model version metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/models/{model_name}/config:
    get:
      operationId: modelConfig
      summary: Triton Inference Server Get Model Configuration
      description: Retrieve the configuration of a specific model as defined in the model repository. This is a Triton extension to the KServe protocol.
      tags:
      - Model Metadata
      parameters:
      - $ref: '#/components/parameters/modelName'
      responses:
        '200':
          description: Model configuration returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelConfigResponse'
        '400':
          description: Error retrieving model configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/models/{model_name}/versions/{model_version}/config:
    get:
      operationId: modelVersionConfig
      summary: Triton Inference Server Get Model Version Configuration
      description: Retrieve the configuration of a specific version of a model.
      tags:
      - Model Metadata
      parameters:
      - $ref: '#/components/parameters/modelName'
      - $ref: '#/components/parameters/modelVersion'
      responses:
        '200':
          description: Model version configuration returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelConfigResponse'
        '400':
          description: Error retrieving model version configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ModelConfigResponse:
      type: object
      description: Full model configuration as defined in the model repository config.pbtxt file, returned as a JSON representation.
      properties:
        name:
          type: string
          description: Name of the model
        platform:
          type: string
          description: Framework platform
        backend:
          type: string
          description: Backend used by the model
        version_policy:
          type: object
          description: Version selection policy
          properties:
            latest:
              type: object
              properties:
                num_versions:
                  type: integer
            all:
              type: object
            specific:
              type: object
              properties:
                versions:
                  type: array
                  items:
                    type: integer
        max_batch_size:
          type: integer
          description: Maximum batch size supported (0 means batching disabled)
        input:
          type: array
          description: Input tensor configurations
          items:
            $ref: '#/components/schemas/ModelTensorConfig'
        output:
          type: array
          description: Output tensor configurations
          items:
            $ref: '#/components/schemas/ModelTensorConfig'
        instance_group:
          type: array
          description: Instance group configurations
          items:
            $ref: '#/components/schemas/InstanceGroup'
        dynamic_batching:
          $ref: '#/components/schemas/DynamicBatching'
        sequence_batching:
          $ref: '#/components/schemas/SequenceBatching'
        ensemble_scheduling:
          $ref: '#/components/schemas/EnsembleScheduling'
        parameters:
          type: object
          description: Custom model parameters
          additionalProperties:
            type: object
            properties:
              string_value:
                type: string
        model_warmup:
          type: array
          description: Model warmup configurations
          items:
            type: object
            properties:
              name:
                type: string
              batch_size:
                type: integer
              inputs:
                type: object
                additionalProperties:
                  type: object
    EnsembleScheduling:
      type: object
      description: Ensemble model scheduling configuration
      properties:
        step:
          type: array
          items:
            type: object
            properties:
              model_name:
                type: string
                description: Name of the model in the ensemble step
              model_version:
                type: integer
                description: Version of the model to use
              input_map:
                type: object
                description: Mapping of ensemble tensor names to step model input names
                additionalProperties:
                  type: string
              output_map:
                type: object
                description: Mapping of step model output names to ensemble tensor names
                additionalProperties:
                  type: string
    ModelTensorConfig:
      type: object
      properties:
        name:
          type: string
          description: Tensor name
        data_type:
          type: string
          description: Data type of the tensor
          enum:
          - TYPE_BOOL
          - TYPE_UINT8
          - TYPE_UINT16
          - TYPE_UINT32
          - TYPE_UINT64
          - TYPE_INT8
          - TYPE_INT16
          - TYPE_INT32
          - TYPE_INT64
          - TYPE_FP16
          - TYPE_FP32
          - TYPE_FP64
          - TYPE_STRING
          - TYPE_BF16
        dims:
          type: array
          description: Tensor dimensions
          items:
            type: integer
        reshape:
          type: object
          description: Reshape configuration
          properties:
            shape:
              type: array
              items:
                type: integer
        is_shape_tensor:
          type: boolean
          description: Whether this tensor is a shape tensor
        allow_ragged_batch:
          type: boolean
          description: Whether ragged batching is allowed
    ModelMetadataResponse:
      type: object
      properties:
        name:
          type: string
          description: Name of the model
        versions:
          type: array
          description: Available versions of the model
          items:
            type: string
        platform:
          type: string
          description: Framework platform of the model
          examples:
          - tensorrt_plan
          - tensorflow_graphdef
          - tensorflow_savedmodel
          - onnxruntime_onnx
          - pytorch_libtorch
          - python
        inputs:
          type: array
          description: Input tensor metadata
          items:
            $ref: '#/components/schemas/TensorMetadata'
        outputs:
          type: array
          description: Output tensor metadata
          items:
            $ref: '#/components/schemas/TensorMetadata'
    TensorMetadata:
      type: object
      properties:
        name:
          type: string
          description: Name of the tensor
        datatype:
          type: string
          description: Data type of the tensor
          enum:
          - BOOL
          - UINT8
          - UINT16
          - UINT32
          - UINT64
          - INT8
          - INT16
          - INT32
          - INT64
          - FP16
          - FP32
          - FP64
          - BYTES
          - BF16
        shape:
          type: array
          description: Shape of the tensor with -1 indicating variable-length dimensions
          items:
            type: integer
    DynamicBatching:
      type: object
      description: Dynamic batching configuration
      properties:
        preferred_batch_size:
          type: array
          description: Preferred batch sizes
          items:
            type: integer
        max_queue_delay_microseconds:
          type: integer
          description: Maximum delay in microseconds for forming a batch
        preserve_ordering:
          type: boolean
          description: Whether to preserve ordering of responses
        priority_levels:
          type: integer
          description: Number of priority levels
        default_priority_level:
          type: integer
          description: Default priority level
        default_queue_policy:
          $ref: '#/components/schemas/QueuePolicy'
        priority_queue_policy:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/QueuePolicy'
    SequenceBatching:
      type: object
      description: Sequence batching configuration
      properties:
        max_sequence_idle_microseconds:
          type: integer
          description: Maximum idle time for a sequence before it is timed out
        control_input:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              control:
                type: array
                items:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                      - CONTROL_SEQUENCE_START
                      - CONTROL_SEQUENCE_READY
                      - CONTROL_SEQUENCE_END
                      - CONTROL_SEQUENCE_CORRID
                    int32_false_true:
                      type: array
                      items:
                        type: integer
                    fp32_false_true:
                      type: array
                      items:
                        type: number
                    bool_false_true:
                      type: array
                      items:
                        type: boolean
        state:
          type: array
          description: Implicit state configurations
          items:
            type: object
            properties:
              input_name:
                type: string
              output_name:
                type: string
              data_type:
                type: string
              dims:
                type: array
                items:
                  type: integer
    InstanceGroup:
      type: object
      properties:
        name:
          type: string
          description: Instance group name
        kind:
          type: string
          description: Device kind for the instance group
          enum:
          - KIND_AUTO
          - KIND_GPU
          - KIND_CPU
          - KIND_MODEL
        count:
          type: integer
          description: Number of instances in the group
        gpus:
          type: array
          description: GPU device IDs assigned to this group
          items:
            type: integer
        rate_group:
          type: integer
          description: Rate limiter group
        rate_limit:
          type: object
          description: Rate limiting configuration
          properties:
            resources:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  global:
                    type: boolean
                  count:
                    type: integer
    QueuePolicy:
      type: object
      properties:
        timeout_action:
          type: string
          enum:
          - REJECT
          - DELAY
        default_timeout_microseconds:
          type: integer
        allow_timeout_override:
          type: boolean
        max_queue_size:
          type: integer
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error message describing what went wrong
  parameters:
    modelVersion:
      name: model_version
      in: path
      required: true
      description: Version of the model
      schema:
        type: string
    modelName:
      name: model_name
      in: path
      required: true
      description: Name of the model
      schema:
        type: string
externalDocs:
  description: Triton Inference Server Protocol Documentation
  url: https://github.com/triton-inference-server/server/blob/main/docs/protocol/README.md