openapi: 3.1.0 info: title: Fireworks AI Anthropic Compatible Messages anthropic-messages.openapi_other Gateway API description: Anthropic-compatible Messages API endpoint for Fireworks AI inference version: 1.0.0 servers: - url: https://api.fireworks.ai/inference security: - BearerAuth: [] tags: - name: Gateway paths: /v1/accounts: get: summary: List Accounts operationId: Gateway_ListAccounts responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListAccountsResponse' parameters: - name: pageSize description: 'The maximum number of accounts to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListAccounts call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAccounts must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only accounts satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'Not supported. Accounts will be returned ordered by `name`.' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string tags: - Gateway /v1/auth/refresh: post: summary: Refresh a session JWT before expiry with a fresh TTL. operationId: Gateway_RefreshSessionToken responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayRefreshSessionTokenResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayRefreshSessionTokenRequest' description: Request to refresh an existing session JWT before it expires. required: true tags: - Gateway /v1/creditCodes:redeem: post: summary: 'APIs for credit codes. Redeem Credit Code' operationId: Gateway_RedeemCreditCode responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayRedeemCreditCodeResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayRedeemCreditCodeRequest' description: RedeemCreditCodeRequest is the request to redeem a credit code for an account. required: true tags: - Gateway /v1/validateModelConfig: post: summary: Validate Model Config operationId: Gateway_ValidateModelConfig responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayValidateModelConfigRequest' required: true tags: - Gateway /v1/accounts/{account_id}: get: summary: Get Account operationId: Gateway_GetAccount responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayAccount' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/accountUsageFilterOptions: get: summary: Distinct filter values for an account/time range (serverless + dedicated; for FE, separate -yet mirrors GetAccountUsage). operationId: Gateway_GetAccountUsageFilterOptions responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetAccountUsageFilterOptionsResponse' parameters: - name: startTime in: query required: true schema: type: string format: date-time - name: endTime in: query required: true schema: type: string format: date-time - name: usageType description: "If not specified, loads filter options for both usage streams.\n\n - SERVERLESS: Serverless filter dimensions only (model_name, api_key_id, annotations.*).\n - DEDICATED_DEPLOYMENT: Dedicated deployment filter dimensions (deployment_name, annotations.team, .project, .environment)." in: query required: false schema: type: string enum: - USAGE_TYPE_UNSPECIFIED - SERVERLESS - DEDICATED_DEPLOYMENT default: USAGE_TYPE_UNSPECIFIED - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/auditLogs: get: summary: List User Audit Logs operationId: Gateway_ListAuditLogs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListAuditLogsResponse' parameters: - name: startTime description: 'Start time of the audit logs to retrieve. If unspecified, the default is 30 days before now.' in: query required: false schema: type: string format: date-time - name: endTime description: 'End time of the audit logs to retrieve. If unspecified, the default is the current time.' in: query required: false schema: type: string format: date-time - name: email description: 'Optional. Filter audit logs for user email associated with the account.' in: query required: false schema: type: string - name: pageSize description: 'The maximum number of audit logs to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 10.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListAuditLogs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAuditLogs must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: Unused but required to use existing ListRequest functionality. in: query required: false schema: type: string - name: orderBy description: Unused but required to use existing ListRequest functionality. in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/batchInferenceJobs: get: summary: List Batch Inference Jobs operationId: Gateway_ListBatchInferenceJobs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListBatchInferenceJobsResponse' parameters: - name: pageSize description: 'The maximum number of batch inference jobs to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListBatchInferenceJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListBatchInferenceJobs must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only jobs satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "created_time".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Batch Inference Job operationId: Gateway_CreateBatchInferenceJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayBatchInferenceJob' parameters: - name: batchInferenceJobId description: ID of the batch inference job. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayBatchInferenceJob' required: true tags: - Gateway /v1/accounts/{account_id}/batchInferenceJobs/{batch_inference_job_id}: get: summary: Get Batch Inference Job operationId: Gateway_GetBatchInferenceJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayBatchInferenceJob' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: batch_inference_job_id in: path required: true description: The Batch Inference Job Id schema: type: string tags: - Gateway delete: summary: Delete Batch Inference Job operationId: Gateway_DeleteBatchInferenceJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: batch_inference_job_id in: path required: true description: The Batch Inference Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/billing/summary: get: summary: Get billing summary information for an account operationId: Gateway_GetBillingSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetBillingSummaryResponse' parameters: - name: startTime description: 'Start time for the billing period. Note: Costs are aggregated daily. Only the date portion (YYYY-MM-DD) is used; the time portion is ignored. For example, 2025-10-05T07:18:29Z and 2025-10-05T23:59:59Z are treated the same as 2025-10-05T00:00:00Z.' in: query required: true schema: type: string format: date-time - name: endTime description: "End time for the billing period (exclusive).\nNote: Costs are aggregated daily. Only the date portion (YYYY-MM-DD) is used;\nthe time portion is ignored. Costs for the end date are NOT included.\nFor example, to get costs for Oct 5 and Oct 6, use:\n start_time: 2025-10-05T00:00:00Z\n end_time: 2025-10-07T00:00:00Z (Oct 7 is excluded)" in: query required: true schema: type: string format: date-time - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/billingUsage: get: summary: 'Get account usage (serverless and dedicated deployments). Optionally filter by usage type via the usage_type field. If not specified, returns all usage types. TODO: rename this to /accountUsage' operationId: Gateway_GetAccountUsage responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayAccountUsage' parameters: - name: startTime description: 'Costs returned are inclusive of `start_time`. start_time must be before end_time.' in: query required: true schema: type: string format: date-time - name: endTime description: 'Costs returned are exclusive of `end_time`. end_time must not be more than 31 days after start_time.' in: query required: true schema: type: string format: date-time - name: usageType description: "Usage type to query usage for\nIf not specified, returns all usage types (both serverless and dedicated deployments).\n\n - USAGE_TYPE_UNSPECIFIED: Default value. When specified (or when usage_type field is not set),\nreturns usage data for all deployment types: both serverless requests and dedicated deployments.\n - SERVERLESS: Returns only serverless usage data.\nFilters the response to include only usage from serverless API requests.\n - DEDICATED_DEPLOYMENT: Returns only dedicated deployment usage data.\nFilters the response to include only usage from dedicated deployments." in: query required: false schema: type: string enum: - USAGE_TYPE_UNSPECIFIED - SERVERLESS - DEDICATED_DEPLOYMENT default: USAGE_TYPE_UNSPECIFIED - name: timezone description: 'IANA timezone identifier for daily aggregation (e.g., "America/Los_Angeles", "Europe/London"). When specified, the returned data will be aggregated into daily buckets based on this timezone. If not specified or empty, defaults to "UTC". See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' in: query required: false schema: type: string - name: groupBy description: 'Dimension to group usage by (at most one value; repeated for wire compatibility). Serverless: "model_name", "api_key_id", "annotations.team", "annotations.project", "annotations.environment". Dedicated: "deployment_name", "accelerator_type", and the same annotation keys. When usage_type is unspecified, dimensions that apply only to the other stream are ignored there (e.g. "deployment_name" and "accelerator_type" are ignored for serverless; "model_name" and "api_key_id" for dedicated). Example: ["annotations.team"] or ["model_name"]. If empty: serverless aggregates by model name; dedicated defaults to deployment and accelerator type.' in: query required: false explode: true schema: type: array items: type: string - name: filter description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/checkpoints/{checkpoint_id}:promote: post: summary: 'Promote a checkpoint to a model. The checkpoint is identified by account + snapshot ID; the trainer job ID is passed in the request body to resolve the GCS bucket.' operationId: Gateway_PromoteCheckpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayPromoteCheckpointResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: checkpoint_id in: path required: true description: The Checkpoint Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayPromoteCheckpointBody' required: true tags: - Gateway /v1/accounts/{account_id}/clusters: get: summary: List Clusters operationId: Gateway_ListClusters responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListClustersResponse' parameters: - name: pageSize description: 'The maximum number of clusters to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListClusters call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListClusters must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only clusters satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Cluster operationId: Gateway_CreateCluster responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayCluster' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCreateClusterBody' required: true tags: - Gateway /v1/accounts/{account_id}/clusters/{cluster_id}: get: summary: Get Cluster operationId: Gateway_GetCluster responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayCluster' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: cluster_id in: path required: true description: The Cluster Id schema: type: string tags: - Gateway patch: summary: Update Cluster operationId: Gateway_UpdateCluster responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayCluster' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: cluster_id in: path required: true description: The Cluster Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string description: 'Human-readable display name of the cluster. e.g. "My Cluster" Must be fewer than 64 characters long.' createTime: type: string format: date-time description: The creation time of the cluster. readOnly: true eksCluster: $ref: '#/components/schemas/gatewayEksCluster' fakeCluster: $ref: '#/components/schemas/gatewayFakeCluster' state: $ref: '#/components/schemas/gatewayClusterState' description: The current state of the cluster. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Detailed information about the current status of the cluster. readOnly: true updateTime: type: string format: date-time description: The update time for the cluster. readOnly: true title: 'The properties of the cluster being updated. `cluster.name` must be populated with the updated resource''s name.' description: 'The properties of the cluster being updated. `cluster.name` must be populated with the updated resource''s name.' required: true tags: - Gateway delete: summary: Delete Cluster operationId: Gateway_DeleteCluster responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: cluster_id in: path required: true description: The Cluster Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/clusters/{cluster_id}:getConnectionInfo: get: summary: Get Cluster Connection Info description: Retrieve connection settings for the cluster to be put in kubeconfig operationId: Gateway_GetClusterConnectionInfo responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayClusterConnectionInfo' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: cluster_id in: path required: true description: The Cluster Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/creditRedemptions: get: summary: List Credit Redemptions operationId: Gateway_ListCreditRedemptions responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListCreditRedemptionsResponse' parameters: - name: pageSize description: The maximum number of redemptions to return in: query required: false schema: type: integer format: int32 - name: pageToken description: A page token, received from a previous ListCreditRedemptions call in: query required: false schema: type: string - name: filter description: Filter string to filter redemptions in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar"' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/datasets: get: summary: List Datasets operationId: Gateway_ListDatasets responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListDatasetsResponse' parameters: - name: pageSize description: 'The maximum number of datasets to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListDatasets call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDatasets must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only model satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Dataset operationId: Gateway_CreateDataset responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDataset' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCreateDatasetBody' required: true tags: - Gateway /v1/accounts/{account_id}/datasets/{dataset_id}: get: summary: Get Dataset operationId: Gateway_GetDataset responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDataset' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: dataset_id in: path required: true description: The Dataset Id schema: type: string tags: - Gateway patch: summary: Update Dataset operationId: Gateway_UpdateDataset responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDataset' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: dataset_id in: path required: true description: The Dataset Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string createTime: type: string format: date-time readOnly: true state: $ref: '#/components/schemas/gatewayDatasetState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true exampleCount: type: string format: int64 userUploaded: $ref: '#/components/schemas/gatewayUserUploaded' evaluationResult: $ref: '#/components/schemas/gatewayEvaluationResult' transformed: $ref: '#/components/schemas/gatewayTransformed' splitted: $ref: '#/components/schemas/gatewaySplitted' evalProtocol: $ref: '#/components/schemas/gatewayEvalProtocol' externalUrl: type: string title: The external URI of the dataset. e.g. gs://foo/bar/baz.jsonl format: $ref: '#/components/schemas/DatasetFormat' createdBy: type: string description: The email address of the user who initiated this fine-tuning job. readOnly: true updateTime: type: string format: date-time description: The update time for the dataset. readOnly: true sourceJobName: type: string description: 'The resource name of the job that created this dataset (e.g., batch inference job). Used for lineage tracking to understand dataset provenance.' estimatedTokenCount: type: string format: int64 description: The estimated number of tokens in the dataset. readOnly: true averageTurnCount: type: number format: float description: An estimate of the average number of turns per sample in the dataset. readOnly: true title: 'The properties of the Dataset being updated. `dataset.name` must be populated with the updated resource''s name.' description: 'The properties of the Dataset being updated. `dataset.name` must be populated with the updated resource''s name.' required: true tags: - Gateway delete: summary: Delete Dataset operationId: Gateway_DeleteDataset responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: dataset_id in: path required: true description: The Dataset Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/datasets/{dataset_id}:getDownloadEndpoint: get: summary: Get Dataset Download Endpoint operationId: Gateway_GetDatasetDownloadEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetDatasetDownloadEndpointResponse' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: downloadLineage description: 'If true, downloads entire lineage chain (all related datasets). Filenames will be prefixed with dataset IDs to avoid collisions.' in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: dataset_id in: path required: true description: The Dataset Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/datasets/{dataset_id}:getUploadEndpoint: post: summary: Get Dataset Upload Endpoint operationId: Gateway_GetDatasetUploadEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetDatasetUploadEndpointResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: dataset_id in: path required: true description: The Dataset Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayGetDatasetUploadEndpointBody' required: true tags: - Gateway /v1/accounts/{account_id}/datasets/{dataset_id}:splitDataset: post: operationId: Gateway_SplitDataset responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewaySplitDatasetResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: dataset_id in: path required: true description: The Dataset Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewaySplitDatasetBody' required: true tags: - Gateway /v1/accounts/{account_id}/datasets/{dataset_id}:validateUpload: post: summary: Validate Dataset Upload operationId: Gateway_ValidateDatasetUpload responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: dataset_id in: path required: true description: The Dataset Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayValidateDatasetUploadBody' required: true tags: - Gateway /v1/accounts/{account_id}/deployedModels: get: summary: List LoRAs operationId: Gateway_ListDeployedModels responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListDeployedModelsResponse' parameters: - name: pageSize description: 'The maximum number of deployed models to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListDeployedModels call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDeployedModels must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only depoyed models satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Load LoRA operationId: Gateway_CreateDeployedModel responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeployedModel' parameters: - name: replaceMergedAddon description: Merges new addon to the base model, while unmerging/deleting any existing addon in the deployment. Must be specified for hot reload deployments in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayDeployedModel' required: true tags: - Gateway /v1/accounts/{account_id}/deployedModels/{deployed_model_id}: get: summary: Get LoRA operationId: Gateway_GetDeployedModel responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeployedModel' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployed_model_id in: path required: true description: The Deployed Model Id schema: type: string tags: - Gateway patch: summary: Update LoRA operationId: Gateway_UpdateDeployedModel responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeployedModel' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployed_model_id in: path required: true description: The Deployed Model Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string description: type: string description: Description of the resource. createTime: type: string format: date-time description: The creation time of the resource. readOnly: true model: type: string title: 'The resource name of the model to be deployed. e.g. accounts/my-account/models/my-model' deployment: type: string description: The resource name of the base deployment the model is deployed to. default: type: boolean description: 'If true, this is the default target when querying this model without the `#` suffix. The first deployment a model is deployed to will have this field set to true.' state: $ref: '#/components/schemas/gatewayDeployedModelState' description: The state of the deployed model. readOnly: true serverless: type: boolean title: True if the underlying deployment is managed by Fireworks status: $ref: '#/components/schemas/gatewayStatus' description: Contains model deploy/undeploy details. readOnly: true public: type: boolean description: If true, the deployed model will be publicly reachable. updateTime: type: string format: date-time description: The update time for the deployed model. readOnly: true title: 'The properties of the deployed model being updated. `deployed_model.name` must be populated with the updated resource''s name.' description: 'The properties of the deployed model being updated. `deployed_model.name` must be populated with the updated resource''s name.' required: true tags: - Gateway delete: summary: Unload LoRA operationId: Gateway_DeleteDeployedModel responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployed_model_id in: path required: true description: The Deployed Model Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/deploymentShapes: get: summary: List Deployment Shapes operationId: Gateway_ListDeploymentShapes responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListDeploymentShapesResponse' parameters: - name: pageSize description: 'The maximum number of deployments to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListDeploymentShapes call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDeploymentShapes must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only deployment satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "create_time".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: targetModel description: Target model that the returned deployment shapes should be compatible with. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: 'CRUD APIs for deployment shape. Create Deployment Shape' operationId: Gateway_CreateDeploymentShape responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeploymentShape' parameters: - name: deploymentShapeId description: The ID of the deployment shape. If not specified, a random ID will be generated. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayDeploymentShape' description: The properties of the deployment shape being created. required: true tags: - Gateway /v1/accounts/{account_id}/deploymentShapes/{deployment_shape_id}: get: summary: Get Deployment Shape operationId: Gateway_GetDeploymentShape responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeploymentShape' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: skipShapeValidation description: 'If true, returns the latest version regardless of validation status. By default, returns the latest validated version.' in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_shape_id in: path required: true description: The Deployment Shape Id schema: type: string tags: - Gateway patch: summary: Update Deployment Shape operationId: Gateway_UpdateDeploymentShape responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeploymentShape' parameters: - name: fromLatestValidated description: 'When true, the update will use the latest validated version snapshot as the base for fields not present in the update mask; otherwise, the current shape is used.' in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_shape_id in: path required: true description: The Deployment Shape Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string description: 'Human-readable display name of the deployment shape. e.g. "My Deployment Shape" Must be fewer than 64 characters long.' description: type: string description: The description of the deployment shape. Must be fewer than 1000 characters long. createTime: type: string format: date-time description: The creation time of the deployment shape. readOnly: true updateTime: type: string format: date-time description: The update time for the deployment shape. readOnly: true baseModel: type: string title: The base model name. e.g. accounts/fireworks/models/falcon-7b modelType: type: string description: The model type of the base model. readOnly: true parameterCount: type: string format: int64 description: The parameter count of the base model . readOnly: true acceleratorCount: type: integer format: int32 description: 'The number of accelerators used per replica. If not specified, the default is the estimated minimum required by the base model.' acceleratorType: $ref: '#/components/schemas/gatewayAcceleratorType' description: 'The type of accelerator to use. If not specified, the default is NVIDIA_A100_80GB.' precision: $ref: '#/components/schemas/DeploymentPrecision' description: The precision with which the model should be served. disableDeploymentSizeValidation: type: boolean description: If true, the deployment size validation is disabled. enableAddons: type: boolean description: If true, LORA addons are enabled for deployments created from this shape. draftTokenCount: type: integer format: int32 description: 'The number of candidate tokens to generate per step for speculative decoding. Default is the base model''s draft_token_count.' draftModel: type: string description: 'The draft model name for speculative decoding. e.g. accounts/fireworks/models/my-draft-model If empty, speculative decoding using a draft model is disabled. Default is the base model''s default_draft_model. Deprecated: set default_draft_model on the base model instead.' ngramSpeculationLength: type: integer format: int32 description: The length of previous input sequence to be considered for N-gram speculation. disableSpeculativeDecoding: type: boolean description: 'If true, speculative decoding is disabled for deployments created from this shape, even if the base model has default draft model settings.' enableSessionAffinity: type: boolean description: Whether to apply sticky routing based on `user` field. numLoraDeviceCached: type: integer format: int32 title: How many LORA adapters to keep on GPU side for caching maxContextLength: type: integer format: int32 description: 'The maximum context length supported by the model (context window). If set to 0 or not specified, the model''s default maximum context length will be used.' presetType: $ref: '#/components/schemas/DeploymentShapePresetType' description: Type of deployment shape for different deployment configurations. title: 'The properties of the deployment shape being updated. `deployment_shape.name` must be populated with the updated resource''s name.' required: - baseModel description: 'The properties of the deployment shape being updated. `deployment_shape.name` must be populated with the updated resource''s name.' required: true tags: - Gateway delete: summary: Delete Deployment Shape operationId: Gateway_DeleteDeploymentShape responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_shape_id in: path required: true description: The Deployment Shape Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/deploymentShapes/{deployment_shape_id}/versions: get: summary: List Deployment Shapes Versions operationId: Gateway_ListDeploymentShapeVersions responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListDeploymentShapeVersionsResponse' parameters: - name: pageSize description: 'The maximum number of deployment shape versions to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListDeploymentShapeVersions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDeploymentShapeVersions must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only deployment shape versions satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "create_time".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_shape_id in: path required: true description: The Deployment Shape Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/deploymentShapes/{deployment_shape_id}/versions/{version_id}: get: summary: Get Deployment Shape Version operationId: Gateway_GetDeploymentShapeVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeploymentShapeVersion' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_shape_id in: path required: true description: The Deployment Shape Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string tags: - Gateway patch: summary: Update Deployment Shape Version operationId: Gateway_UpdateDeploymentShapeVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeploymentShapeVersion' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_shape_id in: path required: true description: The Deployment Shape Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string requestBody: content: application/json: schema: type: object properties: createTime: type: string format: date-time description: The creation time of the deployment shape version. Lists will be ordered by this field. readOnly: true snapshot: $ref: '#/components/schemas/gatewayDeploymentShape' description: Full snapshot of the Deployment Shape at this version. readOnly: true validated: type: boolean description: If true, this version has been validated. public: type: boolean description: If true, this version will be publicly readable. latestValidated: type: boolean description: 'If true, this version is the latest validated version. Only one version of the shape can be the latest validated version.' readOnly: true title: 'The properties of the deployment shape version being updated. `deployment_shape_version.name` must be populated with the updated resource''s name.' description: 'The properties of the deployment shape version being updated. `deployment_shape_version.name` must be populated with the updated resource''s name.' required: true tags: - Gateway /v1/accounts/{account_id}/deployments: get: summary: List Deployments operationId: Gateway_ListDeployments responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListDeploymentsResponse' parameters: - name: pageSize description: 'The maximum number of deployments to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListDeployments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDeployments must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only deployment satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "create_time".' in: query required: false schema: type: string - name: showDeleted description: If set, DELETED deployments will be included. in: query required: false schema: type: boolean - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Deployment operationId: Gateway_CreateDeployment responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeployment' parameters: - name: disableAutoDeploy description: 'By default, a deployment created with a currently undeployed base model will be deployed to this deployment. If true, this auto-deploy function is disabled.' in: query required: false schema: type: boolean - name: disableSpeculativeDecoding description: 'By default, a deployment will use the speculative decoding settings from the base model. If true, this will disable speculative decoding.' in: query required: false schema: type: boolean - name: deploymentId description: The ID of the deployment. If not specified, a random ID will be generated. in: query required: false schema: type: string - name: validateOnly description: 'If true, this will not create the deployment, but will return the deployment that would be created.' in: query required: false schema: type: boolean - name: skipShapeValidation description: 'By default, a deployment will ensure the deployment shape provided is validated. If true, we will not require the deployment shape to be validated.' in: query required: false schema: type: boolean - name: skipImageTagValidation description: 'If true, skip the image tag policy validation that blocks certain image tags. This allows creating deployments with image tags that would otherwise be blocked.' in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayDeployment' description: The properties of the deployment being created. required: true tags: - Gateway /v1/accounts/{account_id}/deployments/{deployment_id}: get: summary: Get Deployment operationId: Gateway_GetDeployment responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeployment' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string tags: - Gateway patch: summary: Update Deployment operationId: Gateway_UpdateDeployment responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeployment' parameters: - name: skipShapeValidation description: 'By default, updating a deployment shape will ensure the new deployment shape provided is validated. If true, we will not require the deployment shape to be validated.' in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string description: 'Human-readable display name of the deployment. e.g. "My Deployment" Must be fewer than 64 characters long.' description: type: string description: Description of the deployment. createTime: type: string format: date-time description: The creation time of the deployment. readOnly: true expireTime: type: string format: date-time description: 'Deprecated: This field is deprecated and no longer causes auto-deletion. The time at which this deployment will automatically be deleted.' purgeTime: type: string format: date-time description: The time at which the resource will be hard deleted. readOnly: true deleteTime: type: string format: date-time description: The time at which the resource will be soft deleted. readOnly: true state: $ref: '#/components/schemas/gatewayDeploymentState' description: The state of the deployment. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Detailed status information regarding the most recent operation. readOnly: true annotations: type: object additionalProperties: type: string description: 'Annotations to identify deployment properties. Key/value pairs may be used by external tools or other services. The "image-tag-reason" key is redacted from API responses for non-superuser principals.' minReplicaCount: type: integer format: int32 description: 'The minimum number of replicas. If not specified, the default is 0.' maxReplicaCount: type: integer format: int32 description: 'The maximum number of replicas. If not specified, the default is max(min_replica_count, 1). May be set to 0 to downscale the deployment to 0.' maxWithRevocableReplicaCount: type: integer format: int32 description: 'max_with_revocable_replica_count is max replica count including revocable capacity. The max revocable capacity will be max_with_revocable_replica_count - max_replica_count.' desiredReplicaCount: type: integer format: int32 description: 'The desired number of replicas for this deployment. This represents the target replica count that the system is trying to achieve.' readOnly: true replicaCount: type: integer format: int32 readOnly: true autoscalingPolicy: $ref: '#/components/schemas/gatewayAutoscalingPolicy' baseModel: type: string title: The base model name. e.g. accounts/fireworks/models/falcon-7b acceleratorCount: type: integer format: int32 description: 'The number of accelerators used per replica. If not specified, the default is the estimated minimum required by the base model.' acceleratorType: $ref: '#/components/schemas/gatewayAcceleratorType' description: The type of accelerator to use. precision: $ref: '#/components/schemas/DeploymentPrecision' description: The precision with which the model should be served. cluster: type: string description: If set, this deployment is deployed to a cloud-premise cluster. readOnly: true enableAddons: type: boolean description: If true, PEFT addons are enabled for this deployment. draftTokenCount: type: integer format: int32 description: 'The number of candidate tokens to generate per step for speculative decoding. Default is the base model''s draft_token_count. Set CreateDeploymentRequest.disable_speculative_decoding to false to disable this behavior.' draftModel: type: string description: 'The draft model name for speculative decoding. e.g. accounts/fireworks/models/my-draft-model If empty, speculative decoding using a draft model is disabled. Default is the base model''s default_draft_model. Set CreateDeploymentRequest.disable_speculative_decoding to false to disable this behavior.' ngramSpeculationLength: type: integer format: int32 description: The length of previous input sequence to be considered for N-gram speculation. enableSessionAffinity: type: boolean description: 'Whether to apply sticky routing based on `user` field. Serverless will be set to true when creating deployment.' directRouteApiKeys: type: array items: type: string description: The set of API keys used to access the direct route deployment. If direct routing is not enabled, this field is unused. numPeftDeviceCached: type: integer format: int32 title: How many peft adapters to keep on gpu side for caching directRouteType: $ref: '#/components/schemas/gatewayDirectRouteType' description: If set, this deployment will expose an endpoint that bypasses the Fireworks API gateway. directRouteHandle: type: string description: "The handle for calling a direct route. The meaning of the handle depends on the\ndirect route type of the deployment:\n INTERNET -> The host name for accessing the deployment\n GCP_PRIVATE_SERVICE_CONNECT -> The service attachment name used to create the PSC endpoint.\n AWS_PRIVATELINK -> The service name used to create the VPC endpoint." readOnly: true deploymentTemplate: type: string description: 'The name of the deployment template to use for this deployment. Only available to enterprise accounts.' autoTune: $ref: '#/components/schemas/gatewayAutoTune' description: The performance profile to use for this deployment. placement: $ref: '#/components/schemas/gatewayPlacement' description: 'The desired geographic region where the deployment must be placed. If unspecified, the default is the GLOBAL multi-region.' region: $ref: '#/components/schemas/gatewayRegion' description: 'The geographic region where the deployment is presently located. This region may change over time, but within the `placement` constraint.' readOnly: true maxContextLength: type: integer format: int32 description: 'The maximum context length supported by the model (context window). If set to 0 or not specified, the model''s default maximum context length will be used.' updateTime: type: string format: date-time description: The update time for the deployment. readOnly: true disableDeploymentSizeValidation: type: boolean description: Whether the deployment size validation is disabled. enableHotLoad: type: boolean description: Whether to use hot load for this deployment. hotLoadBucketType: $ref: '#/components/schemas/DeploymentHotLoadBucketType' title: hot load bucket name, indicate what type of storage to use for hot load enableHotReloadLatestAddon: type: boolean description: Allows up to 1 addon at a time to be loaded, and will merge it into the base model. deploymentShape: type: string description: 'The name of the deployment shape that this deployment is using. On the server side, this will be replaced with the deployment shape version name.' activeModelVersion: type: string description: The model version that is currently active and applied to running replicas of a deployment. targetModelVersion: type: string description: 'The target model version that is being rolled out to the deployment. In a ready steady state, the target model version is the same as the active model version.' replicaStats: $ref: '#/components/schemas/gatewayReplicaStats' description: 'Per-replica deployment status counters. Provides visibility into the deployment process by tracking replicas in different stages of the deployment lifecycle.' readOnly: true hotLoadBucketUrl: type: string title: 'For hot load bucket location e.g for s3: s3://mybucket/; for GCS: gs://mybucket/, no trailing slash' pricingPlanId: type: string description: 'Optional pricing plan ID for custom billing configuration. If set, this deployment will use the pricing plan''s billing rules instead of default billing behavior.' hotLoadTrainerJob: type: string title: 'Trainer job whose hot_load_bucket_url this deployment should use. At creation, the trainer''s bucket URL is copied into this deployment''s hot_load_bucket_url. The deployment continues working after the trainer is deleted (snapshot-at-creation semantics). Format: accounts/{account}/rlorTrainerJobs/{job}' title: 'The properties of the deployment being updated. `deployment.name` must be populated with the updated resource''s name.' required: - baseModel description: 'The properties of the deployment being updated. `deployment.name` must be populated with the updated resource''s name.' required: true tags: - Gateway delete: summary: Delete Deployment operationId: Gateway_DeleteDeployment responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: hard description: If true, this will perform a hard deletion. in: query required: false schema: type: boolean - name: ignoreChecks description: 'If true, this will ignore checks and force the deletion of a deployment that is currently deployed and is in use.' in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/deployments/{deployment_id}/ledger: get: summary: Get ledger operationId: Gateway_GetLedger responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetLedgerResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string tags: - Gateway delete: summary: Reset ledger for hot load operationId: Gateway_ResetLedger responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/deployments/{deployment_id}/shards: get: summary: List Deployment Shards operationId: Gateway_ListDeploymentShards responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListDeploymentShardsResponse' parameters: - name: pageSize description: 'The maximum number of deployment shards to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListDeploymentShards call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDeploymentShards must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only deployment shard satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "create_time".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/deployments/{deployment_id}/terminationMessage: get: summary: Get termination message from deployment operationId: Gateway_GetTerminationMessage responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetTerminationMessageResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/deployments/{deployment_id}:metrics: get: summary: Get Deployment Metrics (Deprecated) operationId: Gateway_GetDeploymentMetrics responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetDeploymentMetricsResponse' parameters: - name: timeRange description: The time range to fetch metrics for (e.g. "1m", "10m", "2h"). Defaults to 10m. in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/deployments/{deployment_id}:scale: patch: summary: Scale Deployment to a specific number of replicas or to zero operationId: Gateway_ScaleDeployment responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayScaleDeploymentBody' required: true tags: - Gateway /v1/accounts/{account_id}/deployments/{deployment_id}:undelete: post: summary: Undelete Deployment operationId: Gateway_UndeleteDeployment responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeployment' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: deployment_id in: path required: true description: The Deployment Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayUndeleteDeploymentBody' required: true tags: - Gateway /v1/accounts/{account_id}/developerPasses: get: summary: List Developer Passes operationId: Gateway_ListDeveloperPasses responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListDeveloperPassesResponse' parameters: - name: pageSize description: Maximum number of developer passes to return. in: query required: false schema: type: integer format: int32 - name: pageToken description: Page token from a previous ListDeveloperPasses call. in: query required: false schema: type: string - name: filter description: Filter expression (e.g., "state=ACTIVE") in: query required: false schema: type: string - name: orderBy description: Order by expression (e.g., "create_time desc") in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: 'CRUD APIs for developer passes. Create Developer Pass' operationId: Gateway_CreateDeveloperPass responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeveloperPass' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayDeveloperPass' description: The developer pass to create. required: true tags: - Gateway /v1/accounts/{account_id}/developerPasses/{developer_passe_id}: get: summary: Get Developer Pass operationId: Gateway_GetDeveloperPass responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeveloperPass' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: developer_passe_id in: path required: true description: The Developer Passe Id schema: type: string tags: - Gateway patch: summary: Update Developer Pass operationId: Gateway_UpdateDeveloperPass responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDeveloperPass' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: developer_passe_id in: path required: true description: The Developer Passe Id schema: type: string requestBody: content: application/json: schema: type: object properties: autoRenew: type: boolean description: Whether the developer pass will automatically renew upon expiry. endTime: type: string format: date-time description: The time at which the developer pass ends. readOnly: true createTime: type: string format: date-time description: Creation timestamp. readOnly: true updateTime: type: string format: date-time description: Last update timestamp. readOnly: true state: $ref: '#/components/schemas/gatewayDeveloperPassState' description: State of the developer pass (active or expired). lastRenewTime: type: string format: date-time description: The time at which the developer pass was last renewed. readOnly: true title: The developer pass to update. description: The developer pass to update. required: true tags: - Gateway /v1/accounts/{account_id}/dpoJobs: get: operationId: Gateway_ListDpoJobs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListDpoJobsResponse' parameters: - name: pageSize description: 'The maximum number of dpo jobs to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListDpoJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDpoJobs must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: Filter criteria for the returned jobs. See https://google.aip.dev/160 for the filter syntax specification. in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: operationId: Gateway_CreateDpoJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDpoJob' parameters: - name: dpoJobId description: ID of the DPO job, a random ID will be generated if not specified. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayDpoJob' required: true tags: - Gateway /v1/accounts/{account_id}/dpoJobs/{dpo_job_id}: get: operationId: Gateway_GetDpoJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDpoJob' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: dpo_job_id in: path required: true description: The Dpo Job Id schema: type: string tags: - Gateway delete: operationId: Gateway_DeleteDpoJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: dpo_job_id in: path required: true description: The Dpo Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/dpoJobs/{dpo_job_id}:cancel: post: summary: Cancel Dpo Job operationId: Gateway_CancelDpoJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: dpo_job_id in: path required: true description: The Dpo Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCancelDpoJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/dpoJobs/{dpo_job_id}:getMetricsFileEndpoint: get: operationId: Gateway_GetDpoJobMetricsFileEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetDpoJobMetricsFileResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: dpo_job_id in: path required: true description: The Dpo Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/dpoJobs/{dpo_job_id}:resume: post: summary: Resume Dpo Job operationId: Gateway_ResumeDpoJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDpoJob' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: dpo_job_id in: path required: true description: The Dpo Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayResumeDpoJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluationJobs: get: summary: List Evaluation Jobs operationId: Gateway_ListEvaluationJobs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListEvaluationJobsResponse' parameters: - name: pageSize in: query required: false schema: type: integer format: int32 - name: pageToken in: query required: false schema: type: string - name: filter in: query required: false schema: type: string - name: orderBy in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Evaluation Job operationId: Gateway_CreateEvaluationJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluationJob' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCreateEvaluationJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluationJobs/{evaluation_job_id}: get: summary: Get Evaluation Job operationId: Gateway_GetEvaluationJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluationJob' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluation_job_id in: path required: true description: The Evaluation Job Id schema: type: string tags: - Gateway delete: summary: Delete Evaluation Job operationId: Gateway_DeleteEvaluationJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluation_job_id in: path required: true description: The Evaluation Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/evaluationJobs/{evaluation_job_id}:getExecutionLogEndpoint: get: summary: Get Evaluation Job execution logs (stream log endpoint + tracing IDs). operationId: Gateway_GetEvaluationJobExecutionLogEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetEvaluationJobExecutionLogEndpointResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluation_job_id in: path required: true description: The Evaluation Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/evaluations: get: summary: List Evaluations operationId: Gateway_ListEvaluations responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListEvaluationsResponse' parameters: - name: pageSize in: query required: false schema: type: integer format: int32 - name: pageToken in: query required: false schema: type: string - name: filter in: query required: false schema: type: string - name: orderBy in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Evaluation operationId: Gateway_CreateEvaluation responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluation' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCreateEvaluationBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluations/{evaluation_id}: get: summary: Get Evaluation operationId: Gateway_GetEvaluation responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluation' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluation_id in: path required: true description: The Evaluation Id schema: type: string tags: - Gateway delete: summary: "TODO: Add Update Evaluation\nUpdate Evaluation\nrpc UpdateEvaluation(UpdateEvaluationRequest) returns (Evaluation) {\n option (google.api.http) = {\n patch: \"/v1/{evaluation.name=accounts/*/evaluations/*}\"\n body: \"evaluation\"\n };\n}\nDelete Evaluation" operationId: Gateway_DeleteEvaluation responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluation_id in: path required: true description: The Evaluation Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/evaluations/{evaluation_id}:preview: post: summary: Preview an evaluation with sample data operationId: Gateway_PreviewEvaluation responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayPreviewEvaluationResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluation_id in: path required: true description: The Evaluation Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayPreviewEvaluationBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluations:validateAssertions: post: summary: Validate evaluation assertions operationId: Gateway_ValidateAssertions responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayValidateAssertionsResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayValidateAssertionsBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluators: get: summary: List Evaluators description: Lists all evaluators for an account with pagination support. operationId: Gateway_ListEvaluators responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListEvaluatorsResponse' parameters: - name: pageSize in: query required: false schema: type: integer format: int32 - name: pageToken in: query required: false schema: type: string - name: filter in: query required: false schema: type: string - name: orderBy in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Evaluator (Deprecated) description: 'Deprecated: Use CreateEvaluatorV2 instead' operationId: Gateway_CreateEvaluator responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluator' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCreateEvaluatorBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluators/{evaluator_id}: get: summary: Get Evaluator description: 'Retrieves an evaluator by name. Use this to monitor build progress after creation (**step 6** in the [Create Evaluator](/api-reference/create-evaluator) workflow). Possible states: - `BUILDING` - Environment is being prepared - `ACTIVE` - Evaluator is ready to use - `BUILD_FAILED` - Check build logs via [Get Evaluator Build Log Endpoint](/api-reference/get-evaluator-build-log-endpoint)' operationId: Gateway_GetEvaluator responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluator' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string tags: - Gateway patch: summary: Update Evaluator description: 'Updates evaluator metadata (display_name, description, default_dataset). Changing `requirements` or `entry_point` triggers a rebuild. To upload new source code, set `prepare_code_upload: true` then follow the upload flow.' operationId: Gateway_UpdateEvaluator responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluator' parameters: - name: prepareCodeUpload description: 'If true, prepare a new code upload/build attempt by transitioning the evaluator to BUILDING state. Can be used without update_mask.' in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string description: type: string createTime: type: string format: date-time readOnly: true createdBy: type: string readOnly: true updateTime: type: string format: date-time readOnly: true state: $ref: '#/components/schemas/gatewayEvaluatorState' readOnly: true criteria: type: array items: type: object $ref: '#/components/schemas/gatewayCriterion' title: 'Criteria for the evaluator, it should produce a score for the metric (name of criteria) Used for eval3 with UI upload path' requirements: type: string title: Content for the requirements.txt for package installation entryPoint: type: string title: entry point of the evaluator inside the codebase. In module::function or path::function format status: $ref: '#/components/schemas/gatewayStatus' title: Status of the evaluator, used to expose build status to the user readOnly: true commitHash: type: string title: Commit hash of this evaluator from the user's original codebase source: $ref: '#/components/schemas/EvaluatorSource' description: Source information for the evaluator codebase. defaultDataset: type: string title: Default dataset that is associated with the evaluator title: The evaluator to update. The name must be set. description: The evaluator to update. The name must be set. required: true tags: - Gateway delete: summary: Delete Evaluator description: Deletes an evaluator and its associated versions and build artifacts. operationId: Gateway_DeleteEvaluator responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/evaluators/{evaluator_id}/versions: get: summary: List Evaluator Revisions operationId: Gateway_ListEvaluatorVersions responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListEvaluatorVersionsResponse' parameters: - name: pageSize in: query required: false schema: type: integer format: int32 - name: pageToken in: query required: false schema: type: string - name: filter in: query required: false schema: type: string - name: orderBy description: Default order should be reverse chronological (newest first) per AIP-162. in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/evaluators/{evaluator_id}/versions/{version_id}: get: summary: 'CRUD APIs for evaluator revisions (AIP-162). Get Evaluator Revision' operationId: Gateway_GetEvaluatorVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluatorVersion' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string tags: - Gateway delete: summary: Delete Evaluator Revision (deletes alias if name is an alias per AIP-162) operationId: Gateway_DeleteEvaluatorVersion responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/evaluators/{evaluator_id}/versions/{version_id}:alias: post: summary: Alias Evaluator Revision - assign or update a user-specified alias operationId: Gateway_AliasEvaluatorVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluatorVersion' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayAliasEvaluatorVersionBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluators/{evaluator_id}/versions/{version_id}:rollback: post: summary: Rollback Evaluator to a specific revision operationId: Gateway_RollbackEvaluator responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluatorVersion' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayRollbackEvaluatorBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluators/{evaluator_id}:getBuildLogEndpoint: get: summary: Get Evaluator Build Log Endpoint description: 'Returns a signed URL to download the evaluator''s build logs. Useful for debugging `BUILD_FAILED` state.' operationId: Gateway_GetEvaluatorBuildLogEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetEvaluatorBuildLogEndpointResponse' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/evaluators/{evaluator_id}:getSourceCodeSignedUrl: get: summary: Get Evaluator Source Code Endpoint description: 'Returns a signed URL to download the evaluator''s source code archive. Useful for debugging or reviewing the uploaded code.' operationId: Gateway_GetEvaluatorSourceCodeEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetEvaluatorSourceCodeEndpointResponse' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/evaluators/{evaluator_id}:getUploadEndpoint: post: summary: Get Evaluator Upload Endpoint description: 'Returns signed URLs for uploading evaluator source code (**step 3** in the [Create Evaluator](/api-reference/create-evaluator) workflow). After receiving the signed URL, upload your `.tar.gz` archive using HTTP `PUT` with `Content-Type: application/octet-stream` header.' operationId: Gateway_GetEvaluatorUploadEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetEvaluatorUploadEndpointResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayGetEvaluatorUploadEndpointBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluators/{evaluator_id}:validateUpload: post: summary: Validate Evaluator Upload description: 'Triggers server-side validation of the uploaded source code (**step 5** in the [Create Evaluator](/api-reference/create-evaluator) workflow). The server extracts and processes the archive, then builds the evaluator environment. Poll [Get Evaluator](/api-reference/get-evaluator) to monitor progress.' operationId: Gateway_ValidateEvaluatorUpload responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: evaluator_id in: path required: true description: The Evaluator Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayValidateEvaluatorUploadBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluators:previewEvaluator: post: operationId: Gateway_PreviewEvaluator responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayPreviewEvaluatorResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayPreviewEvaluatorBody' required: true tags: - Gateway /v1/accounts/{account_id}/evaluatorsV2: post: summary: Create Evaluator description: "Creates a custom evaluator for scoring model outputs. Evaluators use the\n[Eval Protocol](https://evalprotocol.io) to define test cases, run model\ninference, and score responses. They are used with evaluation jobs and\nReinforcement Fine-Tuning (RFT).\n\n## Source Code Requirements\n\nYour project should contain:\n- `requirements.txt` - Python dependencies for your evaluator\n- `test_*.py` - Pytest test file(s) with\n [`@evaluation_test`](https://evalprotocol.io/reference/evaluation-test)\n decorated functions\n- Any additional code/modules your evaluator needs\n\n## Workflow\n\n**Recommended:** Use the [`ep upload`](https://evalprotocol.io/reference/cli#ep-upload)\nCLI command to handle all these steps automatically.\n\nIf using the API directly:\n\n1. Call this endpoint to create the evaluator resource\n2. Package your source directory as a `.tar.gz` (respecting `.gitignore`)\n3. Call [Get Evaluator Upload Endpoint](/api-reference/get-evaluator-upload-endpoint) to get a signed upload URL\n4. `PUT` the tar.gz file to the signed URL\n5. Call [Validate Evaluator Upload](/api-reference/validate-evaluator-upload) to trigger server-side validation\n6. Poll [Get Evaluator](/api-reference/get-evaluator) until ready\n\nOnce active, reference the evaluator in [Create Evaluation Job](/api-reference/create-evaluation-job) or [Create Reinforcement Fine-tuning Job](/api-reference/create-reinforcement-fine-tuning-job)." operationId: Gateway_CreateEvaluatorV2 responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEvaluator' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCreateEvaluatorV2Body' required: true tags: - Gateway /v1/accounts/{account_id}/genericDeploymentTypes: get: summary: List the generic deployment types under an account operationId: Gateway_ListGenericDeploymentTypes responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListGenericDeploymentTypesResponse' parameters: - name: pageSize description: 'The maximum number of generic deployment types to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListGenericDeploymentTypeRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGenericDeploymentTypeRequest must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only generic deployments satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "create_time".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Generic Deployment Type operationId: Gateway_CreateGenericDeploymentType responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGenericDeploymentTypeVersion' parameters: - name: genericDeploymentTypeId description: The id of the generic deployment type in: query required: true schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayGenericDeploymentType' description: The generic deployment type being created required: true tags: - Gateway /v1/accounts/{account_id}/genericDeploymentTypes/{generic_deployment_type_id}: get: summary: List all generic deployment type version operationId: Gateway_ListGenericDeploymentTypeVersions responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListGenericDeploymentTypeVersionsResponse' parameters: - name: pageSize description: 'The maximum number of generic deployment type versions to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListGenericDeploymentTypeVersionRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGenericDeploymentTypeVersionRequest must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only generic deployment type versions satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "create_time".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: generic_deployment_type_id in: path required: true description: The Generic Deployment Type Id schema: type: string tags: - Gateway patch: summary: Update Generic Deployment Type operationId: Gateway_UpdateGenericDeploymentType responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGenericDeploymentTypeVersion' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: generic_deployment_type_id in: path required: true description: The Generic Deployment Type Id schema: type: string requestBody: content: application/json: schema: type: object properties: createTime: type: string format: date-time description: The creation time of the generic deployment type. readOnly: true updateTime: type: string format: date-time description: The update time for the generic deployment type. readOnly: true imageTag: type: string title: The image tag of the helm chart associated with the resource title: The updated generic deployment type description: The updated generic deployment type required: true tags: - Gateway delete: summary: Delete Generic Deployment Type operationId: Gateway_DeleteGenericDeploymentType responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: hard description: If true, this will perform a hard deletion. in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: generic_deployment_type_id in: path required: true description: The Generic Deployment Type Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/genericDeploymentTypes/{generic_deployment_type_id}/versions/{version_id}: get: summary: Get generic deployment type version operationId: Gateway_GetGenericDeploymentTypeVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGenericDeploymentTypeVersion' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: generic_deployment_type_id in: path required: true description: The Generic Deployment Type Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string tags: - Gateway delete: summary: Delete the generic deployment type version operationId: Gateway_DeleteGenericDeploymentTypeVersion responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: hard description: If true, this will perform a hard deletion. in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: generic_deployment_type_id in: path required: true description: The Generic Deployment Type Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/genericDeployments: get: summary: List all the generic deployments under an account operationId: Gateway_ListGenericDeployments responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListGenericDeploymentsResponse' parameters: - name: pageSize description: 'The maximum number of generic deployments to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListGenericDeploymentRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGenericDeploymentRequest must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only generic deployments satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "create_time".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Generic Deployment operationId: Gateway_CreateGenericDeployment responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGenericDeployment' parameters: - name: genericDeploymentId description: The ID of the deployment. If not specified, a random ID will be generated. in: query required: false schema: type: string - name: validateOnly description: 'If true, this will not create the deployment, but will return the deployment that would be created.' in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayGenericDeployment' description: The properties of the deployment being created. required: true tags: - Gateway /v1/accounts/{account_id}/genericDeployments/{generic_deployment_id}: get: summary: Get Generic Deployment operationId: Gateway_GetGenericDeployment responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGenericDeployment' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: generic_deployment_id in: path required: true description: The Generic Deployment Id schema: type: string tags: - Gateway patch: summary: Create Generic Deployment operationId: Gateway_UpdateGenericDeployment responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGenericDeployment' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: generic_deployment_id in: path required: true description: The Generic Deployment Id schema: type: string requestBody: content: application/json: schema: type: object properties: releaseValues: type: object title: Helm file fields with values for the generic deployment placement: $ref: '#/components/schemas/gatewayPlacement' title: Regions where the deployment should be placed createTime: type: string format: date-time description: The creation time of the generic deployment. readOnly: true updateTime: type: string format: date-time description: The update time for the generic deployment. readOnly: true genericDeploymentType: type: string title: 'Name of the GenericDeploymentType or GenericDeploymentTypeVersion. If the value for the field carries the resource name of GenericDeploymentType then the latest version will be used' state: $ref: '#/components/schemas/gatewayGenericDeploymentState' readOnly: true title: The updated values for generic deployment required: - releaseValues - placement - genericDeploymentType description: The updated values for generic deployment required: true tags: - Gateway delete: summary: Delete Generic Deployment operationId: Gateway_DeleteGenericDeployment responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: hard description: If true, this will perform a hard deletion. in: query required: false schema: type: boolean - name: ignoreChecks description: 'If true, this will ignore checks and force the deletion of a deployment that is currently deployed and is in use.' in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: generic_deployment_id in: path required: true description: The Generic Deployment Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/identityProviders: get: summary: List Identity Providers operationId: Gateway_ListIdentityProviders responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListIdentityProvidersResponse' parameters: - name: pageSize description: Page size in: query required: false schema: type: integer format: int32 - name: pageToken description: Page token in: query required: false schema: type: string - name: filter description: Filter expression in: query required: false schema: type: string - name: orderBy description: Order by in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Identity Provider operationId: Gateway_CreateIdentityProvider responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayIdentityProvider' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayIdentityProvider' description: Identity provider to create required: true tags: - Gateway /v1/accounts/{account_id}/identityProviders/{identity_provider_id}: get: summary: Get Identity Provider operationId: Gateway_GetIdentityProvider responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayIdentityProvider' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: identity_provider_id in: path required: true description: The Identity Provider Id schema: type: string tags: - Gateway patch: summary: Update Identity Provider operationId: Gateway_UpdateIdentityProvider responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayIdentityProvider' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: identity_provider_id in: path required: true description: The Identity Provider Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string title: Display name for the identity provider createTime: type: string format: date-time title: Creation timestamp readOnly: true updateTime: type: string format: date-time title: Last update timestamp readOnly: true samlConfig: $ref: '#/components/schemas/gatewaySamlConfig' oidcConfig: $ref: '#/components/schemas/gatewayOidcConfig' tenantDomains: type: array items: type: string title: 'List of allowed domains for this identity provider Example: ["example.com", "example.co.uk", "example.de"] If not provided, domain will be derived from the account email' state: $ref: '#/components/schemas/gatewayIdentityProviderState' title: Current state of the identity provider readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Contains information about the identity provider status. readOnly: true domainUrl: type: string description: The domain URL. readOnly: true issuerUrl: type: string description: The OIDC issuer URL. readOnly: true clientId: type: string description: The OIDC client ID. readOnly: true enableJitUserProvisioning: type: boolean description: 'Enable Just-In-Time (JIT) user provisioning. When enabled, users are automatically created in the account on first SSO login if they don''t already exist. When disabled, users must be pre-provisioned before they can authenticate via SSO.' jitDefaultRole: type: string description: 'Default role assigned to JIT-provisioned users. Valid values: "admin", "user", "contributor", "inference-user". Only applies when enable_jit_user_provisioning is true and RBAC V2 is enabled. If empty or unset, defaults to "inference-user" (least privilege). If RBAC V2 is not enabled for the account, JIT users always get "user" role.' enforceSso: type: boolean title: 'Enforce SSO authentication and restrict account access to users with approved email domains. When enabled: - Users with email domains matching tenant_domains must authenticate via this identity provider - Users with other email domains are blocked (tenant_domains becomes an allowlist) - Superusers and API keys are exempt from this enforcement' enableIdpInitiatedSso: type: boolean description: 'Enable IdP-initiated SAML (Security Assertion Markup Language) single sign-on. When enabled, users can start the login flow from their identity provider''s portal (e.g., Okta app launcher) instead of from the Fireworks login page. Only supported for SAML identity providers.' title: Identity provider to update description: Identity provider to update required: true tags: - Gateway delete: summary: Delete Identity Provider operationId: Gateway_DeleteIdentityProvider responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: identity_provider_id in: path required: true description: The Identity Provider Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/models: get: summary: List Models operationId: Gateway_ListModels responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListModelsResponse' parameters: - name: pageSize description: 'The maximum number of models to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListModels call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListModels must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only model satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Model operationId: Gateway_CreateModel responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayModel' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCreateModelBody' required: true tags: - Gateway /v1/accounts/{account_id}/models/{model_id}: get: summary: Get Model operationId: Gateway_GetModel responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayModel' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string tags: - Gateway patch: summary: Update Model operationId: Gateway_UpdateModel responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayModel' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string description: 'Human-readable display name of the model. e.g. "My Model" Must be fewer than 64 characters long.' description: type: string description: The description of the model. Must be fewer than 1000 characters long. createTime: type: string format: date-time description: The creation time of the model. readOnly: true state: $ref: '#/components/schemas/gatewayModelState' description: The state of the model. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Contains detailed message when the last model operation fails. readOnly: true kind: $ref: '#/components/schemas/ModelKind' description: 'The kind of model. If not specified, the default is HF_PEFT_ADDON.' githubUrl: type: string description: The URL to GitHub repository of the model. huggingFaceUrl: type: string description: The URL to the Hugging Face model. baseModelDetails: $ref: '#/components/schemas/gatewayBaseModelDetails' description: 'Base model details. Required if kind is HF_BASE_MODEL. Must not be set otherwise.' peftDetails: $ref: '#/components/schemas/gatewayPEFTDetails' description: 'PEFT addon details. Required if kind is HF_PEFT_ADDON or HF_TEFT_ADDON.' teftDetails: $ref: '#/components/schemas/gatewayTEFTDetails' description: 'TEFT addon details. Required if kind is HF_TEFT_ADDON. Must not be set otherwise.' public: type: boolean description: If true, the model will be publicly readable. conversationConfig: $ref: '#/components/schemas/gatewayConversationConfig' description: If set, the Chat Completions API will be enabled for this model. contextLength: type: integer format: int32 description: The maximum context length supported by the model. supportsImageInput: type: boolean description: If set, images can be provided as input to the model. supportsTools: type: boolean description: 'If set, tools (i.e. functions) can be provided as input to the model, and the model may respond with one or more tool calls.' importedFrom: type: string description: 'The name of the the model from which this was imported. This field is empty if the model was not imported.' readOnly: true fineTuningJob: type: string description: 'If the model was created from a fine-tuning job, this is the fine-tuning job name.' readOnly: true defaultDraftModel: type: string description: 'The default draft model to use when creating a deployment. If empty, speculative decoding is disabled by default.' defaultDraftTokenCount: type: integer format: int32 description: 'The default draft token count to use when creating a deployment. Must be specified if default_draft_model is specified.' deployedModelRefs: type: array items: type: object $ref: '#/components/schemas/gatewayDeployedModelRef' description: Populated from GetModel API call only. readOnly: true cluster: type: string description: 'The resource name of the BYOC cluster to which this model belongs. e.g. accounts/my-account/clusters/my-cluster. Empty if it belongs to a Fireworks cluster.' readOnly: true deprecationDate: $ref: '#/components/schemas/typeDate' description: If specified, this is the date when the serverless deployment of the model will be taken down. calibrated: type: boolean description: If true, the model is calibrated and can be deployed to non-FP16 precisions. readOnly: true tunable: type: boolean description: 'Deprecated: V1 training stack only — LoRA only, limited architecture support. If the model has use_training_v2=true and your account has AllowTrainingV2, use supervised_lora_tunable and supervised_full_parameter_tunable instead.' readOnly: true supportsLora: type: boolean description: Whether this model supports LoRA. useHfApplyChatTemplate: type: boolean description: If true, the model will use the Hugging Face apply_chat_template API to apply the chat template. updateTime: type: string format: date-time description: The update time for the model. readOnly: true defaultSamplingParams: type: object additionalProperties: type: number format: float description: A json object that contains the default sampling parameters for the model. readOnly: true rlTunable: type: boolean description: 'Deprecated: V1 training stack only — LoRA only, limited architecture support. If the model has use_training_v2=true and your account has AllowTrainingV2, use rl_lora_tunable and rl_full_parameter_tunable instead.' readOnly: true trainingContextLength: type: integer format: int32 description: The maximum context length supported by the model. snapshotType: $ref: '#/components/schemas/ModelSnapshotType' supportsServerless: type: boolean description: If true, the model has a serverless deployment. readOnly: true supervisedLoraTunable: type: boolean description: 'V2 only. Whether the model supports LoRA supervised fine-tuning and DPO (lora_rank > 0). True when a validated LORA_TRAINER training shape exists.' readOnly: true supervisedFullParameterTunable: type: boolean description: 'V2 only. Whether the model supports full-parameter supervised fine-tuning and DPO (lora_rank = 0). True when a validated POLICY_TRAINER training shape exists.' readOnly: true rlLoraTunable: type: boolean description: 'V2 only. Whether the model supports LoRA reinforcement learning (lora_rank > 0). True when a validated LORA_TRAINER training shape exists plus a deployment shape.' readOnly: true rlFullParameterTunable: type: boolean description: 'V2 only. Whether the model supports full-parameter reinforcement learning (lora_rank = 0). True when validated POLICY_TRAINER + FORWARD_ONLY training shapes exist plus a deployment shape.' readOnly: true title: 'The properties of the model being updated. `model.name` must be populated with the updated resource''s name.' description: 'The properties of the model being updated. `model.name` must be populated with the updated resource''s name.' required: true tags: - Gateway delete: summary: Delete Model operationId: Gateway_DeleteModel responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/models/{model_id}/versions: post: summary: 'CRUD APIs for model versions. Create Model Version' operationId: Gateway_CreateModelVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayModelVersion' parameters: - name: versionId in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayModelVersion' required: true tags: - Gateway /v1/accounts/{account_id}/models/{model_id}/versions/{version_id}:deploy: post: summary: Deploy Model Version operationId: Gateway_DeployModelVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/googlelongrunningOperation' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayDeployModelVersionBody' required: true tags: - Gateway /v1/accounts/{account_id}/models/{model_id}/versions:count: get: summary: Returns the number of model versions. operationId: Gateway_GetModelVersionCount responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetModelVersionCountResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/models/{model_id}:getDownloadEndpoint: get: summary: Get Model Download Endpoint operationId: Gateway_GetModelDownloadEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetModelDownloadEndpointResponse' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/models/{model_id}:getUploadEndpoint: post: summary: Get Model Upload Endpoint operationId: Gateway_GetModelUploadEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetModelUploadEndpointResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayGetModelUploadEndpointBody' required: true tags: - Gateway /v1/accounts/{account_id}/models/{model_id}:import: post: summary: Transfer model from S3 to GCP storage operationId: Gateway_ImportModel responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/googlelongrunningOperation' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayImportModelBody' required: true tags: - Gateway /v1/accounts/{account_id}/models/{model_id}:prepare: post: summary: Prepare Model for different precisions operationId: Gateway_PrepareModel responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayPrepareModelBody' required: true tags: - Gateway /v1/accounts/{account_id}/models/{model_id}:validateUpload: get: summary: Validate Model Upload operationId: Gateway_ValidateModelUpload responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayValidateModelUploadResponse' parameters: - name: skipHfConfigValidation description: If true, skip the Hugging Face config validation. in: query required: false schema: type: boolean - name: trustRemoteCode description: If true, trusts remote code when validating the Hugging Face config. in: query required: false schema: type: boolean - name: configOnly description: If true, skip tokenizer and parameter name validation. in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: model_id in: path required: true description: The Model Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/policySettings: get: summary: Returns the singleton PolicySettings for the given account. operationId: Gateway_GetPolicySettings responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayPolicySettings' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway patch: summary: Updates the per-account PolicySettings singleton. operationId: Gateway_UpdatePolicySettings responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayPolicySettings' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: type: object properties: rules: type: array items: type: object $ref: '#/components/schemas/PolicySettingsModelAccessRule' description: Full model allowlist (governance doc §1); empty means default-deny for all models. updateTime: type: string format: date-time description: The update time for the policy settings resource. readOnly: true title: 'The policy settings to update. `policy_settings.name` must be populated. Format: accounts/{account}/policySettings' description: 'The policy settings to update. `policy_settings.name` must be populated. Format: accounts/{account}/policySettings' required: true tags: - Gateway /v1/accounts/{account_id}/pricingPlans: get: summary: List Pricing Plans operationId: Gateway_ListPricingPlans responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListPricingPlansResponse' parameters: - name: pageSize description: Maximum number of pricing plans to return in: query required: false schema: type: integer format: int32 - name: pageToken description: Page token from a previous ListPricingPlans call in: query required: false schema: type: string - name: filter description: Filter expression (e.g., "state=READY") in: query required: false schema: type: string - name: orderBy description: Order by expression (e.g., "create_time desc") in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/pricingPlans/{pricing_plan_id}: get: summary: 'CRUD APIs for pricing plans. Get Pricing Plan' operationId: Gateway_GetPricingPlan responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayPricingPlan' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: pricing_plan_id in: path required: true description: The Pricing Plan Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/quotas: get: summary: List Quotas description: Lists all quotas for an account. operationId: Gateway_ListQuotas responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListQuotasResponse' parameters: - name: pageSize description: 'The maximum number of quotas to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListQuotas call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListQuotas must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only quota satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/quotas/{quota_id}: get: summary: Get Quota description: Gets a single quota by resource name. operationId: Gateway_GetQuota responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayQuota' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: quota_id in: path required: true description: The Quota Id schema: type: string tags: - Gateway patch: summary: Update Quota description: Updates a quota. operationId: Gateway_UpdateQuota responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayQuota' parameters: - name: allowMissing description: If true, and the quota does not exist, it will be created. in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string - name: quota_id in: path required: true description: The Quota Id schema: type: string requestBody: content: application/json: schema: type: object properties: value: type: string format: int64 description: 'The value of the quota being enforced. This may be lower than the max_value if the user manually lowers it.' maxValue: type: string format: int64 description: The maximum approved value. usage: type: number format: double description: The usage of the quota. readOnly: true updateTime: type: string format: date-time description: The update time for the quota. readOnly: true title: 'The properties of the quota being updated. `quota.name` must be populated with the updated resource''s name.' description: 'The properties of the quota being updated. `quota.name` must be populated with the updated resource''s name.' required: true tags: - Gateway /v1/accounts/{account_id}/reinforcementFineTuningJobs: get: summary: List Reinforcement Fine-tuning Jobs operationId: Gateway_ListReinforcementFineTuningJobs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListReinforcementFineTuningJobsResponse' parameters: - name: pageSize description: 'The maximum number of fine-tuning jobs to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListReinforcementLearningFineTuningJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListReinforcementLearningFineTuningJobs must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: Filter criteria for the returned jobs. See https://google.aip.dev/160 for the filter syntax specification. in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Reinforcement Fine-tuning Job operationId: Gateway_CreateReinforcementFineTuningJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayReinforcementFineTuningJob' parameters: - name: reinforcementFineTuningJobId description: ID of the reinforcement fine-tuning job, a random UUID will be generated if not specified. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayReinforcementFineTuningJob' required: true tags: - Gateway /v1/accounts/{account_id}/reinforcementFineTuningJobs/{reinforcement_fine_tuning_job_id}: get: summary: Get Reinforcement Fine-tuning Job operationId: Gateway_GetReinforcementFineTuningJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayReinforcementFineTuningJob' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: reinforcement_fine_tuning_job_id in: path required: true description: The Reinforcement Fine-tuning Job Id schema: type: string tags: - Gateway patch: summary: Update Reinforcement Fine-tuning Job operationId: Gateway_UpdateReinforcementFineTuningJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayReinforcementFineTuningJob' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: reinforcement_fine_tuning_job_id in: path required: true description: The Reinforcement Fine-tuning Job Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string createTime: type: string format: date-time readOnly: true completedTime: type: string format: date-time description: The completed time for the reinforcement fine-tuning job. readOnly: true dataset: type: string description: The name of the dataset used for training. evaluationDataset: type: string description: The name of a separate dataset to use for evaluation. evalAutoCarveout: type: boolean description: Whether to auto-carve the dataset for eval. state: $ref: '#/components/schemas/gatewayJobState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true createdBy: type: string description: The email address of the user who initiated this fine-tuning job. readOnly: true trainingConfig: $ref: '#/components/schemas/gatewayBaseTrainingConfig' description: Common training configurations. evaluator: type: string description: The evaluator resource name to use for RLOR fine-tuning job. wandbConfig: $ref: '#/components/schemas/gatewayWandbConfig' description: The Weights & Biases team/user account for logging training progress. awsS3Config: $ref: '#/components/schemas/gatewayAwsS3Config' description: The AWS configuration for S3 dataset access. azureBlobStorageConfig: $ref: '#/components/schemas/gatewayAzureBlobStorageConfig' description: The Azure configuration for Blob Storage dataset access. outputStats: type: string description: The output dataset's aggregated stats for the evaluation job. readOnly: true jobProgress: $ref: '#/components/schemas/gatewayJobProgress' description: Job progress. readOnly: true inferenceParameters: $ref: '#/components/schemas/gatewayReinforcementFineTuningJobInferenceParameters' description: RFT inference parameters. chunkSize: type: integer format: int32 description: Data chunking for rollout, default size 200, enabled when dataset > 300. Valid range is 1-10,000. outputMetrics: type: string readOnly: true maxInferenceReplicaCount: type: integer format: int32 title: 'Maximum number of replicas to use for the deployment. Default is 1' nodeCount: type: integer format: int32 description: 'The number of nodes to use for the fine-tuning job. If not specified, the default is 1.' lossConfig: $ref: '#/components/schemas/gatewayReinforcementLearningLossConfig' description: Reinforcement learning loss method + hyperparameters for the underlying trainers. trainerLogsSignedUrl: type: string description: 'The signed URL for the trainer logs file (stdout/stderr). Only populated if the account has trainer log reading enabled.' readOnly: true acceleratorSeconds: type: object additionalProperties: type: string format: int64 description: Accelerator seconds used by the job, keyed by accelerator type (e.g., "NVIDIA_H100_80GB"). Updated when job completes or is cancelled. readOnly: true maxConcurrentRollouts: type: integer format: int32 description: Maximum number of concurrent rollouts during the RFT job. maxConcurrentEvaluations: type: integer format: int32 description: Maximum number of concurrent evaluations during the RFT job. purpose: $ref: '#/components/schemas/gatewayPurpose' description: Scheduling purpose for this job. title: The reinforcement fine-tuning job to update. required: - dataset - evaluator description: The reinforcement fine-tuning job to update. required: true tags: - Gateway delete: summary: Delete Reinforcement Fine-tuning Job operationId: Gateway_DeleteReinforcementFineTuningJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: reinforcement_fine_tuning_job_id in: path required: true description: The Reinforcement Fine-tuning Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/reinforcementFineTuningJobs/{reinforcement_fine_tuning_job_id}:cancel: post: summary: Cancel Reinforcement Fine-tuning Job operationId: Gateway_CancelReinforcementFineTuningJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: reinforcement_fine_tuning_job_id in: path required: true description: The Reinforcement Fine-tuning Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCancelReinforcementFineTuningJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/reinforcementFineTuningJobs/{reinforcement_fine_tuning_job_id}:debug: post: summary: Debug Reinforcement Fine-tuning Job operationId: Gateway_DebugReinforcementFineTuningJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayDebugReinforcementFineTuningJobResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: reinforcement_fine_tuning_job_id in: path required: true description: The Reinforcement Fine-tuning Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayDebugReinforcementFineTuningJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/reinforcementFineTuningJobs/{reinforcement_fine_tuning_job_id}:getMetricsFileEndpoint: get: operationId: Gateway_GetReinforcementFineTuningJobMetricsFileEndpoint responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetReinforcementFineTuningJobMetricsFileResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: reinforcement_fine_tuning_job_id in: path required: true description: The Reinforcement Fine-tuning Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/reinforcementFineTuningJobs/{reinforcement_fine_tuning_job_id}:resume: post: summary: Resume Reinforcement Fine-tuning Job operationId: Gateway_ResumeReinforcementFineTuningJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayReinforcementFineTuningJob' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: reinforcement_fine_tuning_job_id in: path required: true description: The Reinforcement Fine-tuning Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayResumeReinforcementFineTuningJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/rlorTrainerJobs: get: summary: List Reinforcement Fine-tuning Steps operationId: Gateway_ListRlorTrainerJobs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListRlorTrainerJobsResponse' parameters: - name: pageSize description: 'The maximum number of fine-tuning jobs to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListRlorTuningJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListRlorTuningJobs must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: Filter criteria for the returned jobs. See https://google.aip.dev/160 for the filter syntax specification. in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Reinforcement Fine-tuning Step operationId: Gateway_CreateRlorTrainerJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayRlorTrainerJob' parameters: - name: rlorTrainerJobId description: ID of the RLOR trainer job, a random UUID will be generated if not specified. in: query required: false schema: type: string - name: trainingShape description: 'Optional validated training-shape selector for service-mode launches. Accepted formats: - accounts/{account}/trainingShapes/{shape} - accounts/{account}/trainingShapes/{shape}/versions/{version} - accounts/{account}/trainingShapes/{shape}/versions/latest When a shape (without /versions/*) is provided, the latest validated version is used.' in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayRlorTrainerJob' required: true tags: - Gateway /v1/accounts/{account_id}/rlorTrainerJobs/{rlor_trainer_job_id}: get: summary: Get Reinforcement Fine-tuning Step operationId: Gateway_GetRlorTrainerJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayRlorTrainerJob' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: rlor_trainer_job_id in: path required: true description: The Rlor Trainer Job Id schema: type: string tags: - Gateway delete: summary: Delete Reinforcement Fine-tuning Step operationId: Gateway_DeleteRlorTrainerJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: rlor_trainer_job_id in: path required: true description: The Rlor Trainer Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/rlorTrainerJobs/{rlor_trainer_job_id}/checkpoints: get: summary: List checkpoints for an RLOR Trainer Job operationId: Gateway_ListRlorTrainerJobCheckpoints responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListRlorTrainerJobCheckpointsResponse' parameters: - name: pageSize description: Maximum number of checkpoints to return. Default is 50, max is 200. in: query required: false schema: type: integer format: int32 - name: pageToken description: Page token from a previous call. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: rlor_trainer_job_id in: path required: true description: The Rlor Trainer Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/rlorTrainerJobs/{rlor_trainer_job_id}/publicLogs: get: summary: Get a signed URL for the public trainer logs of an RLOR Trainer Job. operationId: Gateway_GetRlorTrainerJobPublicLogs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetRlorTrainerJobPublicLogsResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: rlor_trainer_job_id in: path required: true description: The Rlor Trainer Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/rlorTrainerJobs/{rlor_trainer_job_id}:cancel: post: summary: Cancel Rlor Trainer Job operationId: Gateway_CancelRlorTrainerJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: rlor_trainer_job_id in: path required: true description: The Rlor Trainer Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCancelRlorTrainerJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/rlorTrainerJobs/{rlor_trainer_job_id}:executeTrainStep: post: summary: Execute one training step for keep-alive Reinforcement Fine-tuning Step operationId: Gateway_ExecuteRlorTrainStep responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: rlor_trainer_job_id in: path required: true description: The Rlor Trainer Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayExecuteRlorTrainStepBody' required: true tags: - Gateway /v1/accounts/{account_id}/rlorTrainerJobs/{rlor_trainer_job_id}:resume: post: summary: Resume Rlor Trainer Job operationId: Gateway_ResumeRlorTrainerJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayRlorTrainerJob' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: rlor_trainer_job_id in: path required: true description: The Rlor Trainer Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayResumeRlorTrainerJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/routers: get: summary: List Routers operationId: Gateway_ListRouters responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListRoutersResponse' parameters: - name: pageSize description: 'The maximum number of routers to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListRouters call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListRouters must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: Filter criteria for the returned routers. See https://google.aip.dev/160 for the filter syntax specification. in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Router operationId: Gateway_CreateRouter responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayRouter' parameters: - name: routerId description: ID of the router. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayRouter' required: true tags: - Gateway /v1/accounts/{account_id}/routers/{router_id}: get: summary: 'CRUD APIs for routers. Get Router' operationId: Gateway_GetRouter responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayRouter' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: router_id in: path required: true description: The Router Id schema: type: string tags: - Gateway patch: summary: Update Router operationId: Gateway_UpdateRouter responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayRouter' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: router_id in: path required: true description: The Router Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string createTime: type: string format: date-time readOnly: true createdBy: type: string readOnly: true state: $ref: '#/components/schemas/gatewayRouterState' description: The state of the router. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true deployments: type: array items: type: string description: The deployment names to be covered by the router. model: type: string description: 'The model name to route requests to. model is only applicable to single-region deployments. For multi-region deployments, model must be empty.' weightedRandom: $ref: '#/components/schemas/gatewayWeightedRandomStrategy' evenLoad: $ref: '#/components/schemas/gatewayEvenLoadStrategy' aliases: type: array items: type: string title: "Aliases for the router. These are the alias names that can be used to\nroute requests through the router.\nBy default, these aliases are generated by the system.\nExamples:\n \"accounts/foo/deployments/my-deployment\" or \"foo/my-deployment\"\n \"accounts/foo/routers/my-router\"\n \"accounts/foo/models/my-base-model\" - only if this is the first deployment using this model" readOnly: true autoGenerated: type: boolean description: 'auto_generated indicates this router was generated by the system for a deployment. Auto-generated routers cannot be updated or deleted by the user.' readOnly: true public: type: boolean description: 'True if the router is public (any account can query the underlying workload), false if the router is private (only the account that owns the router can query the underlying workload).' title: 'The properties of the router being updated. `router.name` must be populated with the updated resource''s name.' description: 'The properties of the router being updated. `router.name` must be populated with the updated resource''s name.' required: true tags: - Gateway delete: summary: Delete Router operationId: Gateway_DeleteRouter responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: router_id in: path required: true description: The Router Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/secrets: get: summary: List Secrets description: Lists all secrets for an account. Note that the `value` field is not returned in the response for security reasons. Only the `name` and `key_name` fields are included for each secret. operationId: Gateway_ListSecrets responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListSecretsResponse' parameters: - name: pageSize in: query required: false schema: type: integer format: int32 - name: pageToken in: query required: false schema: type: string - name: filter description: Unused but required to use existing ListRequest functionality. in: query required: false schema: type: string - name: orderBy description: Unused but required to use existing ListRequest functionality. in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: operationId: Gateway_CreateSecret responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewaySecret' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewaySecret' required: true tags: - Gateway /v1/accounts/{account_id}/secrets/{secret_id}: get: summary: Get Secret description: Retrieves a secret by name. Note that the `value` field is not returned in the response for security reasons. Only the `name` and `key_name` fields are included. operationId: Gateway_GetSecret responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewaySecret' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: secret_id in: path required: true description: The Secret Id schema: type: string tags: - Gateway patch: operationId: Gateway_UpdateSecret responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewaySecret' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: secret_id in: path required: true description: The Secret Id schema: type: string requestBody: content: application/json: schema: type: object properties: keyName: type: string title: name of the key. In this case, it can be WOLFRAM_ALPHA_API_KEY value: type: string example: sk-1234567890abcdef description: 'The secret value. This field is INPUT_ONLY and will not be returned in GET or LIST responses for security reasons. The value is only accepted when creating or updating secrets.' required: - keyName required: true tags: - Gateway delete: operationId: Gateway_DeleteSecret responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: secret_id in: path required: true description: The Secret Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/serverlessRateLimits: get: summary: 'Lists effective global rate limits for shared serverless pool deployments (fireworks-owned). Values reflect configured limits as observed in production monitoring.' operationId: Gateway_ListAccountServerlessRateLimits responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListAccountServerlessRateLimitsResponse' parameters: - name: deployment description: If set, only return limits for this deployment resource name. in: query required: false schema: type: string - name: start description: Start of the time range for time series data. Defaults to 30 days before `end`. in: query required: false schema: type: string format: date-time - name: end description: End of the time range for time series data. Defaults to the request time. in: query required: false schema: type: string format: date-time - name: interval description: 'Step size for the time series: each point is the peak effective limit observed within that window. Defaults to 4 hours.' in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/serverlessTokenUsage: get: summary: 'Serverless pool token throughput (tokens per minute) by time bucket and base model, from production usage metrics.' operationId: Gateway_GetAccountServerlessTokenUsage responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayGetAccountServerlessTokenUsageResponse' parameters: - name: start description: Start of the time range. Defaults to 30 days before `end`. in: query required: false schema: type: string format: date-time - name: end description: End of the time range. Defaults to the request time. in: query required: false schema: type: string format: date-time - name: interval description: Step size for each point (peak or average TPM within each window). Defaults to 4 hours. in: query required: false schema: type: string - name: includePeakTokensPerMinuteByBaseModel description: 'Whether to include each section in the response. At least one must be true; otherwise the request fails with INVALID_ARGUMENT.' in: query required: false schema: type: boolean - name: includeAverageTokensPerMinuteByBaseModel in: query required: false schema: type: boolean - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/supervisedFineTuningJobs: get: summary: List Supervised Fine-tuning Jobs operationId: Gateway_ListSupervisedFineTuningJobs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListSupervisedFineTuningJobsResponse' parameters: - name: pageSize description: 'The maximum number of fine-tuning jobs to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListSupervisedFineTuningJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListSupervisedFineTuningJobs must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: Filter criteria for the returned jobs. See https://google.aip.dev/160 for the filter syntax specification. in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Supervised Fine-tuning Job operationId: Gateway_CreateSupervisedFineTuningJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewaySupervisedFineTuningJob' parameters: - name: supervisedFineTuningJobId description: ID of the supervised fine-tuning job, a random UUID will be generated if not specified. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewaySupervisedFineTuningJob' required: true tags: - Gateway /v1/accounts/{account_id}/supervisedFineTuningJobs/{supervised_fine_tuning_job_id}: get: summary: Get Supervised Fine-tuning Job operationId: Gateway_GetSupervisedFineTuningJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewaySupervisedFineTuningJob' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: supervised_fine_tuning_job_id in: path required: true description: The Supervised Fine-tuning Job Id schema: type: string tags: - Gateway delete: summary: Delete Supervised Fine-tuning Job operationId: Gateway_DeleteSupervisedFineTuningJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: supervised_fine_tuning_job_id in: path required: true description: The Supervised Fine-tuning Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/supervisedFineTuningJobs/{supervised_fine_tuning_job_id}:cancel: post: summary: Cancel Supervised Fine-tuning Job operationId: Gateway_CancelSupervisedFineTuningJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: supervised_fine_tuning_job_id in: path required: true description: The Supervised Fine-tuning Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCancelSupervisedFineTuningJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/supervisedFineTuningJobs/{supervised_fine_tuning_job_id}:resume: post: summary: Resume Supervised Fine-tuning Job operationId: Gateway_ResumeSupervisedFineTuningJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewaySupervisedFineTuningJob' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: supervised_fine_tuning_job_id in: path required: true description: The Supervised Fine-tuning Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayResumeSupervisedFineTuningJobBody' required: true tags: - Gateway /v1/accounts/{account_id}/supervisedFineTuningJobs:estimateCost: post: summary: Estimate the cost of a Supervised Fine-tuning Job operationId: Gateway_EstimateSupervisedFineTuningJobCost responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayEstimateSupervisedFineTuningJobCostResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewaySupervisedFineTuningJob' description: uses the dataset, base model, and number of epochs to determine the estimated cost of the fine-tuning job. required: true tags: - Gateway /v1/accounts/{account_id}/trails: get: summary: List Trails operationId: Gateway_ListTrails responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListTrailsResponse' parameters: - name: pageSize description: 'The maximum number of trails to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListTrails call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListTrails must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Filter criteria for the returned trails. See https://google.aip.dev/160 for the filter syntax specification.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "create_time,display_name" The default sort order is ascending. To specify descending order for a field, append a " desc" suffix. e.g. "create_time desc" If not specified, the default order is by "create_time desc".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create Trail operationId: Gateway_CreateTrail responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrail' parameters: - name: trailId description: Optional ID for the trail. If not specified, a random UUID will be generated. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayTrail' description: The trail to create required: true tags: - Gateway /v1/accounts/{account_id}/trails/{trail_id}: get: summary: 'CRUD APIs for trails. Get Trail' operationId: Gateway_GetTrail responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrail' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: trail_id in: path required: true description: The Trail Id schema: type: string tags: - Gateway patch: summary: Update Trail operationId: Gateway_UpdateTrail responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrail' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: trail_id in: path required: true description: The Trail Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string title: Human-readable display name for the trail createTime: type: string format: date-time title: Creation timestamp readOnly: true updateTime: type: string format: date-time title: Last update timestamp readOnly: true description: type: string title: Optional description of what this trail is tracking createdBy: type: string title: The email address of the user who created this trail readOnly: true langfuseConfig: type: string description: 'Langfuse configuration for this trail, inherited from the account at creation time. Contains API credentials for a Project within the customer''s Langfuse Organization. Serialized JSON format: {"public_key":"pk-lf-xxx","secret_key":"sk-lf-xxx","host":"https://langfuse-prod.fireworks.ai"} If empty, the default Langfuse Organization/Project will be used.' readOnly: true defaultModel: type: string description: 'Default model for requests through this trail. Format: "{provider}/{model_id}" (e.g., "anthropic/claude-3-5-sonnet-20240620"). Can be overridden per request.' providerKey: type: string description: 'Provider API key for this trail. When creating a trail: provide the raw API key (e.g., "sk-ant-api03-xxxx...") After creation: this field contains a secret reference (e.g., "accounts/{account_id}/secrets/trail-xxx-provider-key") The LiteLLM gateway retrieves the actual key from Secret Manager using this reference. Can be overridden by specifying api_key in the request body.' title: 'The properties of the trail being updated. `trail.name` must be populated with the updated resource''s name.' description: 'The properties of the trail being updated. `trail.name` must be populated with the updated resource''s name.' required: true tags: - Gateway delete: summary: Delete Trail operationId: Gateway_DeleteTrail responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: trail_id in: path required: true description: The Trail Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/trails/{trail_id}:getMetrics: get: summary: Get Trail Metrics (trace counts, token usage from tracing service) operationId: Gateway_GetTrailMetrics responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrailMetrics' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: trail_id in: path required: true description: The Trail Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/trainingSessionJobs: get: summary: List training session jobs for an account. operationId: Gateway_ListTrainingSessionJobs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListTrainingSessionJobsResponse' parameters: - name: pageSize in: query required: false schema: type: integer format: int32 - name: pageToken in: query required: false schema: type: string - name: filter in: query required: false schema: type: string - name: orderBy in: query required: false schema: type: string - name: readMask in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create a training session job that binds an account to a shared trainer. operationId: Gateway_CreateTrainingSessionJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingSessionJob' parameters: - name: trainingSessionJobId in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingSessionJob' required: true tags: - Gateway /v1/accounts/{account_id}/trainingSessionJobs/{training_session_job_id}: get: summary: Get a training session job. operationId: Gateway_GetTrainingSessionJob responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingSessionJob' parameters: - name: readMask in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_session_job_id in: path required: true description: The Training Session Job Id schema: type: string tags: - Gateway delete: summary: Delete a training session job and cascade-clean its child sessions and routes. operationId: Gateway_DeleteTrainingSessionJob responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_session_job_id in: path required: true description: The Training Session Job Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/trainingSessionJobs/{training_session_job_id}/trainingSessions: get: summary: List training sessions under a training session job. operationId: Gateway_ListTrainingSessions responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListTrainingSessionsResponse' parameters: - name: pageSize in: query required: false schema: type: integer format: int32 - name: pageToken in: query required: false schema: type: string - name: filter in: query required: false schema: type: string - name: orderBy in: query required: false schema: type: string - name: readMask in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_session_job_id in: path required: true description: The Training Session Job Id schema: type: string tags: - Gateway post: summary: Create a training session under a training session job. operationId: Gateway_CreateTrainingSession responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingSession' parameters: - name: trainingSessionId in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_session_job_id in: path required: true description: The Training Session Job Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingSession' required: true tags: - Gateway /v1/accounts/{account_id}/trainingSessionJobs/{training_session_job_id}/trainingSessions/{training_session_id}: get: summary: Get a training session. operationId: Gateway_GetTrainingSession responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingSession' parameters: - name: readMask in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_session_job_id in: path required: true description: The Training Session Job Id schema: type: string - name: training_session_id in: path required: true description: The Training Session Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/trainingSessionJobs/{training_session_job_id}/trainingSessions/{training_session_id}:loadState: post: summary: Load or switch the LoRA adapter state for a training session. operationId: Gateway_ExecuteTrainingSessionLoadState responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingSession' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_session_job_id in: path required: true description: The Training Session Job Id schema: type: string - name: training_session_id in: path required: true description: The Training Session Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayExecuteTrainingSessionLoadStateBody' required: true tags: - Gateway /v1/accounts/{account_id}/trainingShapes: get: summary: List Training Shapes operationId: Gateway_ListTrainingShapes responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListTrainingShapesResponse' parameters: - name: pageSize description: 'The maximum number of resources to return. Max page_size is 200; values above 200 are coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: A page token from a previous ListTrainingShapes call. in: query required: false schema: type: string - name: filter description: Filter per AIP-160. in: query required: false schema: type: string - name: orderBy description: Order by fields, default "create_time". in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: 'CRUD APIs for training shape. Create Training Shape' operationId: Gateway_CreateTrainingShape responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingShape' parameters: - name: trainingShapeId description: 'The ID of the training shape. If not specified, a random ID will be generated. Must follow AIP-122 segment format and start with a letter.' in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingShape' description: The properties of the training shape being created. required: true tags: - Gateway /v1/accounts/{account_id}/trainingShapes/{training_shape_id}: get: summary: Get Training Shape operationId: Gateway_GetTrainingShape responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingShape' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_shape_id in: path required: true description: The Training Shape Id schema: type: string tags: - Gateway patch: summary: Update Training Shape operationId: Gateway_UpdateTrainingShape responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingShape' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_shape_id in: path required: true description: The Training Shape Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string description: 'Human-readable display name of the training shape. e.g. "Llama3 70B H200 BF16" Must be fewer than 64 characters long.' description: type: string description: The description of the training shape. Must be fewer than 1000 characters long. createTime: type: string format: date-time description: The creation time of the training shape. readOnly: true updateTime: type: string format: date-time description: The update time for the training shape. readOnly: true baseModel: type: string title: The base model name. e.g. accounts/fireworks/models/llama-3-70b deploymentShapeVersion: type: string title: 'The validated deployment shape version used for numerics verification. e.g. accounts/fireworks/deploymentShapes/rft-qwen3-4b/versions/abcd1234' trainerImageTag: type: string description: The validated trainer runtime image tag used for numerics verification. trainerMode: $ref: '#/components/schemas/TrainingShapeTrainerMode' description: Trainer mode used for the validated launch profile. nodeCount: type: integer format: int32 description: Node count validated for the launch profile. trainerShardingScheme: $ref: '#/components/schemas/gatewayTrainerShardingScheme' description: Structured sharding/parallelism profile validated for the trainer launch. modelType: type: string description: The model type of the base model (e.g. "llama", "qwen"). readOnly: true parameterCount: type: string format: int64 description: The parameter count of the base model, used for billion-parameter bucket matching. readOnly: true acceleratorType: $ref: '#/components/schemas/gatewayAcceleratorType' description: The type of accelerator to use. acceleratorCount: type: integer format: int32 description: Total number of accelerators used by the job. baseModelWeightPrecision: $ref: '#/components/schemas/gatewayWeightPrecision' description: Default precision for base weights during training (prefer BF16; QLoRA/QAT omitted). maxSupportedContextLength: type: integer format: int32 description: Capacity limits validated for this shape. title: The properties of the training shape being updated; `training_shape.name` must be populated. required: - baseModel - trainerImageTag description: The properties of the training shape being updated; `training_shape.name` must be populated. required: true tags: - Gateway delete: summary: Delete Training Shape operationId: Gateway_DeleteTrainingShape responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_shape_id in: path required: true description: The Training Shape Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/trainingShapes/{training_shape_id}/versions: get: summary: List Training Shapes Versions operationId: Gateway_ListTrainingShapeVersions responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListTrainingShapeVersionsResponse' parameters: - name: pageSize description: 'The maximum number of versions to return. Max page_size is 200; values above 200 are coerced. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: A page token from a previous ListTrainingShapeVersions call. in: query required: false schema: type: string - name: filter description: Filter per AIP-160. in: query required: false schema: type: string - name: orderBy description: Order by fields, default "create_time". in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_shape_id in: path required: true description: The Training Shape Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/trainingShapes/{training_shape_id}/versions/{version_id}: get: summary: Get Training Shape Version operationId: Gateway_GetTrainingShapeVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingShapeVersion' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_shape_id in: path required: true description: The Training Shape Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string tags: - Gateway patch: summary: Update Training Shape Version operationId: Gateway_UpdateTrainingShapeVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayTrainingShapeVersion' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: training_shape_id in: path required: true description: The Training Shape Id schema: type: string - name: version_id in: path required: true description: The Version Id schema: type: string requestBody: content: application/json: schema: type: object properties: createTime: type: string format: date-time title: Creation time (used for ordering desc by default) readOnly: true snapshot: $ref: '#/components/schemas/gatewayTrainingShape' description: Full snapshot of the TrainingShape at this version. readOnly: true validated: type: boolean description: 'Whether this version has been validated through capacity tests. Only superusers can set this flag.' public: type: boolean description: If true, this version will be publicly readable. latestValidated: type: boolean description: If true, this version is the latest validated version (at most one per shape). readOnly: true updateTime: type: string format: date-time description: Last update time of mutable fields such as validated/public. readOnly: true title: The properties of the version being updated; `training_shape_version.name` must be populated. description: The properties of the version being updated; `training_shape_version.name` must be populated. required: true tags: - Gateway /v1/accounts/{account_id}/users: get: summary: List Users operationId: Gateway_ListUsers responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListUsersResponse' parameters: - name: pageSize description: 'The maximum number of users to return. The maximum page_size is 200, values above 200 will be coerced to 200. If unspecified, the default is 50.' in: query required: false schema: type: integer format: int32 - name: pageToken description: 'A page token, received from a previous ListUsers call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListUsers must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: 'Only users satisfying the provided filter (if specified) will be returned. See https://google.aip.dev/160 for the filter grammar.' in: query required: false schema: type: string - name: orderBy description: 'A comma-separated list of fields to order by. e.g. "foo,bar" The default sort order is ascending. To specify a descending order for a field, append a " desc" suffix. e.g. "foo desc,bar" Subfields are specified with a "." character. e.g. "foo.bar" If not specified, the default order is by "name".' in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string tags: - Gateway post: summary: Create User operationId: Gateway_CreateUser responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayUser' parameters: - name: userId description: 'The user ID to use in the user name. e.g. my-user If not specified, a default ID is generated from user.email.' in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/gatewayUser' description: The properties of the user being created. required: true tags: - Gateway /v1/accounts/{account_id}/users/{user_id}: get: summary: Get User operationId: Gateway_GetUser responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayUser' parameters: - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: user_id in: path required: true description: The User Id schema: type: string tags: - Gateway patch: summary: Update User operationId: Gateway_UpdateUser responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayUser' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: user_id in: path required: true description: The User Id schema: type: string requestBody: content: application/json: schema: type: object properties: displayName: type: string description: 'Human-readable display name of the user. e.g. "Alice" Must be fewer than 64 characters long.' serviceAccount: type: boolean title: Whether this user is a service account (can only be set by admins) createTime: type: string format: date-time description: The creation time of the user. readOnly: true role: type: string description: 'The user''s role: admin, user, contributor, inference-user, or custom. When set to "custom", the user''s permissions are governed by permission_preset.' email: type: string description: The user's email address. state: $ref: '#/components/schemas/gatewayUserState' description: The state of the user. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Contains information about the user status. readOnly: true updateTime: type: string format: date-time description: The update time for the user. readOnly: true permissionPreset: type: string description: The permission preset for this user. Only valid when role is "custom". title: 'The properties of the User being updated. `user.name` must be populated with the updated resource''s name.' required: - role description: 'The properties of the User being updated. `user.name` must be populated with the updated resource''s name.' required: true tags: - Gateway /v1/accounts/{account_id}/users/{user_id}/apiKeys: get: summary: List API Keys operationId: Gateway_ListApiKeys responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayListApiKeysResponse' parameters: - name: pageSize description: Number of API keys to return in the response. Pagination support to be added. in: query required: false schema: type: integer format: int32 - name: pageToken description: Token for fetching the next page of results. Pagination support to be added. in: query required: false schema: type: string - name: filter description: Field for filtering results. in: query required: false schema: type: string - name: orderBy description: Field for ordering results. in: query required: false schema: type: string - name: readMask description: The fields to be returned in the response. If empty or "*", all fields will be returned. in: query required: false schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: user_id in: path required: true description: The User Id schema: type: string tags: - Gateway post: summary: Create API Key operationId: Gateway_CreateApiKey responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayApiKey' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: user_id in: path required: true description: The User Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayCreateApiKeyBody' required: true tags: - Gateway /v1/accounts/{account_id}/users/{user_id}/apiKeys/accounts/{account_id}/users/{user_id}: get: summary: Get API Key operationId: Gateway_GetApiKey responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayApiKey' parameters: - name: keyId description: The key ID for the API key. in: path required: true schema: type: string - name: account_id in: path required: true description: The Account Id schema: type: string - name: user_id in: path required: true description: The User Id schema: type: string tags: - Gateway /v1/accounts/{account_id}/users/{user_id}/apiKeys:delete: post: summary: Delete API Key operationId: Gateway_DeleteApiKey responses: '200': description: A successful response. content: application/json: schema: type: object properties: {} parameters: - name: account_id in: path required: true description: The Account Id schema: type: string - name: user_id in: path required: true description: The User Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayDeleteApiKeyBody' required: true tags: - Gateway /v1/accounts/{account_id}:testeval: post: summary: Similar to preview evaluation, but no need to create the evaluation entry first. operationId: Gateway_TestEvaluation responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/gatewayPreviewEvaluationResponse' parameters: - name: account_id in: path required: true description: The Account Id schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayTestEvaluationBody' required: true tags: - Gateway components: schemas: GatewayValidateDatasetUploadBody: type: object gatewayIdentityProvider: type: object properties: name: type: string title: 'The resource name of the identity provider. Format: accounts/{account}/identityProviders/{identity_provider}' readOnly: true displayName: type: string title: Display name for the identity provider createTime: type: string format: date-time title: Creation timestamp readOnly: true updateTime: type: string format: date-time title: Last update timestamp readOnly: true samlConfig: $ref: '#/components/schemas/gatewaySamlConfig' oidcConfig: $ref: '#/components/schemas/gatewayOidcConfig' tenantDomains: type: array items: type: string title: 'List of allowed domains for this identity provider Example: ["example.com", "example.co.uk", "example.de"] If not provided, domain will be derived from the account email' state: $ref: '#/components/schemas/gatewayIdentityProviderState' title: Current state of the identity provider readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Contains information about the identity provider status. readOnly: true domainUrl: type: string description: The domain URL. readOnly: true issuerUrl: type: string description: The OIDC issuer URL. readOnly: true clientId: type: string description: The OIDC client ID. readOnly: true enableJitUserProvisioning: type: boolean description: 'Enable Just-In-Time (JIT) user provisioning. When enabled, users are automatically created in the account on first SSO login if they don''t already exist. When disabled, users must be pre-provisioned before they can authenticate via SSO.' jitDefaultRole: type: string description: 'Default role assigned to JIT-provisioned users. Valid values: "admin", "user", "contributor", "inference-user". Only applies when enable_jit_user_provisioning is true and RBAC V2 is enabled. If empty or unset, defaults to "inference-user" (least privilege). If RBAC V2 is not enabled for the account, JIT users always get "user" role.' enforceSso: type: boolean title: 'Enforce SSO authentication and restrict account access to users with approved email domains. When enabled: - Users with email domains matching tenant_domains must authenticate via this identity provider - Users with other email domains are blocked (tenant_domains becomes an allowlist) - Superusers and API keys are exempt from this enforcement' enableIdpInitiatedSso: type: boolean description: 'Enable IdP-initiated SAML (Security Assertion Markup Language) single sign-on. When enabled, users can start the login flow from their identity provider''s portal (e.g., Okta app launcher) instead of from the Fireworks login page. Only supported for SAML identity providers.' gatewayDpoConfig: type: object properties: beta: type: number format: float description: DPO temperature parameter (beta in the paper). refCacheConcurrency: type: integer format: int32 description: Max concurrent reference forward passes during cache warm-up. refCacheBatchSize: type: integer format: int32 description: Number of preference pairs per reference forward call during caching. description: Hyperparameters for Direct Preference Optimization (DPO) training. gatewayGetDatasetDownloadEndpointResponse: type: object properties: filenameToSignedUrls: type: object additionalProperties: type: string title: Signed URLs for downloading dataset files gatewayTimeSeries: type: object properties: labels: type: object additionalProperties: type: string title: 'Labels for this time series (e.g. {"deployment": "deploy1", "instance": "pod1"})' values: type: array items: type: object $ref: '#/components/schemas/gatewayTimeSeriesPoint' title: Array of [timestamp, value] pairs for this series gatewayWeightedRandomStrategy: type: object description: Use replica count as weight. GatewayCreateEvaluatorBody: type: object properties: evaluator: $ref: '#/components/schemas/gatewayEvaluator' evaluatorId: type: string required: - evaluator gatewayValidateAssertionsResponse: type: object properties: status: type: string metricToErrors: type: object additionalProperties: $ref: '#/components/schemas/ValidateAssertionsResponseValidateAssertionError' title: 'Response for validating assertions. The metric_to_errors contains all metrics from request, and the error_messages contains all errors for the metric code. (could be empty which means no errors)' gatewayLedgerEntry: type: object properties: timestamp: type: string format: date-time description: The timestamp of the entry. value: type: string description: The contents of the entry. GatewayUndeleteDeploymentBody: type: object gatewayAutoTune: type: object properties: longPrompt: type: boolean description: If true, this deployment is optimized for long prompt lengths. gatewayPlacement: type: object properties: region: $ref: '#/components/schemas/gatewayRegion' description: The region where the deployment must be placed. multiRegion: $ref: '#/components/schemas/gatewayMultiRegion' description: The multi-region where the deployment must be placed. regions: type: array items: $ref: '#/components/schemas/gatewayRegion' title: The list of regions where the deployment must be placed description: 'The desired geographic region where the deployment must be placed. Exactly one field will be specified.' gatewaySecret: type: object properties: name: type: string title: 'name follows the convention accounts/account-id/secrets/unkey-key-id' keyName: type: string title: name of the key. In this case, it can be WOLFRAM_ALPHA_API_KEY value: type: string example: sk-1234567890abcdef description: 'The secret value. This field is INPUT_ONLY and will not be returned in GET or LIST responses for security reasons. The value is only accepted when creating or updating secrets.' required: - name - keyName gatewayAccountRateLimit: type: object properties: deployment: type: string title: Resource name of the deployment, e.g. accounts/my-account/deployments/my-deployment metric: $ref: '#/components/schemas/AccountRateLimitMetric' effectiveLimit: type: number format: double description: Enforced limit for this metric (per second; units depend on the metric). required: - deployment - metric - effectiveLimit gatewayListQuotasResponse: type: object properties: quotas: type: array items: type: object $ref: '#/components/schemas/gatewayQuota' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of quotas gatewayTrainingShapeVersion: type: object properties: name: type: string title: The resource name, e.g. accounts/.../trainingShapes/.../versions/{version_id} readOnly: true createTime: type: string format: date-time title: Creation time (used for ordering desc by default) readOnly: true snapshot: $ref: '#/components/schemas/gatewayTrainingShape' description: Full snapshot of the TrainingShape at this version. readOnly: true validated: type: boolean description: 'Whether this version has been validated through capacity tests. Only superusers can set this flag.' public: type: boolean description: If true, this version will be publicly readable. latestValidated: type: boolean description: If true, this version is the latest validated version (at most one per shape). readOnly: true updateTime: type: string format: date-time description: Last update time of mutable fields such as validated/public. readOnly: true title: 'A training shape version is a specific immutable snapshot of a training shape. Versions are immutable, created on updates, and deleted when the parent training shape is deleted.' gatewayAccountState: type: string enum: - STATE_UNSPECIFIED - CREATING - READY - UPDATING - DELETING default: STATE_UNSPECIFIED gatewayListTrainingShapesResponse: type: object properties: trainingShapes: type: array items: type: object $ref: '#/components/schemas/gatewayTrainingShape' nextPageToken: type: string totalSize: type: integer format: int32 gatewaySplitted: type: object properties: sourceDatasetId: type: string required: - sourceDatasetId gatewayPreviewEvaluatorResponse: type: object properties: results: type: array items: type: object $ref: '#/components/schemas/gatewayPreviewEvaluatorSampleResult' totalSamples: type: integer format: int32 totalRuntimeMs: type: string format: int64 stdout: type: array items: type: string stderr: type: array items: type: string AssertionAssertionType: type: string enum: - ASSERTION_TYPE_UNSPECIFIED - ASSERTION_TYPE_LLM - ASSERTION_TYPE_CODE default: ASSERTION_TYPE_UNSPECIFIED gatewayRedeemCreditCodeRequest: type: object properties: code: type: string description: The user-facing credit code string (e.g., "HACKATHON_2025"). name: type: string description: The resource name of the account redeeming the credit code. description: RedeemCreditCodeRequest is the request to redeem a credit code for an account. required: - code - name BaseModelDetailsCheckpointFormat: type: string enum: - CHECKPOINT_FORMAT_UNSPECIFIED - NATIVE - HUGGINGFACE - UNINITIALIZED default: CHECKPOINT_FORMAT_UNSPECIFIED gatewayTrainerShardingScheme: type: object properties: tensorParallelism: type: integer format: int32 description: Tensor-parallel degree. 0 means unspecified (server defaults to 1). pipelineParallelism: type: integer format: int32 description: Pipeline-parallel degree. 0 means unspecified (server defaults to 1). contextParallelism: type: integer format: int32 description: Context-parallel degree. 0 means unspecified (server defaults to 1). expertParallelism: type: integer format: int32 description: Expert-parallel degree. 0 means unspecified (server defaults to 1). sequenceParallelism: type: boolean description: Whether sequence parallelism should be enabled. description: Structured parallelism/sharding profile used by trainer launches. DeploymentShapePresetType: type: string enum: - PRESET_TYPE_UNSPECIFIED - MINIMAL - FAST - THROUGHPUT - FULL_PRECISION - AGENTIC_CODING - CHAT - SUMMARIZATION default: PRESET_TYPE_UNSPECIFIED title: "- MINIMAL: Preset for cheapest & most minimal type of deployment\n - FAST: Preset for fastest generation & TTFT deployment\n - THROUGHPUT: Preset for best throughput deployment\n - FULL_PRECISION: Preset for deployment with full precision for training & most accurate numerics\n - AGENTIC_CODING: Preset for autonomous code generation and analysis for development workflows\n - CHAT: Preset for interactive conversational AI for customer engagement\n - SUMMARIZATION: Preset for efficient document and content summarization" gatewayDeploymentShape: type: object properties: name: type: string title: The resource name of the deployment shape. e.g. accounts/my-account/deploymentShapes/my-deployment-shape readOnly: true displayName: type: string description: 'Human-readable display name of the deployment shape. e.g. "My Deployment Shape" Must be fewer than 64 characters long.' description: type: string description: The description of the deployment shape. Must be fewer than 1000 characters long. createTime: type: string format: date-time description: The creation time of the deployment shape. readOnly: true updateTime: type: string format: date-time description: The update time for the deployment shape. readOnly: true baseModel: type: string title: The base model name. e.g. accounts/fireworks/models/falcon-7b modelType: type: string description: The model type of the base model. readOnly: true parameterCount: type: string format: int64 description: The parameter count of the base model . readOnly: true acceleratorCount: type: integer format: int32 description: 'The number of accelerators used per replica. If not specified, the default is the estimated minimum required by the base model.' acceleratorType: $ref: '#/components/schemas/gatewayAcceleratorType' description: 'The type of accelerator to use. If not specified, the default is NVIDIA_A100_80GB.' precision: $ref: '#/components/schemas/DeploymentPrecision' description: The precision with which the model should be served. disableDeploymentSizeValidation: type: boolean description: If true, the deployment size validation is disabled. enableAddons: type: boolean description: If true, LORA addons are enabled for deployments created from this shape. draftTokenCount: type: integer format: int32 description: 'The number of candidate tokens to generate per step for speculative decoding. Default is the base model''s draft_token_count.' draftModel: type: string description: 'The draft model name for speculative decoding. e.g. accounts/fireworks/models/my-draft-model If empty, speculative decoding using a draft model is disabled. Default is the base model''s default_draft_model. Deprecated: set default_draft_model on the base model instead.' ngramSpeculationLength: type: integer format: int32 description: The length of previous input sequence to be considered for N-gram speculation. disableSpeculativeDecoding: type: boolean description: 'If true, speculative decoding is disabled for deployments created from this shape, even if the base model has default draft model settings.' enableSessionAffinity: type: boolean description: Whether to apply sticky routing based on `user` field. numLoraDeviceCached: type: integer format: int32 title: How many LORA adapters to keep on GPU side for caching maxContextLength: type: integer format: int32 description: 'The maximum context length supported by the model (context window). If set to 0 or not specified, the model''s default maximum context length will be used.' presetType: $ref: '#/components/schemas/DeploymentShapePresetType' description: Type of deployment shape for different deployment configurations. title: 'A deployment shape is a set of parameters that define the shape of a deployment. Deployments are created from a deployment shape.' required: - baseModel gatewayListPricingPlansResponse: type: object properties: pricingPlans: type: array items: type: object $ref: '#/components/schemas/gatewayPricingPlan' title: The list of pricing plans nextPageToken: type: string title: Token to retrieve the next page of results totalSize: type: integer format: int32 title: The total number of pricing plans matching the query gatewayTransformed: type: object properties: sourceDatasetId: type: string filter: type: string originalFormat: $ref: '#/components/schemas/DatasetFormat' required: - sourceDatasetId gatewayMultiRegion: type: string enum: - MULTI_REGION_UNSPECIFIED - GLOBAL - US - EUROPE - APAC default: MULTI_REGION_UNSPECIFIED gatewayGetModelVersionCountResponse: type: object properties: count: type: integer format: int32 gatewayDeployedModelState: type: string enum: - STATE_UNSPECIFIED - UNDEPLOYING - DEPLOYING - DEPLOYED - UPDATING default: STATE_UNSPECIFIED description: "- UNDEPLOYING: The model is being undeployed.\n - DEPLOYING: The model is being deployed.\n - DEPLOYED: The model is deployed and ready for inference.\n - UPDATING: there are updates happening with the deployed model" gatewayStatus: type: object properties: code: $ref: '#/components/schemas/gatewayCode' description: The status code. message: type: string description: A developer-facing error message in English. title: Mimics [https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto] EvaluatorSourceType: type: string enum: - TYPE_UNSPECIFIED - TYPE_UPLOAD - TYPE_GITHUB - TYPE_TEMPORARY default: TYPE_UNSPECIFIED title: "- TYPE_UPLOAD: Source code is uploaded by the user\n - TYPE_GITHUB: Source code is from a GitHub repository\n - TYPE_TEMPORARY: Source code is a temporary UI uploaded code" gatewayReplicaStats: type: object properties: pendingSchedulingReplicaCount: type: integer format: int32 description: Number of replicas waiting to be scheduled to a node. readOnly: true downloadingModelReplicaCount: type: integer format: int32 description: Number of replicas downloading model weights. readOnly: true initializingReplicaCount: type: integer format: int32 description: Number of replicas initializing the model server. readOnly: true readyReplicaCount: type: integer format: int32 description: Number of replicas that are ready and serving traffic. readOnly: true revocableReplicaCount: type: integer format: int32 title: The number of replicas that can be revoked readOnly: true partialReplicaCount: type: number format: float title: Number of partial replicas before a full replica is ready readOnly: true gatewayListTrailsResponse: type: object properties: trails: type: array items: type: object $ref: '#/components/schemas/gatewayTrail' title: The list of trails nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of trails title: Response for listing trails gatewayTrainingSessionState: type: string enum: - TRAINING_SESSION_STATE_UNSPECIFIED - READY - FAILED default: TRAINING_SESSION_STATE_UNSPECIFIED ValidateAssertionsResponseValidateAssertionError: type: object properties: errorMessages: type: array items: type: string gatewayAccountUsage: type: object properties: serverlessCosts: type: array items: type: object $ref: '#/components/schemas/AccountUsageServerlessUsage' title: List of serverless cost data dedicatedCosts: type: array items: type: object $ref: '#/components/schemas/AccountUsageDedicatedDeploymentUsage' title: List of dedicated deployment cost data title: Response with model costs by deployment type ModelSnapshotType: type: string enum: - FULL_SNAPSHOT - INCREMENTAL_SNAPSHOT default: FULL_SNAPSHOT gatewayProvider: type: object properties: id: type: string title: Provider ID (e.g., "openai:gpt-4") config: type: object additionalProperties: type: string title: Optional provider-specific configuration label: type: string title: Optional label for the provider title: Represents an LLM provider gatewayLineItem: type: object properties: category: type: string title: Category name (e.g., "Audio Transcription", "Text Completion") groupingKey: type: string title: Primary grouping key (e.g., "model", "model_bucket") groupingValue: type: string title: Primary grouping value (e.g., "whisper-v3", "llama-v3p3-70b-instruct") secondaryGroupingKey: type: string title: Secondary grouping key (e.g., "is_batch") secondaryGroupingValue: type: string title: Secondary grouping value (e.g., "true", "false") quantity: type: number format: double title: Quantity consumed unitAmount: $ref: '#/components/schemas/typeMoney' title: Unit amount (price per unit) totalCost: $ref: '#/components/schemas/typeMoney' title: Total cost for this line item title: Individual billing line item gatewayAuditLogEntry: type: object properties: id: type: string description: Audit log entry id. method: type: string description: The gRPC method name. principal: type: string description: The email of the principal user who performed this action. payload: type: object description: The payload as JSON. status: $ref: '#/components/schemas/gatewayStatus' description: The response status. timestamp: type: string format: date-time description: The timestamp when the request was received. message: type: string title: Optional message describing the audit log entry resource: type: string title: The resource being operated on (e.g. accounts/123) isAdminAction: type: boolean title: Whether this action was taken by an admin and should not be shown to regular users userAgent: type: string description: The user agent that made the request (e.g. "firectl/1.2.3 grpc-go/1.73.0"). clientIp: type: string description: The client IP when known. apiKeyId: type: string description: Unkey API key ID when the action was authenticated with an API key (empty for bearer/OIDC). AccountRateLimitMetric: type: string enum: - METRIC_UNSPECIFIED - TOKENS_GENERATED - TOKENS_PROMPT - TOKENS_CACHE_ADJUSTED_PROMPT default: METRIC_UNSPECIFIED description: Which rate-limit metric this row describes. gatewayWeightPrecision: type: string enum: - WEIGHT_PRECISION_UNSPECIFIED - BFLOAT16 - INT8 - NF4 - FP8 - FP4_FP8 default: WEIGHT_PRECISION_UNSPECIFIED description: "The weight precision for model training/inference.\n\n - BFLOAT16: no quantization applied\n - INT8: enable 8-bit quantization with LLM.int8()\n - NF4: enable 4-bit quantization with LLM.nf4()\n - FP8: base model quantization in FP8\n - FP4_FP8: base model linear module quantization in FP4, mixed with experts and some special keys/layers in FP8." gatewayApiKey: type: object properties: keyId: type: string description: Unique identifier (Key ID) for the API key, used primarily for deletion. readOnly: true displayName: type: string description: Display name for the API key, defaults to "default" if not specified. key: type: string description: The actual API key value, only available upon creation and not stored thereafter. readOnly: true createTime: type: string format: date-time description: Timestamp indicating when the API key was created. readOnly: true secure: type: boolean description: 'Indicates whether the plaintext value of the API key is unknown to Fireworks. If true, Fireworks does not know this API key''s plaintext value. If false, Fireworks does know the plaintext value.' readOnly: true email: type: string description: Email of the user who owns this API key. readOnly: true prefix: type: string title: The first few characters of the API key to visually identify it readOnly: true expireTime: type: string format: date-time description: Timestamp indicating when the API key will expire. If not set, the key never expires. annotations: type: object additionalProperties: type: string description: Optional key-value annotations for this API key. lastUsed: type: string format: date-time description: Timestamp indicating when the API key was last used. Not set if the key has never been used. readOnly: true GatewayDeployModelVersionBody: type: object properties: deployment: type: string title: The deployment name to deploy the model version to rolloutStrategy: $ref: '#/components/schemas/gatewayRolloutStrategy' title: The rollout strategy to use when deploying the model version required: - deployment - rolloutStrategy GatewayValidateAssertionsBody: type: object properties: assertions: type: array items: type: object $ref: '#/components/schemas/gatewayAssertion' description: Validate the code assertions. Recommended before creating the evaluation. required: - assertions gatewayListSupervisedFineTuningJobsResponse: type: object properties: supervisedFineTuningJobs: type: array items: type: object $ref: '#/components/schemas/gatewaySupervisedFineTuningJob' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of fine-tuning jobs gatewayBatchInferenceJobInferenceParameters: type: object properties: maxTokens: type: integer format: int32 description: Maximum number of tokens to generate per response. temperature: type: number format: float description: Sampling temperature, typically between 0 and 2. topP: type: number format: float description: Top-p sampling parameter, typically between 0 and 1. n: type: integer format: int32 description: Number of response candidates to generate per input. extraBody: type: string description: 'Additional parameters for the inference request as a JSON string. For example: "{\"stop\": [\"\\n\"]}".' topK: type: integer format: int32 description: Top-k sampling parameter, limits the token selection to the top k tokens. title: BIJ inference parameters gatewayEvalProtocol: type: object GatewayResumeReinforcementFineTuningJobBody: type: object gatewayGetBillingSummaryResponse: type: object properties: lineItems: type: array items: type: object $ref: '#/components/schemas/gatewayLineItem' title: Individual billing line items title: Response for billing summary endpoint gatewayRolloutStrategy: type: string enum: - ROLLOUT_STRATEGY_UNSPECIFIED - ROLLOUT_STRATEGY_STANDARD - ROLLOUT_STRATEGY_HOT_RELOAD default: ROLLOUT_STRATEGY_UNSPECIFIED description: "The rollout strategy to use when deploying the model version.\n\n - ROLLOUT_STRATEGY_STANDARD: Standard rollout strategy updates the deployment using a normal k8s rolling restart\n - ROLLOUT_STRATEGY_HOT_RELOAD: Hot reload rollout strategy updates the deployment by hot reloading the model version on the existing replicas of the deployment" gatewayDeveloperPassState: type: string enum: - STATE_UNSPECIFIED - ACTIVE - EXPIRED default: STATE_UNSPECIFIED gatewayListClustersResponse: type: object properties: clusters: type: array items: type: object $ref: '#/components/schemas/gatewayCluster' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of clusters. GatewayCancelSupervisedFineTuningJobBody: type: object gatewayListGenericDeploymentTypeVersionsResponse: type: object properties: genericDeploymentTypeVersions: type: array items: type: object $ref: '#/components/schemas/gatewayGenericDeploymentTypeVersion' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of generic deployment type versions. gatewayListReinforcementFineTuningJobsResponse: type: object properties: reinforcementFineTuningJobs: type: array items: type: object $ref: '#/components/schemas/gatewayReinforcementFineTuningJob' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of fine-tuning jobs gatewayListAccountsResponse: type: object properties: accounts: type: array items: type: object $ref: '#/components/schemas/gatewayAccount' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of accounts. gatewaySamlConfig: type: object properties: metadataUrl: type: string title: SAML metadata URL (must be publicly accessible) metadataXml: type: string title: SAML metadata XML content (use when metadata URL is not publicly accessible) description: 'SAML Configuration Exactly one of metadata_url or metadata_xml must be provided.' gatewayDeployment: type: object properties: name: type: string title: The resource name of the deployment. e.g. accounts/my-account/deployments/my-deployment readOnly: true displayName: type: string description: 'Human-readable display name of the deployment. e.g. "My Deployment" Must be fewer than 64 characters long.' description: type: string description: Description of the deployment. createTime: type: string format: date-time description: The creation time of the deployment. readOnly: true expireTime: type: string format: date-time description: 'Deprecated: This field is deprecated and no longer causes auto-deletion. The time at which this deployment will automatically be deleted.' purgeTime: type: string format: date-time description: The time at which the resource will be hard deleted. readOnly: true deleteTime: type: string format: date-time description: The time at which the resource will be soft deleted. readOnly: true state: $ref: '#/components/schemas/gatewayDeploymentState' description: The state of the deployment. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Detailed status information regarding the most recent operation. readOnly: true annotations: type: object additionalProperties: type: string description: 'Annotations to identify deployment properties. Key/value pairs may be used by external tools or other services. The "image-tag-reason" key is redacted from API responses for non-superuser principals.' minReplicaCount: type: integer format: int32 description: 'The minimum number of replicas. If not specified, the default is 0.' maxReplicaCount: type: integer format: int32 description: 'The maximum number of replicas. If not specified, the default is max(min_replica_count, 1). May be set to 0 to downscale the deployment to 0.' maxWithRevocableReplicaCount: type: integer format: int32 description: 'max_with_revocable_replica_count is max replica count including revocable capacity. The max revocable capacity will be max_with_revocable_replica_count - max_replica_count.' desiredReplicaCount: type: integer format: int32 description: 'The desired number of replicas for this deployment. This represents the target replica count that the system is trying to achieve.' readOnly: true replicaCount: type: integer format: int32 readOnly: true autoscalingPolicy: $ref: '#/components/schemas/gatewayAutoscalingPolicy' baseModel: type: string title: The base model name. e.g. accounts/fireworks/models/falcon-7b acceleratorCount: type: integer format: int32 description: 'The number of accelerators used per replica. If not specified, the default is the estimated minimum required by the base model.' acceleratorType: $ref: '#/components/schemas/gatewayAcceleratorType' description: The type of accelerator to use. precision: $ref: '#/components/schemas/DeploymentPrecision' description: The precision with which the model should be served. cluster: type: string description: If set, this deployment is deployed to a cloud-premise cluster. readOnly: true enableAddons: type: boolean description: If true, PEFT addons are enabled for this deployment. draftTokenCount: type: integer format: int32 description: 'The number of candidate tokens to generate per step for speculative decoding. Default is the base model''s draft_token_count. Set CreateDeploymentRequest.disable_speculative_decoding to false to disable this behavior.' draftModel: type: string description: 'The draft model name for speculative decoding. e.g. accounts/fireworks/models/my-draft-model If empty, speculative decoding using a draft model is disabled. Default is the base model''s default_draft_model. Set CreateDeploymentRequest.disable_speculative_decoding to false to disable this behavior.' ngramSpeculationLength: type: integer format: int32 description: The length of previous input sequence to be considered for N-gram speculation. enableSessionAffinity: type: boolean description: 'Whether to apply sticky routing based on `user` field. Serverless will be set to true when creating deployment.' directRouteApiKeys: type: array items: type: string description: The set of API keys used to access the direct route deployment. If direct routing is not enabled, this field is unused. numPeftDeviceCached: type: integer format: int32 title: How many peft adapters to keep on gpu side for caching directRouteType: $ref: '#/components/schemas/gatewayDirectRouteType' description: If set, this deployment will expose an endpoint that bypasses the Fireworks API gateway. directRouteHandle: type: string description: "The handle for calling a direct route. The meaning of the handle depends on the\ndirect route type of the deployment:\n INTERNET -> The host name for accessing the deployment\n GCP_PRIVATE_SERVICE_CONNECT -> The service attachment name used to create the PSC endpoint.\n AWS_PRIVATELINK -> The service name used to create the VPC endpoint." readOnly: true deploymentTemplate: type: string description: 'The name of the deployment template to use for this deployment. Only available to enterprise accounts.' autoTune: $ref: '#/components/schemas/gatewayAutoTune' description: The performance profile to use for this deployment. placement: $ref: '#/components/schemas/gatewayPlacement' description: 'The desired geographic region where the deployment must be placed. If unspecified, the default is the GLOBAL multi-region.' region: $ref: '#/components/schemas/gatewayRegion' description: 'The geographic region where the deployment is presently located. This region may change over time, but within the `placement` constraint.' readOnly: true maxContextLength: type: integer format: int32 description: 'The maximum context length supported by the model (context window). If set to 0 or not specified, the model''s default maximum context length will be used.' updateTime: type: string format: date-time description: The update time for the deployment. readOnly: true disableDeploymentSizeValidation: type: boolean description: Whether the deployment size validation is disabled. enableHotLoad: type: boolean description: Whether to use hot load for this deployment. hotLoadBucketType: $ref: '#/components/schemas/DeploymentHotLoadBucketType' title: hot load bucket name, indicate what type of storage to use for hot load enableHotReloadLatestAddon: type: boolean description: Allows up to 1 addon at a time to be loaded, and will merge it into the base model. deploymentShape: type: string description: 'The name of the deployment shape that this deployment is using. On the server side, this will be replaced with the deployment shape version name.' activeModelVersion: type: string description: The model version that is currently active and applied to running replicas of a deployment. targetModelVersion: type: string description: 'The target model version that is being rolled out to the deployment. In a ready steady state, the target model version is the same as the active model version.' replicaStats: $ref: '#/components/schemas/gatewayReplicaStats' description: 'Per-replica deployment status counters. Provides visibility into the deployment process by tracking replicas in different stages of the deployment lifecycle.' readOnly: true hotLoadBucketUrl: type: string title: 'For hot load bucket location e.g for s3: s3://mybucket/; for GCS: gs://mybucket/, no trailing slash' pricingPlanId: type: string description: 'Optional pricing plan ID for custom billing configuration. If set, this deployment will use the pricing plan''s billing rules instead of default billing behavior.' hotLoadTrainerJob: type: string title: 'Trainer job whose hot_load_bucket_url this deployment should use. At creation, the trainer''s bucket URL is copied into this deployment''s hot_load_bucket_url. The deployment continues working after the trainer is deleted (snapshot-at-creation semantics). Format: accounts/{account}/rlorTrainerJobs/{job}' required: - baseModel GatewayTestEvaluationBody: type: object properties: evaluation: $ref: '#/components/schemas/gatewayEvaluation' title: The draft evaluation to test sampleData: type: string title: Sample data in JSON format (array of samples) required: - evaluation - sampleData GatewayCreateDatasetBody: type: object properties: dataset: $ref: '#/components/schemas/gatewayDataset' datasetId: type: string sourceDatasetId: type: string title: If set, indicates we are creating a new dataset by filtering this existing dataset ID filter: type: string title: Filter condition (SQL-like WHERE clause) to apply to the source dataset required: - dataset - datasetId gatewayGetModelDownloadEndpointResponse: type: object properties: filenameToSignedUrls: type: object additionalProperties: type: string title: Signed URLs for for downloading model files CodeAssertionExecutionOptions: type: object properties: timeoutMs: type: integer format: int32 title: Timeout in milliseconds, max 5 minutes memoryLimitMb: type: integer format: int32 title: Memory limit in MB, max 1GB envVars: type: object additionalProperties: type: string title: Environment variables title: Options for execution gatewayListRlorTrainerJobsResponse: type: object properties: rlorTrainerJobs: type: array items: type: object $ref: '#/components/schemas/gatewayRlorTrainerJob' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of fine-tuning jobs gatewayListBatchInferenceJobsResponse: type: object properties: batchInferenceJobs: type: array items: type: object $ref: '#/components/schemas/gatewayBatchInferenceJob' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of batch inference jobs. gatewayIdentityProviderState: type: string enum: - STATE_UNSPECIFIED - CREATING - READY - UPDATING - DELETING default: STATE_UNSPECIFIED title: State of the identity provider gatewayPromoteCheckpointResponse: type: object properties: model: $ref: '#/components/schemas/gatewayModel' description: The created model. gatewayCriterion: type: object properties: type: $ref: '#/components/schemas/gatewayCriterionType' name: type: string description: type: string codeSnippets: $ref: '#/components/schemas/gatewayCodeSnippets' title: Criteria for code snippet ModelKind: type: string enum: - KIND_UNSPECIFIED - HF_BASE_MODEL - HF_PEFT_ADDON - HF_TEFT_ADDON - FLUMINA_BASE_MODEL - FLUMINA_ADDON - DRAFT_ADDON - FIRE_AGENT - LIVE_MERGE - CUSTOM_MODEL - EMBEDDING_MODEL - SNAPSHOT_MODEL default: KIND_UNSPECIFIED description: "- HF_BASE_MODEL: An LLM base model.\n - HF_PEFT_ADDON: A parameter-efficent fine-tuned addon.\n - HF_TEFT_ADDON: A token-eficient fine-tuned addon.\n - FLUMINA_BASE_MODEL: A Flumina base model.\n - FLUMINA_ADDON: A Flumina addon.\n - DRAFT_ADDON: A draft model used for speculative decoding in a deployment.\n - FIRE_AGENT: A FireAgent model.\n - LIVE_MERGE: A live-merge model.\n - CUSTOM_MODEL: A customized model\n - EMBEDDING_MODEL: An Embedding model.\n - SNAPSHOT_MODEL: A snapshot model." ReinforcementLearningLossConfigMethod: type: string enum: - METHOD_UNSPECIFIED - GRPO - DAPO - DPO - ORPO - GSPO_TOKEN default: METHOD_UNSPECIFIED title: "- METHOD_UNSPECIFIED: Defaults to GRPO\n - GRPO: Group Relative Policy Optimization (default for preference jobs)\n - DAPO: Decoupled Alignment Preference Optimization\n - DPO: Direct Preference Optimization\n - ORPO: Odds Ratio Preference Optimization (reference-free)\n - GSPO_TOKEN: Group Sequence Policy Optimization (token-level)" gatewayDeploymentState: type: string enum: - STATE_UNSPECIFIED - CREATING - READY - DELETING - FAILED - UPDATING - DELETED default: STATE_UNSPECIFIED description: "- CREATING: The deployment is still being created.\n - READY: The deployment is ready to be used.\n - DELETING: The deployment is being deleted.\n - FAILED: The deployment failed to be created. See the `status` field for\nadditional details on why it failed.\n - UPDATING: There are in-progress updates happening with the deployment.\n - DELETED: The deployment is soft-deleted." gatewayDeploymentShapeVersion: type: object properties: name: type: string title: The resource name of the deployment shape version. e.g. accounts/my-account/deploymentShapes/my-deployment-shape/versions/{version_id} readOnly: true createTime: type: string format: date-time description: The creation time of the deployment shape version. Lists will be ordered by this field. readOnly: true snapshot: $ref: '#/components/schemas/gatewayDeploymentShape' description: Full snapshot of the Deployment Shape at this version. readOnly: true validated: type: boolean description: If true, this version has been validated. public: type: boolean description: If true, this version will be publicly readable. latestValidated: type: boolean description: 'If true, this version is the latest validated version. Only one version of the shape can be the latest validated version.' readOnly: true title: 'A deployment shape version is a specific version of a deployment shape. Versions are immutable, only created on updates and deleted when the deployment shape is deleted.' gatewayListGenericDeploymentsResponse: type: object properties: genericDeployments: type: array items: type: object $ref: '#/components/schemas/gatewayGenericDeployment' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of generic deployment. GatewayCreateEvaluationJobBody: type: object properties: evaluationJob: $ref: '#/components/schemas/gatewayEvaluationJob' evaluationJobId: type: string required: - evaluationJob PricingPlanBillingType: type: string enum: - BILLING_TYPE_UNSPECIFIED - TOKEN_USAGE - ACCELERATOR_HOURS default: BILLING_TYPE_UNSPECIFIED GatewayGetModelUploadEndpointBody: type: object properties: filenameToSize: type: object additionalProperties: type: string format: int64 description: A mapping from the file name to its size in bytes. enableResumableUpload: type: boolean description: If true, enable resumable upload instead of PUT. readMask: type: string description: The fields to be returned in the response. If empty or "*", all fields will be returned. required: - filenameToSize gatewayGetLedgerResponse: type: object properties: ledger: type: array items: type: object $ref: '#/components/schemas/gatewayLedgerEntry' description: The contents of the ledger. gatewayValidateModelUploadResponse: type: object properties: warnings: type: array items: type: string title: Warnings generated during validation (e.g., unknown config fields) GatewayPrepareModelBody: type: object properties: precision: $ref: '#/components/schemas/DeploymentPrecision' title: the precision with which the model will be prepared readMask: type: string title: 'The fields to be returned in the response. If empty or "*", all fields will be returned. This is added as is used in getResource()' AccountUsageDedicatedDeploymentUsage: type: object properties: deploymentId: type: string title: The deployment ID acceleratorType: type: string title: GPU type / accelerator type acceleratorSeconds: type: string format: int64 title: Accelerator seconds startTime: type: string format: date-time description: 'Start timestamp of the usage. Note: Dedicated deployment usage events are aggregated daily. Only the date portion (YYYY-MM-DD) is used; the time portion is ignored.' endTime: type: string format: date-time description: 'End timestamp of the usage. Note: Dedicated deployment usage events are aggregated daily. Only the date portion (YYYY-MM-DD) is used; the time portion is ignored.' baseModel: type: string title: Base model of the deployment usageType: type: string title: Usage type to distinguish between different deployment types placement: type: string description: 'Deployment placement as a string (e.g. US_IOWA_1, GLOBAL, US, EUROPE). Set to REGION_UNSPECIFIED when unknown.' group: type: object additionalProperties: type: string description: Group-by dimension key-values (deployment_name, accelerator_type, team, project, environment). description: One dedicated deployment usage aggregation bucket. gatewayCluster: type: object properties: name: type: string title: The resource name of the cluster. e.g. accounts/my-account/clusters/my-cluster readOnly: true displayName: type: string description: 'Human-readable display name of the cluster. e.g. "My Cluster" Must be fewer than 64 characters long.' createTime: type: string format: date-time description: The creation time of the cluster. readOnly: true eksCluster: $ref: '#/components/schemas/gatewayEksCluster' fakeCluster: $ref: '#/components/schemas/gatewayFakeCluster' state: $ref: '#/components/schemas/gatewayClusterState' description: The current state of the cluster. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Detailed information about the current status of the cluster. readOnly: true updateTime: type: string format: date-time description: The update time for the cluster. readOnly: true gatewayWandbConfig: type: object properties: enabled: type: boolean description: Whether to enable wandb logging. apiKey: type: string description: The API key for the wandb service. project: type: string description: The project name for the wandb service. entity: type: string description: The entity name for the wandb service. runId: type: string description: The run ID for the wandb service. url: type: string description: The URL for the wandb service. readOnly: true description: 'WandbConfig is the configuration for the Weights & Biases (wandb) logging which will be used by a training job.' gatewayOrpoConfig: type: object properties: lambda: type: number format: float description: Weight for the ORPO odds-ratio loss term. description: Hyperparameters for Odds Ratio Preference Optimization (ORPO) training. gatewayGetDeploymentMetricsResponse: type: object properties: metrics: type: object additionalProperties: type: number format: double title: Map of metric name to metric value for the specified time range AccountAccountType: type: string enum: - ACCOUNT_TYPE_UNSPECIFIED - ENTERPRISE default: ACCOUNT_TYPE_UNSPECIFIED gatewayDirectRouteType: type: string enum: - DIRECT_ROUTE_TYPE_UNSPECIFIED - INTERNET - GCP_PRIVATE_SERVICE_CONNECT - AWS_PRIVATELINK default: DIRECT_ROUTE_TYPE_UNSPECIFIED title: "- DIRECT_ROUTE_TYPE_UNSPECIFIED: No direct routing\n - INTERNET: The direct route is exposed via the public internet\n - GCP_PRIVATE_SERVICE_CONNECT: The direct route is exposed via GCP Private Service Connect\n - AWS_PRIVATELINK: The direct route is exposed via AWS PrivateLink" GatewayDebugReinforcementFineTuningJobBody: type: object gatewayPolicySettings: type: object properties: name: type: string title: Resource name, e.g. accounts/my-account/policySettings readOnly: true rules: type: array items: type: object $ref: '#/components/schemas/PolicySettingsModelAccessRule' description: Full model allowlist (governance doc §1); empty means default-deny for all models. updateTime: type: string format: date-time description: The update time for the policy settings resource. readOnly: true title: 'Account-level policy settings (singleton per account). Holds model access and may grow with other policy sections (e.g. regional residency) without separate top-level API resources.' gatewayValidateModelConfigRequest: type: object properties: configJson: type: string description: The config JSON of the model. tokenizerConfigJson: type: string description: The tokenizer config JSON of the model. required: - configJson GatewayAliasEvaluatorVersionBody: type: object properties: aliasId: type: string description: The alias ID (e.g., "current", a semver tag, etc.). description: Assigns or updates a user-specified alias for a given revision. required: - aliasId googlelongrunningOperation: type: object properties: name: type: string description: 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.' metadata: $ref: '#/components/schemas/protobufAny' description: 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.' done: type: boolean description: 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.' error: $ref: '#/components/schemas/googlerpcStatus' description: The error result of the operation in case of failure or cancellation. response: $ref: '#/components/schemas/protobufAny' description: 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.' description: 'This resource represents a long-running operation that is the result of a network API call.' gatewayBatchInferenceJob: type: object properties: name: type: string title: The resource name of the batch inference job. e.g. accounts/my-account/batchInferenceJobs/my-batch-inference-job readOnly: true displayName: type: string title: Human-readable display name of the batch inference job. e.g. "My Batch Inference Job" createTime: type: string format: date-time description: The creation time of the batch inference job. readOnly: true createdBy: type: string description: The email address of the user who initiated this batch inference job. readOnly: true state: $ref: '#/components/schemas/gatewayJobState' description: JobState represents the state an asynchronous job can be in. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true model: type: string description: The name of the model to use for inference. This is required, except when continued_from_job_name is specified. inputDatasetId: type: string description: The name of the dataset used for inference. This is required, except when continued_from_job_name is specified. outputDatasetId: type: string description: The name of the dataset used for storing the results. This will also contain the error file. inferenceParameters: $ref: '#/components/schemas/gatewayBatchInferenceJobInferenceParameters' description: Parameters controlling the inference process. updateTime: type: string format: date-time description: The update time for the batch inference job. readOnly: true precision: $ref: '#/components/schemas/DeploymentPrecision' description: 'The precision with which the model should be served. If PRECISION_UNSPECIFIED, a default will be chosen based on the model.' jobProgress: $ref: '#/components/schemas/gatewayJobProgress' description: Job progress. readOnly: true continuedFromJobName: type: string description: 'The resource name of the batch inference job that this job continues from. Used for lineage tracking to understand job continuation chains.' DeploymentPrecision: type: string enum: - PRECISION_UNSPECIFIED - FP16 - FP8 - FP8_MM - FP8_AR - FP8_MM_KV_ATTN - FP8_KV - FP8_MM_V2 - FP8_V2 - FP8_MM_KV_ATTN_V2 - NF4 - FP4 - BF16 - FP4_BLOCKSCALED_MM - FP4_MX_MOE default: PRECISION_UNSPECIFIED title: '- PRECISION_UNSPECIFIED: if left unspecified we will treat this as a legacy model created before self serve' PricingPlanAcceleratorHourBillingConfig: type: object properties: acceleratorType: $ref: '#/components/schemas/gatewayAcceleratorType' title: Specific accelerator type this applies to acceleratorHourPrice: $ref: '#/components/schemas/typeMoney' title: Price per accelerator hour title: Configuration for accelerator-hour billing required: - acceleratorType - acceleratorHourPrice gatewayTrainingShape: type: object properties: name: type: string title: The resource name of the training shape. e.g. accounts/my-account/trainingShapes/my-training-shape readOnly: true displayName: type: string description: 'Human-readable display name of the training shape. e.g. "Llama3 70B H200 BF16" Must be fewer than 64 characters long.' description: type: string description: The description of the training shape. Must be fewer than 1000 characters long. createTime: type: string format: date-time description: The creation time of the training shape. readOnly: true updateTime: type: string format: date-time description: The update time for the training shape. readOnly: true baseModel: type: string title: The base model name. e.g. accounts/fireworks/models/llama-3-70b deploymentShapeVersion: type: string title: 'The validated deployment shape version used for numerics verification. e.g. accounts/fireworks/deploymentShapes/rft-qwen3-4b/versions/abcd1234' trainerImageTag: type: string description: The validated trainer runtime image tag used for numerics verification. trainerMode: $ref: '#/components/schemas/TrainingShapeTrainerMode' description: Trainer mode used for the validated launch profile. nodeCount: type: integer format: int32 description: Node count validated for the launch profile. trainerShardingScheme: $ref: '#/components/schemas/gatewayTrainerShardingScheme' description: Structured sharding/parallelism profile validated for the trainer launch. modelType: type: string description: The model type of the base model (e.g. "llama", "qwen"). readOnly: true parameterCount: type: string format: int64 description: The parameter count of the base model, used for billion-parameter bucket matching. readOnly: true acceleratorType: $ref: '#/components/schemas/gatewayAcceleratorType' description: The type of accelerator to use. acceleratorCount: type: integer format: int32 description: Total number of accelerators used by the job. baseModelWeightPrecision: $ref: '#/components/schemas/gatewayWeightPrecision' description: Default precision for base weights during training (prefer BF16; QLoRA/QAT omitted). maxSupportedContextLength: type: integer format: int32 description: Capacity limits validated for this shape. title: 'A training shape standardizes hardware/precision/parallelism defaults for training jobs of a given base model family and parameter bucket.' required: - baseModel - trainerImageTag gatewayTrailMetrics: type: object properties: totalTraceCount: type: string format: int64 description: Total number of traces collected for this trail. readOnly: true firstTraceTime: type: string format: date-time description: Timestamp of the first trace in this trail. readOnly: true lastTraceTime: type: string format: date-time description: Timestamp of the most recent trace in this trail. readOnly: true promptTokenCount: type: string format: int64 description: Number of prompt tokens across all traces in this trail. readOnly: true completionTokenCount: type: string format: int64 description: Number of completion tokens across all traces in this trail. readOnly: true totalTokenCount: type: string format: int64 description: Number of total tokens across all traces in this trail. readOnly: true description: Metrics for a trail, fetched from the tracing service. gatewayPreviewEvaluationResult: type: object properties: success: type: boolean title: The input sample reason: type: string title: Output from the evaluation run score: type: number format: double description: 'Score (if applicable) Deprecated: Use metrics field instead.' messages: type: array items: type: object title: messages, which can be any kind of object metrics: type: object additionalProperties: type: number format: double title: Metrics from the evaluation run title: A single evaluation result from a preview gatewayRouterState: type: string enum: - STATE_UNSPECIFIED - CREATING - READY - UPDATING - DELETING default: STATE_UNSPECIFIED description: "- CREATING: The router is being created.\n - READY: The router is ready for access.\n - UPDATING: There are in-progress updates happening with the router.\n - DELETING: The router is being deleted." GatewaySplitDatasetBody: type: object properties: chunkSize: type: integer format: int32 title: Required. The size of each chunk (minimum 200) parent: type: string description: The parent account ID of the requester. title: Request message for splitting a dataset into chunks gatewayGenericDeploymentTypeVersion: type: object properties: name: type: string title: The resource name of the generic deployment type version. e.g. accounts/{AccountId}/genericDeploymentTypes/{GenericDeploymentTypeId}/versions/{VersionId} readOnly: true createTime: type: string format: date-time description: The creation time of the generic deployment type version. Lists will be ordered by this field. readOnly: true snapshot: $ref: '#/components/schemas/gatewayGenericDeploymentType' description: Full snapshot of the GenericDeploymentType at this version. readOnly: true GatewayImportModelBody: type: object properties: awsS3Source: $ref: '#/components/schemas/gatewayAwsS3ModelSource' description: 'AWS S3 source details. Must be set when importing from AWS S3.' azureBlobSource: $ref: '#/components/schemas/gatewayAzureBlobModelSource' description: 'Azure Blob Storage source details. Must be set when importing from Azure Blob Storage.' GatewayGetEvaluatorUploadEndpointBody: type: object properties: filenameToSize: type: object additionalProperties: type: string format: int64 readMask: type: string required: - filenameToSize gatewayRlorTrainerJob: type: object properties: name: type: string readOnly: true displayName: type: string createTime: type: string format: date-time readOnly: true completedTime: type: string format: date-time readOnly: true dataset: type: string description: The name of the dataset used for training. evaluationDataset: type: string description: The name of a separate dataset to use for evaluation. evalAutoCarveout: type: boolean description: Whether to auto-carve the dataset for eval. state: $ref: '#/components/schemas/gatewayJobState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true createdBy: type: string description: The email address of the user who initiated this fine-tuning job. readOnly: true trainingConfig: $ref: '#/components/schemas/gatewayBaseTrainingConfig' description: Common training configurations. rewardWeights: type: array items: type: string description: A list of reward metrics to use for training in format of "=". wandbConfig: $ref: '#/components/schemas/gatewayWandbConfig' description: The Weights & Biases team/user account for logging training progress. awsS3Config: $ref: '#/components/schemas/gatewayAwsS3Config' description: The AWS configuration for S3 dataset access. azureBlobStorageConfig: $ref: '#/components/schemas/gatewayAzureBlobStorageConfig' description: The Azure configuration for Azure Blob Storage dataset access. jobProgress: $ref: '#/components/schemas/gatewayJobProgress' description: Job progress. readOnly: true keepAlive: type: boolean title: indicates this RLOR trainer job should run in keep-alive mode rolloutDeploymentName: type: string description: 'Rollout deployment name associated with this RLOR trainer job. This is optional. If not set, trainer will not trigger weight sync to rollout engine.' lossConfig: $ref: '#/components/schemas/gatewayReinforcementLearningLossConfig' description: Reinforcement learning loss method + hyperparameters for the underlying trainer. nodeCount: type: integer format: int32 description: 'The number of nodes to use for the fine-tuning job. If not specified, the default is 1.' acceleratorSeconds: type: object additionalProperties: type: string format: int64 description: 'Accelerator seconds used by the job, keyed by accelerator type (e.g., "NVIDIA_H100_80GB"). Updated periodically.' readOnly: true serviceMode: type: boolean title: Whether to deploy as a service with tinker-style api endpoints exposure directRouteHandle: type: string title: 'Only valid when service_mode enabled The direct route handle for the trainer in service mode (tinker api)' readOnly: true hotLoadDeploymentId: type: string description: 'The deployment ID used for hot loading. When set, checkpoints are saved to this deployment''s hot load bucket, enabling weight swaps on inference. Only valid for service-mode or keep-alive jobs.' purpose: $ref: '#/components/schemas/gatewayPurpose' description: Scheduling purpose for this job. forwardOnly: type: boolean description: 'When true, run the trainer in forward-only mode (no backward/optimizer). Used for reference models in GRPO that only need forward passes.' managedBy: type: string description: For managed service use only. Users do not need to set this field. title: 'Next ID: 36 (field 34 reserved for removed public_logs_signed_url)' TrainingSessionReferenceState: type: string enum: - TRAINING_SESSION_REFERENCE_STATE_UNSPECIFIED - BASE - ADAPTER default: TRAINING_SESSION_REFERENCE_STATE_UNSPECIFIED description: "ReferenceState indicates whether the session currently references the\nbase model or a loaded LoRA adapter. Updated automatically when\nExecuteTrainingSessionLoadState is called.\n\n - BASE: Session is using the base model (no adapter loaded).\n - ADAPTER: Session has a LoRA adapter loaded." GatewayExecuteRlorTrainStepBody: type: object properties: dataset: type: string description: Dataset to process for this iteration. outputModel: type: string description: Output model to materialize when training completes. required: - dataset - outputModel gatewayGenericDeploymentState: type: string enum: - STATE_UNSPECIFIED - CREATING - READY - FAILED - UPDATING - DELETING - DELETED default: STATE_UNSPECIFIED description: "- CREATING: The deployment is still being created.\n - READY: The deployment is ready to be used.\n - FAILED: The deployment failed to be created.\n - UPDATING: There are in-progress updates happening with the deployment.\n - DELETING: The deployment is being deleted\n - DELETED: The deployment has been deleted." PolicySettingsModelAccessRule: type: object properties: model: type: string title: Resource name of the model, e.g. accounts/fireworks/models/llama-v3-8b-instruct allowServerless: type: boolean description: Serverless inference on this model. allowFineTuning: type: boolean description: Create fine-tuning jobs using this model. allowDeployments: type: boolean description: Deploy this model on dedicated infrastructure. effect: $ref: '#/components/schemas/PolicySettingsEffect' description: Policy effect for this rule so allowlisted models can use different effects per row. title: 'One row in the model allowlist: which model and which capabilities are permitted.' required: - model PricingPlanTokenBillingConfig: type: object properties: baseModelName: type: string title: Model name this applies to inputTokenPricePerMillion: $ref: '#/components/schemas/typeMoney' title: Price per million input tokens outputTokenPricePerMillion: $ref: '#/components/schemas/typeMoney' title: Price per million output tokens uncachedInputTokenPricePerMillion: $ref: '#/components/schemas/typeMoney' title: Price per million uncached input tokens cachedInputTokenPricePerMillion: $ref: '#/components/schemas/typeMoney' title: Price per million cached input tokens title: Configuration for token-based billing required: - baseModelName - outputTokenPricePerMillion gatewayListAuditLogsResponse: type: object properties: auditLogs: type: array items: type: object $ref: '#/components/schemas/gatewayAuditLogEntry' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of request logs matching the request. GatewayScaleDeploymentBody: type: object properties: replicaCount: type: integer format: int32 description: The desired number of replicas. gatewaySplitDatasetResponse: type: object properties: chunkDatasetNames: type: array items: type: string title: The resource names of the created chunk datasets chunksCreated: type: integer format: int32 title: The number of chunks created totalExamples: type: string format: int64 title: The total number of examples processed title: Response message for dataset splitting gatewayListRoutersResponse: type: object properties: routers: type: array items: type: object $ref: '#/components/schemas/gatewayRouter' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of routers gatewayListSecretsResponse: type: object properties: secrets: type: array items: type: object $ref: '#/components/schemas/gatewaySecret' nextPageToken: type: string totalSize: type: integer format: int32 description: The total number of secrets. gatewayLLMAssertion: type: object properties: llmEvaluatorPrompt: type: string title: Prompt used to evaluate the output providers: type: array items: type: object $ref: '#/components/schemas/gatewayProvider' title: One or more providers to use prompts: type: array items: type: string title: One or more prompts to evaluate evaluateOptions: $ref: '#/components/schemas/gatewayEvaluateOptions' title: Options for how to run the evaluation required: - providers - prompts gatewayListDeploymentShapesResponse: type: object properties: deploymentShapes: type: array items: type: object $ref: '#/components/schemas/gatewayDeploymentShape' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of deployment shapes. gatewayGetEvaluatorBuildLogEndpointResponse: type: object properties: buildLogSignedUri: type: string title: Signed URL for the build log gatewayDebugReinforcementFineTuningJobResponse: type: object properties: name: type: string description: The resource name of the reinforcement fine-tuning job. failedJobName: type: string readOnly: true required: - name gatewayRefreshSessionTokenResponse: type: object properties: token: type: string description: New signed JWT with fresh TTL and the same session claims. expireTime: type: string format: date-time description: When the new token expires. refreshToken: type: string description: 'Refresh token for subsequent refreshes. In V1 this may be unchanged; later versions may rotate it.' refreshExpireTime: type: string format: date-time description: When the refresh token expires. description: Response containing the refreshed session JWT. gatewayEvaluationResult: type: object properties: evaluationJobId: type: string required: - evaluationJobId GatewayCreateClusterBody: type: object properties: cluster: $ref: '#/components/schemas/gatewayCluster' description: The properties of the cluster being created. clusterId: type: string title: The cluster ID to use in the cluster name. e.g. my-cluster required: - cluster - clusterId gatewayReinforcementLearningLossConfig: type: object properties: method: $ref: '#/components/schemas/ReinforcementLearningLossConfigMethod' klBeta: type: number format: float description: 'KL coefficient (beta) override for GRPO-like methods. If unset, the trainer default is used.' dpo: $ref: '#/components/schemas/gatewayDpoConfig' description: DPO-specific configuration. Intended for METHOD=DPO. orpo: $ref: '#/components/schemas/gatewayOrpoConfig' description: ORPO-specific configuration. Intended for METHOD=ORPO. description: 'Loss method + hyperparameters for reinforcement-learning-style fine-tuning (e.g. RFT / RL trainers). For preference jobs (DPO API), the default loss method is GRPO when METHOD_UNSPECIFIED.' PolicySettingsEffect: type: string enum: - UNSPECIFIED - DENY default: UNSPECIFIED description: "Policy effect for model-access rules (per-row; not a standalone API enum).\n\n - DENY: Block actions that violate the policy." gatewayListRlorTrainerJobCheckpointsResponse: type: object properties: checkpoints: type: array items: type: object $ref: '#/components/schemas/gatewayRlorTrainerJobCheckpoint' nextPageToken: type: string totalSize: type: integer format: int32 gatewayEvaluator: type: object properties: name: type: string readOnly: true displayName: type: string description: type: string createTime: type: string format: date-time readOnly: true createdBy: type: string readOnly: true updateTime: type: string format: date-time readOnly: true state: $ref: '#/components/schemas/gatewayEvaluatorState' readOnly: true criteria: type: array items: type: object $ref: '#/components/schemas/gatewayCriterion' title: 'Criteria for the evaluator, it should produce a score for the metric (name of criteria) Used for eval3 with UI upload path' requirements: type: string title: Content for the requirements.txt for package installation entryPoint: type: string title: entry point of the evaluator inside the codebase. In module::function or path::function format status: $ref: '#/components/schemas/gatewayStatus' title: Status of the evaluator, used to expose build status to the user readOnly: true commitHash: type: string title: Commit hash of this evaluator from the user's original codebase source: $ref: '#/components/schemas/EvaluatorSource' description: Source information for the evaluator codebase. defaultDataset: type: string title: Default dataset that is associated with the evaluator gatewayQuota: type: object properties: name: type: string title: The resource name of the quota, e.g. accounts/my-account/quotas/h100-us-iowa-1 readOnly: true value: type: string format: int64 description: 'The value of the quota being enforced. This may be lower than the max_value if the user manually lowers it.' maxValue: type: string format: int64 description: The maximum approved value. usage: type: number format: double description: The usage of the quota. readOnly: true updateTime: type: string format: date-time description: The update time for the quota. readOnly: true gatewayConversationConfig: type: object properties: style: type: string description: The chat template to use. system: type: string description: The system prompt (if the chat style supports it). template: type: string description: The Jinja template (if style is "jinja"). required: - style gatewayListGenericDeploymentTypesResponse: type: object properties: genericDeploymentTypes: type: array items: type: object $ref: '#/components/schemas/gatewayGenericDeploymentType' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of generic deployment. EvaluatorSource: type: object properties: type: $ref: '#/components/schemas/EvaluatorSourceType' description: Identifies how the evaluator source code is provided. githubRepositoryName: type: string description: Normalized GitHub repository name (e.g. owner/repository) when the source is GitHub. gatewayListCreditRedemptionsResponse: type: object properties: creditRedemptions: type: array items: type: object $ref: '#/components/schemas/gatewayCreditRedemption' description: The list of credit redemptions. nextPageToken: type: string description: 'A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of redemptions matching the request. GatewayResumeSupervisedFineTuningJobBody: type: object gatewayGenericDeploymentType: type: object properties: name: type: string description: The resource name of the generic deployment type. readOnly: true createTime: type: string format: date-time description: The creation time of the generic deployment type. readOnly: true updateTime: type: string format: date-time description: The update time for the generic deployment type. readOnly: true imageTag: type: string title: The image tag of the helm chart associated with the resource gatewayTrainingSessionJob: type: object properties: name: type: string readOnly: true displayName: type: string description: 'Human-readable display name of the training session job. e.g. "Reference sessions" Must be fewer than 64 characters long.' createTime: type: string format: date-time readOnly: true updateTime: type: string format: date-time readOnly: true state: $ref: '#/components/schemas/gatewayJobState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true createdBy: type: string readOnly: true baseModel: type: string description: Base model used for sessions created under this training session job. description: 'TrainingSessionJob groups all TrainingSessions for a specific job run on a given base model. Each job is scoped to an account and bound to a shared trainer.' required: - baseModel gatewayGetDpoJobMetricsFileResponse: type: object properties: signedUrl: type: string title: The signed URL for the metrics file title: 'when the JobMetrics file has been created for the DPO job and the file exists, we will populate this field empty otherwise' gatewayListDeployedModelsResponse: type: object properties: deployedModels: type: array items: type: object $ref: '#/components/schemas/gatewayDeployedModel' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of deployed models gatewayListDeploymentShardsResponse: type: object properties: deploymentShards: type: array items: type: object $ref: '#/components/schemas/gatewayDeploymentShard' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of deployment shards. gatewayClusterState: type: string enum: - STATE_UNSPECIFIED - CREATING - READY - DELETING - FAILED default: STATE_UNSPECIFIED description: "- CREATING: The cluster is still being created.\n - READY: The cluster is ready to be used.\n - DELETING: The cluster is being deleted.\n - FAILED: Cluster is not operational.\nConsult 'status' for detailed messaging.\nCluster needs to be deleted and re-created." gatewayTrail: type: object properties: name: type: string title: 'Resource name: accounts/{AccountId}/trails/{TrailId}' readOnly: true displayName: type: string title: Human-readable display name for the trail createTime: type: string format: date-time title: Creation timestamp readOnly: true updateTime: type: string format: date-time title: Last update timestamp readOnly: true description: type: string title: Optional description of what this trail is tracking createdBy: type: string title: The email address of the user who created this trail readOnly: true langfuseConfig: type: string description: 'Langfuse configuration for this trail, inherited from the account at creation time. Contains API credentials for a Project within the customer''s Langfuse Organization. Serialized JSON format: {"public_key":"pk-lf-xxx","secret_key":"sk-lf-xxx","host":"https://langfuse-prod.fireworks.ai"} If empty, the default Langfuse Organization/Project will be used.' readOnly: true defaultModel: type: string description: 'Default model for requests through this trail. Format: "{provider}/{model_id}" (e.g., "anthropic/claude-3-5-sonnet-20240620"). Can be overridden per request.' providerKey: type: string description: 'Provider API key for this trail. When creating a trail: provide the raw API key (e.g., "sk-ant-api03-xxxx...") After creation: this field contains a secret reference (e.g., "accounts/{account_id}/secrets/trail-xxx-provider-key") The LiteLLM gateway retrieves the actual key from Secret Manager using this reference. Can be overridden by specifying api_key in the request body.' gatewayUser: type: object properties: name: type: string title: The resource name of the user. e.g. accounts/my-account/users/my-user readOnly: true displayName: type: string description: 'Human-readable display name of the user. e.g. "Alice" Must be fewer than 64 characters long.' serviceAccount: type: boolean title: Whether this user is a service account (can only be set by admins) createTime: type: string format: date-time description: The creation time of the user. readOnly: true role: type: string description: 'The user''s role: admin, user, contributor, inference-user, or custom. When set to "custom", the user''s permissions are governed by permission_preset.' email: type: string description: The user's email address. state: $ref: '#/components/schemas/gatewayUserState' description: The state of the user. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Contains information about the user status. readOnly: true updateTime: type: string format: date-time description: The update time for the user. readOnly: true permissionPreset: type: string description: The permission preset for this user. Only valid when role is "custom". required: - role gatewayAutoscalingPolicy: type: object properties: scaleUpWindow: type: string description: 'The duration the autoscaler will wait before scaling up a deployment after observing increased load. Default is 30s. Must be less than or equal to 1 hour.' scaleDownWindow: type: string description: 'The duration the autoscaler will wait before scaling down a deployment after observing decreased load. Default is 10m. Must be less than or equal to 1 hour.' scaleToZeroWindow: type: string description: 'The duration after which there are no requests that the deployment will be scaled down to zero replicas, if min_replica_count==0. Default is 1h. This must be at least 5 minutes.' loadTargets: type: object additionalProperties: type: number format: float title: 'Map of load metric names to their target utilization factors. Currently only the "default" key is supported, which specifies the default target for all metrics. If not specified, the default target is 0.8' scalingSchedules: type: object additionalProperties: $ref: '#/components/schemas/gatewayScalingSchedule' description: 'Named scaling schedules that override min_replica_count on a time-based cron schedule. When multiple schedules are active simultaneously, the highest min_replica_count across all active schedules is used ("max wins"). When no schedule is active, the deployment''s base min_replica_count applies. Maximum 5 schedules per deployment.' gatewayGetEvaluatorUploadEndpointResponse: type: object properties: filenameToSignedUrls: type: object additionalProperties: type: string gatewayAcceleratorType: type: string enum: - ACCELERATOR_TYPE_UNSPECIFIED - NVIDIA_A100_80GB - NVIDIA_H100_80GB - AMD_MI300X_192GB - NVIDIA_A10G_24GB - NVIDIA_A100_40GB - NVIDIA_L4_24GB - NVIDIA_H200_141GB - NVIDIA_B200_180GB - AMD_MI325X_256GB - AMD_MI350X_288GB - NVIDIA_B300_288GB default: ACCELERATOR_TYPE_UNSPECIFIED AccountSuspendState: type: string enum: - UNSUSPENDED - FAILED_PAYMENTS - CREDIT_DEPLETED - MONTHLY_SPEND_LIMIT_EXCEEDED - BLOCKED_BY_ABUSE_RULE default: UNSUSPENDED gatewayGetEvaluatorSourceCodeEndpointResponse: type: object properties: filenameToSignedUrls: type: object additionalProperties: type: string title: Mapping from filename to signed URL for downloading the source code gatewayPricingPlanState: type: string enum: - STATE_UNSPECIFIED - CREATING - READY default: STATE_UNSPECIFIED gatewaySupervisedFineTuningJob: type: object properties: name: type: string readOnly: true displayName: type: string createTime: type: string format: date-time readOnly: true completedTime: type: string format: date-time readOnly: true dataset: type: string description: The name of the dataset used for training. awsS3Config: $ref: '#/components/schemas/gatewayAwsS3Config' description: The AWS configuration for S3 dataset access. azureBlobStorageConfig: $ref: '#/components/schemas/gatewayAzureBlobStorageConfig' description: The Azure configuration for Azure Blob Storage dataset access. state: $ref: '#/components/schemas/gatewayJobState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true createdBy: type: string description: The email address of the user who initiated this fine-tuning job. readOnly: true outputModel: type: string description: The model ID to be assigned to the resulting fine-tuned model. If not specified, the job ID will be used. baseModel: type: string description: 'The name of the base model to be fine-tuned Only one of ''base_model'' or ''warm_start_from'' should be specified.' warmStartFrom: type: string description: 'The PEFT addon model in Fireworks format to be fine-tuned from Only one of ''base_model'' or ''warm_start_from'' should be specified.' jinjaTemplate: type: string title: The Jinja template for conversation formatting. If not specified, defaults to the base model's conversation template configuration earlyStop: type: boolean description: Whether to stop training early if the validation loss does not improve. epochs: type: integer format: int32 description: The number of epochs to train for. learningRate: type: number format: float description: The learning rate used for training. maxContextLength: type: integer format: int32 description: The maximum context length to use with the model. loraRank: type: integer format: int32 description: The rank of the LoRA layers. wandbConfig: $ref: '#/components/schemas/gatewayWandbConfig' description: The Weights & Biases team/user account for logging training progress. evaluationDataset: type: string description: The name of a separate dataset to use for evaluation. isTurbo: type: boolean description: Whether to run the fine-tuning job in turbo mode. evalAutoCarveout: type: boolean description: Whether to auto-carve the dataset for eval. updateTime: type: string format: date-time description: The update time for the supervised fine-tuning job. readOnly: true nodes: type: integer format: int32 description: 'Deprecated: multi-node scheduling is now handled by the cookbook orchestrator in V2 workflows. This field is ignored for V2 jobs and will be removed in a future release.' batchSize: type: integer format: int32 title: The batch size for sequence packing in training mtpEnabled: type: boolean description: 'Deprecated: MTP is not supported in V2 training. These fields are retained for V1 Helm-based SFT backward compatibility only.' mtpNumDraftTokens: type: integer format: int32 description: 'Deprecated: see mtp_enabled.' mtpFreezeBaseModel: type: boolean description: 'Deprecated: see mtp_enabled.' jobProgress: $ref: '#/components/schemas/gatewayJobProgress' description: Job progress. readOnly: true metricsFileSignedUrl: type: string title: The signed URL for the metrics file trainerLogsSignedUrl: type: string description: 'The signed URL for the trainer logs file (stdout/stderr). Only populated if the account has trainer log reading enabled.' readOnly: true gradientAccumulationSteps: type: integer format: int32 title: Number of gradient accumulation steps learningRateWarmupSteps: type: integer format: int32 title: Number of steps for learning rate warm up batchSizeSamples: type: integer format: int32 description: The number of samples per gradient batch. estimatedCost: $ref: '#/components/schemas/typeMoney' description: The estimated cost of the job. readOnly: true optimizerWeightDecay: type: number format: float description: Weight decay (L2 regularization) for optimizer. purpose: $ref: '#/components/schemas/gatewayPurpose' description: Scheduling purpose for this job. required: - dataset gatewayGenericDeployment: type: object properties: name: type: string readOnly: true releaseValues: type: object title: Helm file fields with values for the generic deployment placement: $ref: '#/components/schemas/gatewayPlacement' title: Regions where the deployment should be placed createTime: type: string format: date-time description: The creation time of the generic deployment. readOnly: true updateTime: type: string format: date-time description: The update time for the generic deployment. readOnly: true genericDeploymentType: type: string title: 'Name of the GenericDeploymentType or GenericDeploymentTypeVersion. If the value for the field carries the resource name of GenericDeploymentType then the latest version will be used' state: $ref: '#/components/schemas/gatewayGenericDeploymentState' readOnly: true title: The message represent the values for a helm chart used to create a release required: - releaseValues - placement - genericDeploymentType gatewayDeployedModelRef: type: object properties: name: type: string title: The resource name. e.g. accounts/my-account/deployedModels/my-deployed-model readOnly: true deployment: type: string description: The resource name of the base deployment the model is deployed to. readOnly: true state: $ref: '#/components/schemas/gatewayDeployedModelState' description: The state of the deployed model. readOnly: true default: type: boolean description: 'If true, this is the default target when querying this model without the `#` suffix. The first deployment a model is deployed to will have this field set to true automatically.' readOnly: true public: type: boolean description: If true, the deployed model will be publicly reachable. readOnly: true gatewayListApiKeysResponse: type: object properties: apiKeys: type: array items: type: object $ref: '#/components/schemas/gatewayApiKey' description: List of API keys retrieved. nextPageToken: type: string title: 'Token for fetching the next page of results. Pagination support to be added. TODO: Implement pagination' totalSize: type: integer format: int32 description: The total number of API keys. GatewayCreateEvaluationBody: type: object properties: evaluation: $ref: '#/components/schemas/gatewayEvaluation' evaluationId: type: string required: - evaluation gatewayListDeploymentsResponse: type: object properties: deployments: type: array items: type: object $ref: '#/components/schemas/gatewayDeployment' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of deployments. gatewayUserUploaded: type: object gatewayListUsersResponse: type: object properties: users: type: array items: type: object $ref: '#/components/schemas/gatewayUser' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of users. gatewayEvaluationJob: type: object properties: name: type: string readOnly: true displayName: type: string createTime: type: string format: date-time readOnly: true createdBy: type: string readOnly: true state: $ref: '#/components/schemas/gatewayJobState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true evaluator: type: string description: 'The fully-qualified resource name of the Evaluation used by this job. Format: accounts/{account_id}/evaluators/{evaluator_id}' inputDataset: type: string description: 'The fully-qualified resource name of the input Dataset used by this job. Format: accounts/{account_id}/datasets/{dataset_id}' outputDataset: type: string description: 'The fully-qualified resource name of the output Dataset created by this job. Format: accounts/{account_id}/datasets/{output_dataset_id}' metrics: type: object additionalProperties: type: number format: double readOnly: true outputStats: type: string description: The output dataset's aggregated stats for the evaluation job. updateTime: type: string format: date-time description: The update time for the evaluation job. readOnly: true awsS3Config: $ref: '#/components/schemas/gatewayAwsS3Config' description: The AWS configuration for S3 dataset access. required: - evaluator - inputDataset - outputDataset gatewayAwsS3Config: type: object properties: credentialsSecret: type: string title: 'Reference to a Secret resource containing AWS access key credentials. Format: accounts/{account_id}/secrets/{secret_id} The secret value must be JSON: {"aws_access_key_id": "AKIA...", "aws_secret_access_key": "..."}' iamRoleArn: type: string title: 'IAM role ARN to assume for accessing S3 datasets via GCP OIDC federation. Format: arn:aws:iam::account-id:role/role-name' description: 'AwsS3Config is the configuration for AWS S3 dataset access which will be used by a training job.' gatewayEstimateSupervisedFineTuningJobCostResponse: type: object properties: estimatedCost: $ref: '#/components/schemas/typeMoney' title: An estimate of the fine-tuning costs gatewayGetEvaluationJobExecutionLogEndpointResponse: type: object properties: executionLogSignedUri: type: string description: 'Short-lived signed URL for the execution log file. Empty if the log file has not been created yet (e.g. job not started or still initializing).' contentType: type: string description: 'Content type for the log file (e.g. "text/plain"). Only set when execution_log_signed_uri is present.' expireTime: type: string format: date-time description: 'Expiration time of the signed URL. Only set when execution_log_signed_uri is present.' description: Response carries the stream log URL (for VirtualizedLogViewer). gatewayScalingSchedule: type: object properties: minReplicaCount: type: integer format: int32 description: 'Minimum number of replicas guaranteed when this schedule is active. When multiple schedules overlap, the effective minimum is the highest min_replica_count across all active schedules ("max wins"). Must be >= 0 and <= the deployment''s max_replica_count.' schedule: type: string description: 'Cron expression defining when this schedule''s window starts. Standard 5-field cron format: minute hour day-of-month month day-of-week. Examples: "0 8 * * Mon-Fri" (8am weekdays), "0 0 1 * *" (midnight on 1st of month).' duration: type: string description: 'Duration that the schedule remains active after the cron trigger. Must be between 300 seconds (5 minutes) and 604,800 seconds (7 days), and use whole-second precision. Schedules needing longer windows should raise the deployment''s base min_replica_count instead. Example: "36000s" = 10 hours (e.g., 8am to 6pm).' timezone: type: string description: 'IANA timezone for the cron expression. e.g., "America/New_York", "Europe/London", "UTC". Required because cron expressions without a timezone are ambiguous. DST transitions are handled automatically.' description: type: string description: 'Human-readable description of the schedule. e.g., "Weekday business hours", "Wednesday peak load".' disabled: type: boolean description: 'If true, this schedule is temporarily disabled without being deleted. Useful for holidays or temporary schedule changes.' title: 'A time-based scaling schedule that sets a minimum replica floor during a recurring window. Follows the GCP MIG scaling schedule pattern: cron start time + duration.' required: - minReplicaCount - schedule - duration - timezone AccountUsageServerlessUsage: type: object properties: modelName: type: string description: 'Deprecated: use group["model_name"] instead.' promptTokens: type: string format: int64 title: Number of prompt tokens (for text inference) completionTokens: type: string format: int64 title: Number of completion tokens (for text inference) startTime: type: string format: date-time title: 'Start timestamp of the usage. Note: Serverless usage events are aggregated daily. Only the date portion (YYYY-MM-DD) is used;' endTime: type: string format: date-time title: 'End timestamp of the usage. Note: Serverless usage events are aggregated daily. Only the date portion (YYYY-MM-DD) is used;' audioInputSeconds: type: number format: double title: Audio input seconds (for audio inference) usageType: type: string title: Usage type to distinguish between different inference types apiKeyId: type: string description: 'Deprecated: use group["api_key_id"] instead.' group: type: object additionalProperties: type: string description: Group-by dimension key-values (model_name, api_key_id, team, project, environment). description: One serverless usage aggregation bucket. TrainingShapeTrainerMode: type: string enum: - TRAINER_MODE_UNSPECIFIED - POLICY_TRAINER - FORWARD_ONLY - LORA_TRAINER default: TRAINER_MODE_UNSPECIFIED description: Trainer execution mode used for validated launch-profile matching. gatewayRegion: type: string enum: - REGION_UNSPECIFIED - US_IOWA_1 - US_VIRGINIA_1 - US_VIRGINIA_2 - US_ILLINOIS_1 - AP_TOKYO_1 - US_ARIZONA_1 - US_TEXAS_1 - US_ILLINOIS_2 - EU_FRANKFURT_1 - US_TEXAS_2 - EU_ICELAND_1 - EU_ICELAND_2 - US_WASHINGTON_1 - US_WASHINGTON_2 - US_WASHINGTON_3 - AP_TOKYO_2 - US_CALIFORNIA_1 - US_UTAH_1 - US_GEORGIA_1 - US_GEORGIA_2 - US_WASHINGTON_4 - US_GEORGIA_3 - NA_BRITISHCOLUMBIA_1 - US_GEORGIA_4 - US_OHIO_1 - US_NEWYORK_1 - EU_NETHERLANDS_1 - US_WASHINGTON_5 - US_MINNESOTA_1 - US_CALIFORNIA_2 - AP_MALAYSIA_1 - US_OHIO_2 default: REGION_UNSPECIFIED gatewayCodeAssertion: type: object properties: language: type: string title: Language of the code (python/javascript) code: type: string title: The code to execute expectedOutput: type: string title: Optional expected output options: $ref: '#/components/schemas/CodeAssertionExecutionOptions' required: - language - code GatewayRollbackEvaluatorBody: type: object description: Rolls an evaluator back to the configuration captured by a specific revision. GatewayGetDatasetUploadEndpointBody: type: object properties: filenameToSize: type: object additionalProperties: type: string format: int64 description: A mapping from the file name to its size in bytes. readMask: type: string description: The fields to be returned in the response. If empty or "*", all fields will be returned. required: - filenameToSize gatewayDataset: type: object properties: name: type: string readOnly: true displayName: type: string createTime: type: string format: date-time readOnly: true state: $ref: '#/components/schemas/gatewayDatasetState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true exampleCount: type: string format: int64 userUploaded: $ref: '#/components/schemas/gatewayUserUploaded' evaluationResult: $ref: '#/components/schemas/gatewayEvaluationResult' transformed: $ref: '#/components/schemas/gatewayTransformed' splitted: $ref: '#/components/schemas/gatewaySplitted' evalProtocol: $ref: '#/components/schemas/gatewayEvalProtocol' externalUrl: type: string title: The external URI of the dataset. e.g. gs://foo/bar/baz.jsonl format: $ref: '#/components/schemas/DatasetFormat' createdBy: type: string description: The email address of the user who initiated this fine-tuning job. readOnly: true updateTime: type: string format: date-time description: The update time for the dataset. readOnly: true sourceJobName: type: string description: 'The resource name of the job that created this dataset (e.g., batch inference job). Used for lineage tracking to understand dataset provenance.' estimatedTokenCount: type: string format: int64 description: The estimated number of tokens in the dataset. readOnly: true averageTurnCount: type: number format: float description: An estimate of the average number of turns per sample in the dataset. readOnly: true gatewayPreviewEvaluatorSampleResult: type: object properties: success: type: string title: Overall eval success (true) or failure (false) on the sample, empty string means success not defined score: type: number format: double title: Score (rollup score if applicable) perMetricEvals: type: object additionalProperties: type: object title: Per metric eval results reason: type: string title: reason for the eval result GatewayValidateEvaluatorUploadBody: type: object gatewayDeployedModel: type: object properties: name: type: string title: The resource name. e.g. accounts/my-account/deployedModels/my-deployed-model readOnly: true displayName: type: string description: type: string description: Description of the resource. createTime: type: string format: date-time description: The creation time of the resource. readOnly: true model: type: string title: 'The resource name of the model to be deployed. e.g. accounts/my-account/models/my-model' deployment: type: string description: The resource name of the base deployment the model is deployed to. default: type: boolean description: 'If true, this is the default target when querying this model without the `#` suffix. The first deployment a model is deployed to will have this field set to true.' state: $ref: '#/components/schemas/gatewayDeployedModelState' description: The state of the deployed model. readOnly: true serverless: type: boolean title: True if the underlying deployment is managed by Fireworks status: $ref: '#/components/schemas/gatewayStatus' description: Contains model deploy/undeploy details. readOnly: true public: type: boolean description: If true, the deployed model will be publicly reachable. updateTime: type: string format: date-time description: The update time for the deployed model. readOnly: true GatewayResumeRlorTrainerJobBody: type: object gatewayGetAccountUsageFilterOptionsResponse: type: object description: Distinct filter values for the account/time range (separate from GetAccountUsage). GatewayPreviewEvaluationBody: type: object properties: sampleData: type: string title: Sample data in JSON format (array of samples) maxSamples: type: integer format: int32 title: Maximum number of samples to evaluate (optional, default will be a small number like 5) title: Request to preview an evaluation with sample data required: - sampleData gatewayDeploymentShard: type: object properties: name: type: string title: The resource name of the deployment shard. e.g. accounts/my-account/deployments/my-deployment/shards/my-deployment-shard readOnly: true createTime: type: string format: date-time description: The creation time of the deployment shard. readOnly: true updateTime: type: string format: date-time description: The update time for the deployment shard. readOnly: true state: $ref: '#/components/schemas/gatewayDeploymentShardState' description: The state of the deployment shard. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Detailed status information regarding the most recent operation. readOnly: true replicaStats: $ref: '#/components/schemas/gatewayReplicaStats' description: 'Per-replica deployment status counters for this shard. Provides visibility into pod states (pending, downloading, initializing, ready) across regions.' readOnly: true gatewayAzureBlobStorageConfig: type: object properties: credentialsSecret: type: string description: 'Reference to a Secret resource containing Azure credentials. Format: accounts/{account_id}/secrets/{secret_id} The secret value must be JSON: {"connection_string": "..."} or {"sas_token": "..."} or {"account_key": "..."} Mutually exclusive with managed_identity_client_id.' managedIdentityClientId: type: string description: 'Managed Identity Client ID for GCP-to-Azure Workload Identity Federation. Format: uuid Mutually exclusive with credentials_secret.' tenantId: type: string title: 'Azure tenant ID for Workload Identity Federation. Format: uuid' description: 'AzureBlobStorageConfig is the configuration for Azure Blob Storage dataset access which will be used by a training job.' gatewayJobProgress: type: object properties: percent: type: integer format: int32 description: Progress percent, within the range from 0 to 100. epoch: type: integer format: int32 description: 'The epoch for which the progress percent is reported, usually starting from 0. This is optional for jobs that don''t run in an epoch fasion, e.g. BIJ, EVJ.' totalInputRequests: type: integer format: int32 description: Total number of input requests/rows in the job. totalProcessedRequests: type: integer format: int32 description: Total number of requests that have been processed (successfully or failed). successfullyProcessedRequests: type: integer format: int32 description: Number of requests that were processed successfully. failedRequests: type: integer format: int32 description: Number of requests that failed to process. outputRows: type: integer format: int32 description: Number of output rows generated. inputTokens: type: integer format: int32 description: Total number of input tokens processed. outputTokens: type: integer format: int32 description: Total number of output tokens generated. cachedInputTokenCount: type: integer format: int32 description: The number of input tokens that hit the prompt cache. description: Progress of a job, e.g. RLOR, EVJ, BIJ etc. gatewayListIdentityProvidersResponse: type: object properties: identityProviders: type: array items: type: object $ref: '#/components/schemas/gatewayIdentityProvider' title: List of identity providers nextPageToken: type: string title: Next page token totalSize: type: integer format: int32 title: Total count gatewayAccount: type: object properties: name: type: string title: The resource name of the account. e.g. accounts/my-account readOnly: true displayName: type: string description: 'Human-readable display name of the account. e.g. "My Account" Must be fewer than 64 characters long.' createTime: type: string format: date-time description: The creation time of the account. readOnly: true accountType: $ref: '#/components/schemas/AccountAccountType' description: The type of the account. email: type: string description: 'The primary email for the account. This is used for billing invoices and account notifications.' state: $ref: '#/components/schemas/gatewayAccountState' description: The state of the account. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Contains information about the account status. readOnly: true suspendState: $ref: '#/components/schemas/AccountSuspendState' readOnly: true updateTime: type: string format: date-time description: The update time for the account. readOnly: true notificationSettings: $ref: '#/components/schemas/gatewayNotificationSettings' description: Notification settings for this account. required: - email gatewayListTrainingSessionJobsResponse: type: object properties: trainingSessionJobs: type: array items: type: object $ref: '#/components/schemas/gatewayTrainingSessionJob' nextPageToken: type: string totalSize: type: integer format: int32 gatewayEvenLoadStrategy: type: object description: 'Dynamically adjust traffic allocation to balance the load per replica across the deployments as much as possible.' gatewayTrainingSession: type: object properties: name: type: string readOnly: true displayName: type: string description: 'Human-readable display name of the training session. e.g. "Training session" Must be fewer than 64 characters long.' createTime: type: string format: date-time readOnly: true updateTime: type: string format: date-time readOnly: true state: $ref: '#/components/schemas/gatewayTrainingSessionState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true createdBy: type: string readOnly: true referenceState: $ref: '#/components/schemas/TrainingSessionReferenceState' readOnly: true description: 'TrainingSession represents a single training context on a shared trainer. It starts with a base model reference and can have LoRA adapters loaded or promoted via ExecuteTrainingSessionLoadState. Each session gets its own inference route in the API gateway.' gatewayListEvaluationJobsResponse: type: object properties: evaluationJobs: type: array items: type: object $ref: '#/components/schemas/gatewayEvaluationJob' nextPageToken: type: string totalSize: type: integer format: int32 GatewayCreateApiKeyBody: type: object properties: apiKey: $ref: '#/components/schemas/gatewayApiKey' description: The API key to be created. required: - apiKey gatewayGetTerminationMessageResponse: type: object properties: message: type: string description: The termination message. gatewayEksCluster: type: object properties: awsAccountId: type: string description: The 12-digit AWS account ID where this cluster lives. fireworksManagerRole: type: string title: 'The IAM role ARN used to manage Fireworks resources on AWS. If not specified, the default is arn:aws:iam:::role/FireworksManagerRole' region: type: string description: 'The AWS region where this cluster lives. See https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html for a list of available regions.' clusterName: type: string description: The EKS cluster name. storageBucketName: type: string description: The S3 bucket name. metricWriterRole: type: string description: 'The IAM role ARN used by Google Managed Prometheus role that will write metrics to Fireworks managed Prometheus. The role must be assumable by the `system:serviceaccount:gmp-system:collector` service account on the EKS cluster. If not specified, no metrics will be written to GCP.' loadBalancerControllerRole: type: string description: 'The IAM role ARN used by the EKS load balancer controller (i.e. the load balancer automatically created for the k8s gateway resource). If not specified, no gateway will be created.' workloadIdentityPoolProviderId: type: string title: 'The ID of the GCP workload identity pool provider in the Fireworks project for this cluster. The pool ID is assumed to be "byoc-pool"' inferenceRole: type: string description: The IAM role ARN used by the inference pods on the cluster. title: An Amazon Elastic Kubernetes Service cluster. required: - awsAccountId - region gatewayCheckpointType: type: string enum: - CHECKPOINT_TYPE_UNSPECIFIED - CHECKPOINT_TYPE_INFERENCE_BASE - CHECKPOINT_TYPE_INFERENCE_ARC_V2 - CHECKPOINT_TYPE_INFERENCE_LORA - CHECKPOINT_TYPE_TRAINING - CHECKPOINT_TYPE_TRAINING_LORA default: CHECKPOINT_TYPE_UNSPECIFIED description: "- CHECKPOINT_TYPE_INFERENCE_BASE: Inference-ready checkpoint (full-parameter, HuggingFace format).\nPromotable to a model for serving.\n - CHECKPOINT_TYPE_INFERENCE_ARC_V2: Inference-ready checkpoint (XOR delta compressed, ARC v2 format).\nNot directly promotable.\n - CHECKPOINT_TYPE_INFERENCE_LORA: Inference-ready LoRA adapter checkpoint (HuggingFace PEFT format).\nPromotable to an addon model for serving.\n - CHECKPOINT_TYPE_TRAINING: Training checkpoint (full-parameter) with optimizer state.\nNot promotable to a model; used for training resume.\n - CHECKPOINT_TYPE_TRAINING_LORA: Training checkpoint from a LoRA run (adapter weights + optimizer state).\nNot promotable; used for training resume." GatewayPromoteCheckpointBody: type: object properties: outputModel: type: string title: 'The desired output model resource name. Format: accounts/{account}/models/{model}' trainerJobId: type: string description: 'The trainer job that wrote this checkpoint. Format: accounts/{account}/rlorTrainerJobs/{rlor_trainer_job} Used to construct the GCS path (trainer-keyed bucket) and as a source annotation on the promoted model.' baseModel: type: string title: 'The base model for metadata inheritance (model type, context length, etc.). Format: accounts/{account}/models/{model}' hotLoadDeploymentId: type: string title: 'Only needed when the trainer job was created with a deployment ID (deployment-first flow). Not needed when the deployment references the trainer job (trainer-first flow, recommended). Format: accounts/{account}/deployments/{deployment}' description: 'Promote a checkpoint to a model. When base_model is provided, the checkpoint GCS path is reconstructed from account metadata and the trainer/deployment ID — no trainer job database lookup is needed.' required: - outputModel - trainerJobId - baseModel gatewayCode: type: string enum: - OK - CANCELLED - UNKNOWN - INVALID_ARGUMENT - DEADLINE_EXCEEDED - NOT_FOUND - ALREADY_EXISTS - PERMISSION_DENIED - UNAUTHENTICATED - RESOURCE_EXHAUSTED - FAILED_PRECONDITION - ABORTED - OUT_OF_RANGE - UNIMPLEMENTED - INTERNAL - UNAVAILABLE - DATA_LOSS default: OK description: "- OK: Not an error; returned on success.\n\nHTTP Mapping: 200 OK\n - CANCELLED: The operation was cancelled, typically by the caller.\n\nHTTP Mapping: 499 Client Closed Request\n - UNKNOWN: Unknown error. For example, this error may be returned when\na `Status` value received from another address space belongs to\nan error space that is not known in this address space. Also\nerrors raised by APIs that do not return enough error information\nmay be converted to this error.\n\nHTTP Mapping: 500 Internal Server Error\n - INVALID_ARGUMENT: The client specified an invalid argument. Note that this differs\nfrom `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments\nthat are problematic regardless of the state of the system\n(e.g., a malformed file name).\n\nHTTP Mapping: 400 Bad Request\n - DEADLINE_EXCEEDED: The deadline expired before the operation could complete. For operations\nthat change the state of the system, this error may be returned\neven if the operation has completed successfully. For example, a\nsuccessful response from a server could have been delayed long\nenough for the deadline to expire.\n\nHTTP Mapping: 504 Gateway Timeout\n - NOT_FOUND: Some requested entity (e.g., file or directory) was not found.\n\nNote to server developers: if a request is denied for an entire class\nof users, such as gradual feature rollout or undocumented allowlist,\n`NOT_FOUND` may be used. If a request is denied for some users within\na class of users, such as user-based access control, `PERMISSION_DENIED`\nmust be used.\n\nHTTP Mapping: 404 Not Found\n - ALREADY_EXISTS: The entity that a client attempted to create (e.g., file or directory)\nalready exists.\n\nHTTP Mapping: 409 Conflict\n - PERMISSION_DENIED: The caller does not have permission to execute the specified\noperation. `PERMISSION_DENIED` must not be used for rejections\ncaused by exhausting some resource (use `RESOURCE_EXHAUSTED`\ninstead for those errors). `PERMISSION_DENIED` must not be\nused if the caller can not be identified (use `UNAUTHENTICATED`\ninstead for those errors). This error code does not imply the\nrequest is valid or the requested entity exists or satisfies\nother pre-conditions.\n\nHTTP Mapping: 403 Forbidden\n - UNAUTHENTICATED: The request does not have valid authentication credentials for the\noperation.\n\nHTTP Mapping: 401 Unauthorized\n - RESOURCE_EXHAUSTED: Some resource has been exhausted, perhaps a per-user quota, or\nperhaps the entire file system is out of space.\n\nHTTP Mapping: 429 Too Many Requests\n - FAILED_PRECONDITION: The operation was rejected because the system is not in a state\nrequired for the operation's execution. For example, the directory\nto be deleted is non-empty, an rmdir operation is applied to\na non-directory, etc.\n\nService implementors can use the following guidelines to decide\nbetween `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:\n (a) Use `UNAVAILABLE` if the client can retry just the failing call.\n (b) Use `ABORTED` if the client should retry at a higher level. For\n example, when a client-specified test-and-set fails, indicating the\n client should restart a read-modify-write sequence.\n (c) Use `FAILED_PRECONDITION` if the client should not retry until\n the system state has been explicitly fixed. For example, if an \"rmdir\"\n fails because the directory is non-empty, `FAILED_PRECONDITION`\n should be returned since the client should not retry unless\n the files are deleted from the directory.\n\nHTTP Mapping: 400 Bad Request\n - ABORTED: The operation was aborted, typically due to a concurrency issue such as\na sequencer check failure or transaction abort.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 409 Conflict\n - OUT_OF_RANGE: The operation was attempted past the valid range. E.g., seeking or\nreading past end-of-file.\n\nUnlike `INVALID_ARGUMENT`, this error indicates a problem that may\nbe fixed if the system state changes. For example, a 32-bit file\nsystem will generate `INVALID_ARGUMENT` if asked to read at an\noffset that is not in the range [0,2^32-1], but it will generate\n`OUT_OF_RANGE` if asked to read from an offset past the current\nfile size.\n\nThere is a fair bit of overlap between `FAILED_PRECONDITION` and\n`OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific\nerror) when it applies so that callers who are iterating through\na space can easily look for an `OUT_OF_RANGE` error to detect when\nthey are done.\n\nHTTP Mapping: 400 Bad Request\n - UNIMPLEMENTED: The operation is not implemented or is not supported/enabled in this\nservice.\n\nHTTP Mapping: 501 Not Implemented\n - INTERNAL: Internal errors. This means that some invariants expected by the\nunderlying system have been broken. This error code is reserved\nfor serious errors.\n\nHTTP Mapping: 500 Internal Server Error\n - UNAVAILABLE: The service is currently unavailable. This is most likely a\ntransient condition, which can be corrected by retrying with\na backoff. Note that it is not always safe to retry\nnon-idempotent operations.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 503 Service Unavailable\n - DATA_LOSS: Unrecoverable data loss or corruption.\n\nHTTP Mapping: 500 Internal Server Error" title: Mimics [https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto] gatewayModelState: type: string enum: - STATE_UNSPECIFIED - UPLOADING - READY default: STATE_UNSPECIFIED description: "- UPLOADING: The model is still being uploaded (upload is asynchronous).\n - READY: The model is ready to be used." googlerpcStatus: type: object properties: code: type: integer format: int32 description: 'The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].' message: type: string description: 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.' details: type: array items: type: object $ref: '#/components/schemas/protobufAny' description: 'A list of messages that carry the error details. There is a common set of message types for APIs to use.' description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).' GatewayExecuteTrainingSessionLoadStateBody: type: object properties: path: type: string description: Adapter checkpoint path to load into the training session. required: - path typeDate: type: object properties: year: type: integer format: int32 description: 'Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.' month: type: integer format: int32 description: 'Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.' day: type: integer format: int32 description: 'Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn''t significant.' description: '* A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`.' title: 'Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:' gatewayDpoJob: type: object properties: name: type: string readOnly: true displayName: type: string createTime: type: string format: date-time readOnly: true completedTime: type: string format: date-time readOnly: true dataset: type: string description: The name of the dataset used for training. state: $ref: '#/components/schemas/gatewayJobState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true createdBy: type: string description: The email address of the user who initiated this dpo job. readOnly: true trainingConfig: $ref: '#/components/schemas/gatewayBaseTrainingConfig' description: Common training configurations. wandbConfig: $ref: '#/components/schemas/gatewayWandbConfig' description: The Weights & Biases team/user account for logging job progress. trainerLogsSignedUrl: type: string description: 'The signed URL for the trainer logs file (stdout/stderr). Only populated if the account has trainer log reading enabled.' readOnly: true lossConfig: $ref: '#/components/schemas/gatewayReinforcementLearningLossConfig' description: 'Loss configuration for the training job. If not specified, defaults to DPO loss. Set method to ORPO for ORPO training.' awsS3Config: $ref: '#/components/schemas/gatewayAwsS3Config' description: The AWS configuration for S3 dataset access. azureBlobStorageConfig: $ref: '#/components/schemas/gatewayAzureBlobStorageConfig' description: The Azure configuration for Azure Blob Storage dataset access. purpose: $ref: '#/components/schemas/gatewayPurpose' description: Scheduling purpose for this job. required: - dataset gatewayModel: type: object properties: name: type: string title: The resource name of the model. e.g. accounts/my-account/models/my-model readOnly: true displayName: type: string description: 'Human-readable display name of the model. e.g. "My Model" Must be fewer than 64 characters long.' description: type: string description: The description of the model. Must be fewer than 1000 characters long. createTime: type: string format: date-time description: The creation time of the model. readOnly: true state: $ref: '#/components/schemas/gatewayModelState' description: The state of the model. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' description: Contains detailed message when the last model operation fails. readOnly: true kind: $ref: '#/components/schemas/ModelKind' description: 'The kind of model. If not specified, the default is HF_PEFT_ADDON.' githubUrl: type: string description: The URL to GitHub repository of the model. huggingFaceUrl: type: string description: The URL to the Hugging Face model. baseModelDetails: $ref: '#/components/schemas/gatewayBaseModelDetails' description: 'Base model details. Required if kind is HF_BASE_MODEL. Must not be set otherwise.' peftDetails: $ref: '#/components/schemas/gatewayPEFTDetails' description: 'PEFT addon details. Required if kind is HF_PEFT_ADDON or HF_TEFT_ADDON.' teftDetails: $ref: '#/components/schemas/gatewayTEFTDetails' description: 'TEFT addon details. Required if kind is HF_TEFT_ADDON. Must not be set otherwise.' public: type: boolean description: If true, the model will be publicly readable. conversationConfig: $ref: '#/components/schemas/gatewayConversationConfig' description: If set, the Chat Completions API will be enabled for this model. contextLength: type: integer format: int32 description: The maximum context length supported by the model. supportsImageInput: type: boolean description: If set, images can be provided as input to the model. supportsTools: type: boolean description: 'If set, tools (i.e. functions) can be provided as input to the model, and the model may respond with one or more tool calls.' importedFrom: type: string description: 'The name of the the model from which this was imported. This field is empty if the model was not imported.' readOnly: true fineTuningJob: type: string description: 'If the model was created from a fine-tuning job, this is the fine-tuning job name.' readOnly: true defaultDraftModel: type: string description: 'The default draft model to use when creating a deployment. If empty, speculative decoding is disabled by default.' defaultDraftTokenCount: type: integer format: int32 description: 'The default draft token count to use when creating a deployment. Must be specified if default_draft_model is specified.' deployedModelRefs: type: array items: type: object $ref: '#/components/schemas/gatewayDeployedModelRef' description: Populated from GetModel API call only. readOnly: true cluster: type: string description: 'The resource name of the BYOC cluster to which this model belongs. e.g. accounts/my-account/clusters/my-cluster. Empty if it belongs to a Fireworks cluster.' readOnly: true deprecationDate: $ref: '#/components/schemas/typeDate' description: If specified, this is the date when the serverless deployment of the model will be taken down. calibrated: type: boolean description: If true, the model is calibrated and can be deployed to non-FP16 precisions. readOnly: true tunable: type: boolean description: 'Deprecated: V1 training stack only — LoRA only, limited architecture support. If the model has use_training_v2=true and your account has AllowTrainingV2, use supervised_lora_tunable and supervised_full_parameter_tunable instead.' readOnly: true supportsLora: type: boolean description: Whether this model supports LoRA. useHfApplyChatTemplate: type: boolean description: If true, the model will use the Hugging Face apply_chat_template API to apply the chat template. updateTime: type: string format: date-time description: The update time for the model. readOnly: true defaultSamplingParams: type: object additionalProperties: type: number format: float description: A json object that contains the default sampling parameters for the model. readOnly: true rlTunable: type: boolean description: 'Deprecated: V1 training stack only — LoRA only, limited architecture support. If the model has use_training_v2=true and your account has AllowTrainingV2, use rl_lora_tunable and rl_full_parameter_tunable instead.' readOnly: true trainingContextLength: type: integer format: int32 description: The maximum context length supported by the model. snapshotType: $ref: '#/components/schemas/ModelSnapshotType' supportsServerless: type: boolean description: If true, the model has a serverless deployment. readOnly: true supervisedLoraTunable: type: boolean description: 'V2 only. Whether the model supports LoRA supervised fine-tuning and DPO (lora_rank > 0). True when a validated LORA_TRAINER training shape exists.' readOnly: true supervisedFullParameterTunable: type: boolean description: 'V2 only. Whether the model supports full-parameter supervised fine-tuning and DPO (lora_rank = 0). True when a validated POLICY_TRAINER training shape exists.' readOnly: true rlLoraTunable: type: boolean description: 'V2 only. Whether the model supports LoRA reinforcement learning (lora_rank > 0). True when a validated LORA_TRAINER training shape exists plus a deployment shape.' readOnly: true rlFullParameterTunable: type: boolean description: 'V2 only. Whether the model supports full-parameter reinforcement learning (lora_rank = 0). True when validated POLICY_TRAINER + FORWARD_ONLY training shapes exist plus a deployment shape.' readOnly: true gatewayNotificationSettings: type: object properties: monthlySpendThresholds: type: array items: type: object $ref: '#/components/schemas/typeMoney' description: "Spend thresholds at which to send monthly usage warning emails.\nThese should be below the account's monthly spend quota.\nExample: [{currency_code: \"USD\", units: 500}, {currency_code: \"USD\", units: 800}]\n would alert at $500 and $800.\nNote: An alert at 80% of the monthly spend limit is always added\nin addition to the thresholds specified in this list." description: 'NotificationSettings configures notification preferences for an account. (accounts/{account}/notificationSettings) when more notification categories are added. Requires adding singleton support to the resource generator.' gatewayListDatasetsResponse: type: object properties: datasets: type: array items: type: object $ref: '#/components/schemas/gatewayDataset' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of datasets gatewayGetRlorTrainerJobPublicLogsResponse: type: object properties: signedUrl: type: string description: 'Signed URL for the public trainer logs file (human-readable status updates). The URL expires after 24 hours and should be fetched dynamically when needed.' GatewayResumeDpoJobBody: type: object gatewayAwsS3ModelSource: type: object properties: s3Bucket: type: string description: The S3 bucket name. s3Path: type: string description: The S3 path prefix. roleArn: type: string title: AWS role ARN for authentication accessKeyId: type: string title: AWS access key ID for authentication accessSecret: type: string title: AWS access secret for authentication required: - s3Bucket gatewayAssertion: type: object properties: assertionType: $ref: '#/components/schemas/AssertionAssertionType' llmAssertion: $ref: '#/components/schemas/gatewayLLMAssertion' codeAssertion: $ref: '#/components/schemas/gatewayCodeAssertion' metricName: type: string title: 'We are doing auto generated GORM with JSON serializer and oneof doesn''t work so I am doing enums + just flat fields' required: - assertionType GatewayDeleteApiKeyBody: type: object properties: keyId: type: string description: The key ID for the API key. required: - keyId gatewayGetAccountServerlessTokenUsageResponse: type: object properties: averageTokensPerMinuteByBaseModel: type: array items: type: object $ref: '#/components/schemas/gatewayTimeSeries' totalPeakGeneratedTokensPerMinute: $ref: '#/components/schemas/gatewayTimeSeries' description: Account-wide peak TPM by token category. totalPeakUncachedPromptTokensPerMinute: $ref: '#/components/schemas/gatewayTimeSeries' totalPeakCachedPromptTokensPerMinute: $ref: '#/components/schemas/gatewayTimeSeries' peakGeneratedTokensPerMinuteByBaseModel: type: array items: type: object $ref: '#/components/schemas/gatewayTimeSeries' description: Peak TPM per base model and token category. peakUncachedPromptTokensPerMinuteByBaseModel: type: array items: type: object $ref: '#/components/schemas/gatewayTimeSeries' peakCachedPromptTokensPerMinuteByBaseModel: type: array items: type: object $ref: '#/components/schemas/gatewayTimeSeries' gatewayRedeemCreditCodeResponse: type: object properties: amount: $ref: '#/components/schemas/typeMoney' description: The amount of credits redeemed. description: RedeemCreditCodeResponse returns the amount of credits redeemed. gatewayCriterionType: type: string enum: - TYPE_UNSPECIFIED - CODE_SNIPPETS default: TYPE_UNSPECIFIED title: '- CODE_SNIPPETS: Code snippets for Sandbox based evaluation' typeMoney: type: object properties: currencyCode: type: string description: The three-letter currency code defined in ISO 4217. units: type: string format: int64 description: 'The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.' nanos: type: integer format: int32 description: 'Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.' description: Represents an amount of money with its currency type. gatewayDeploymentShardState: type: string enum: - STATE_UNSPECIFIED - CREATING - READY - DELETING - FAILED - UPDATING default: STATE_UNSPECIFIED description: "- CREATING: The deployment shard is still being created.\n - READY: The deployment shard is ready to be used.\n - DELETING: The deployment shard is being deleted.\n - FAILED: The deployment shard failed to be created. See the `status` field for\nadditional details on why it failed.\n - UPDATING: There are in-progress updates happening with the deployment shard." gatewayUserState: type: string enum: - STATE_UNSPECIFIED - CREATING - READY - UPDATING - DELETING default: STATE_UNSPECIFIED gatewayListTrainingSessionsResponse: type: object properties: trainingSessions: type: array items: type: object $ref: '#/components/schemas/gatewayTrainingSession' nextPageToken: type: string totalSize: type: integer format: int32 gatewayListEvaluatorVersionsResponse: type: object properties: evaluatorVersions: type: array items: type: object $ref: '#/components/schemas/gatewayEvaluatorVersion' nextPageToken: type: string description: 'A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of evaluator versions. gatewayGetDatasetUploadEndpointResponse: type: object properties: filenameToSignedUrls: type: object additionalProperties: type: string title: Signed URLs for uploading dataset files gatewayListDeveloperPassesResponse: type: object properties: developerPasses: type: array items: type: object $ref: '#/components/schemas/gatewayDeveloperPass' description: The list of developer passes. nextPageToken: type: string description: Token to retrieve the next page of results. totalSize: type: integer format: int32 description: The total number of developer passes matching the query. DeploymentHotLoadBucketType: type: string enum: - BUCKET_TYPE_UNSPECIFIED - MINIO - S3 - NEBIUS - FW_HOSTED default: BUCKET_TYPE_UNSPECIFIED title: '- FW_HOSTED: Fireworks hosted bucket' gatewayCreditRedemption: type: object properties: name: type: string description: The resource name of the credit redemption. readOnly: true creditCode: type: string title: The user-facing code of the credit code being redeemed createTime: type: string format: date-time description: The creation time of the credit redemption (i.e. when the credit code was redeemed). readOnly: true title: CreditRedemption represents a record of a code redemption. Stored as (code, account) pairs required: - creditCode GatewayCancelReinforcementFineTuningJobBody: type: object gatewayEvaluatorState: type: string enum: - STATE_UNSPECIFIED - ACTIVE - BUILDING - BUILD_FAILED default: STATE_UNSPECIFIED title: "- ACTIVE: The evaluator is ready to use for evaluation\n - BUILDING: The evaluator is being built, i.e. building the e2b template\n - BUILD_FAILED: The evaluator build failed, and it cannot be used for evaluation" gatewayPurpose: type: string enum: - PURPOSE_UNSPECIFIED - PURPOSE_PILOT default: PURPOSE_UNSPECIFIED description: Scheduling purpose for training jobs and deployments. gatewayCodeSnippets: type: object properties: language: type: string fileContents: type: object additionalProperties: type: string title: File name to code snippet, default is main.py entryFile: type: string entryFunc: type: string gatewayListModelsResponse: type: object properties: models: type: array items: type: object $ref: '#/components/schemas/gatewayModel' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of models gatewayGetModelUploadEndpointResponse: type: object properties: filenameToSignedUrls: type: object additionalProperties: type: string title: Signed URLs for uploading model files filenameToUnsignedUris: type: object additionalProperties: type: string description: 'Unsigned URIs (e.g. s3://bucket/key, gs://bucket/key) for uploading model files. Returned when the caller has permission to upload to the URIs.' gatewayClusterConnectionInfo: type: object properties: endpoint: type: string description: The cluster's Kubernetes API server endpoint. caData: type: string description: Base64-encoded cluster's CA certificate. gatewayListDeploymentShapeVersionsResponse: type: object properties: deploymentShapeVersions: type: array items: type: object $ref: '#/components/schemas/gatewayDeploymentShapeVersion' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 description: The total number of deployment shape versions. GatewayCreateModelBody: type: object properties: model: $ref: '#/components/schemas/gatewayModel' description: The properties of the Model being created. modelId: type: string description: ID of the model. cluster: type: string description: 'The resource name of the BYOC cluster to which this model belongs. e.g. accounts/my-account/clusters/my-cluster. Empty if it belongs to a Fireworks cluster.' required: - modelId gatewayBaseModelDetails: type: object properties: worldSize: type: integer format: int32 description: 'The default number of GPUs the model is served with. If not specified, the default is 1.' checkpointFormat: $ref: '#/components/schemas/BaseModelDetailsCheckpointFormat' huggingfaceFiles: type: array items: type: string description: 'A list of Hugging Face files associated with this model. Specified if and only if the checkpoint_format is HUGGINGFACE.' parameterCount: type: string format: int64 description: 'The number of model parameters. For serverless models, this determines the price per token.' moe: type: boolean description: 'If true, this is a Mixture of Experts (MoE) model. For serverless models, this affects the price per token.' tunable: type: boolean description: 'Deprecated: V1 training stack only. Use per-category tunable flags on Model instead.' modelType: type: string description: The type of the model. supportsFireattention: type: boolean description: Whether this model supports fireattention. defaultPrecision: $ref: '#/components/schemas/DeploymentPrecision' description: Default precision of the model. readOnly: true supportsMtp: type: boolean description: If true, this model supports MTP. gatewayReinforcementFineTuningJob: type: object properties: name: type: string readOnly: true displayName: type: string createTime: type: string format: date-time readOnly: true completedTime: type: string format: date-time description: The completed time for the reinforcement fine-tuning job. readOnly: true dataset: type: string description: The name of the dataset used for training. evaluationDataset: type: string description: The name of a separate dataset to use for evaluation. evalAutoCarveout: type: boolean description: Whether to auto-carve the dataset for eval. state: $ref: '#/components/schemas/gatewayJobState' readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true createdBy: type: string description: The email address of the user who initiated this fine-tuning job. readOnly: true trainingConfig: $ref: '#/components/schemas/gatewayBaseTrainingConfig' description: Common training configurations. evaluator: type: string description: The evaluator resource name to use for RLOR fine-tuning job. wandbConfig: $ref: '#/components/schemas/gatewayWandbConfig' description: The Weights & Biases team/user account for logging training progress. awsS3Config: $ref: '#/components/schemas/gatewayAwsS3Config' description: The AWS configuration for S3 dataset access. azureBlobStorageConfig: $ref: '#/components/schemas/gatewayAzureBlobStorageConfig' description: The Azure configuration for Blob Storage dataset access. outputStats: type: string description: The output dataset's aggregated stats for the evaluation job. readOnly: true jobProgress: $ref: '#/components/schemas/gatewayJobProgress' description: Job progress. readOnly: true inferenceParameters: $ref: '#/components/schemas/gatewayReinforcementFineTuningJobInferenceParameters' description: RFT inference parameters. chunkSize: type: integer format: int32 description: Data chunking for rollout, default size 200, enabled when dataset > 300. Valid range is 1-10,000. outputMetrics: type: string readOnly: true maxInferenceReplicaCount: type: integer format: int32 title: 'Maximum number of replicas to use for the deployment. Default is 1' nodeCount: type: integer format: int32 description: 'The number of nodes to use for the fine-tuning job. If not specified, the default is 1.' lossConfig: $ref: '#/components/schemas/gatewayReinforcementLearningLossConfig' description: Reinforcement learning loss method + hyperparameters for the underlying trainers. trainerLogsSignedUrl: type: string description: 'The signed URL for the trainer logs file (stdout/stderr). Only populated if the account has trainer log reading enabled.' readOnly: true acceleratorSeconds: type: object additionalProperties: type: string format: int64 description: Accelerator seconds used by the job, keyed by accelerator type (e.g., "NVIDIA_H100_80GB"). Updated when job completes or is cancelled. readOnly: true maxConcurrentRollouts: type: integer format: int32 description: Maximum number of concurrent rollouts during the RFT job. maxConcurrentEvaluations: type: integer format: int32 description: Maximum number of concurrent evaluations during the RFT job. purpose: $ref: '#/components/schemas/gatewayPurpose' description: Scheduling purpose for this job. required: - dataset - evaluator gatewayRlorTrainerJobCheckpoint: type: object properties: name: type: string title: 'The resource name of the checkpoint. Format: accounts/{account}/rlorTrainerJobs/{job}/checkpoints/{checkpoint}' readOnly: true createTime: type: string format: date-time description: The creation time of the checkpoint (from GCS object metadata). readOnly: true updateTime: type: string format: date-time description: 'The update time of the checkpoint. Equal to create_time since checkpoints are immutable GCS objects.' readOnly: true checkpointType: $ref: '#/components/schemas/gatewayCheckpointType' description: The type of checkpoint. readOnly: true promotable: type: boolean description: 'Whether this checkpoint can be promoted to a model. Only INFERENCE_BASE and INFERENCE_LORA checkpoints are promotable. INFERENCE_ARC_V2 and TRAINING_* checkpoints cannot be promoted directly.' readOnly: true description: 'A checkpoint saved during an RLOR trainer job. Checkpoints are stored in GCS and discovered on-demand (not persisted in the database).' gatewayListEvaluationsResponse: type: object properties: evaluations: type: array items: type: object $ref: '#/components/schemas/gatewayEvaluation' nextPageToken: type: string totalSize: type: integer format: int32 DatasetFormat: type: string enum: - FORMAT_UNSPECIFIED - CHAT - COMPLETION - RL default: FORMAT_UNSPECIFIED gatewayGetReinforcementFineTuningJobMetricsFileResponse: type: object properties: signedUrl: type: string description: The signed URL for the metrics file. gatewayJobState: type: string enum: - JOB_STATE_UNSPECIFIED - JOB_STATE_CREATING - JOB_STATE_RUNNING - JOB_STATE_COMPLETED - JOB_STATE_FAILED - JOB_STATE_CANCELLED - JOB_STATE_DELETING - JOB_STATE_WRITING_RESULTS - JOB_STATE_VALIDATING - JOB_STATE_DELETING_CLEANING_UP - JOB_STATE_PENDING - JOB_STATE_EXPIRED - JOB_STATE_RE_QUEUEING - JOB_STATE_CREATING_INPUT_DATASET - JOB_STATE_IDLE - JOB_STATE_CANCELLING - JOB_STATE_EARLY_STOPPED - JOB_STATE_PAUSED - JOB_STATE_DELETED default: JOB_STATE_UNSPECIFIED description: "JobState represents the state an asynchronous job can be in.\n\n - JOB_STATE_PAUSED: Job is paused, typically due to account suspension or manual intervention.\n - JOB_STATE_DELETED: Job has been deleted." protobufAny: type: object properties: '@type': type: string description: "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." additionalProperties: {} description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" gatewayAzureBlobModelSource: type: object properties: storageAccount: type: string description: The Azure storage account name. container: type: string description: The Azure blob container name. path: type: string description: The path prefix within the container. sasTokenSecret: type: string description: 'Reference to a Fireworks secret containing the Azure SAS token. Format: accounts/{account}/secrets/{secret_id} The secret''s value should contain the SAS token. Create a secret first using the Secrets API, then reference it here.' clientId: type: string description: 'Azure AD client ID for authentication. If set, tenant_id must also be set.' tenantId: type: string description: 'Azure AD tenant ID for authentication. If set, client_id must also be set.' required: - storageAccount - container GatewayCancelDpoJobBody: type: object gatewayTEFTDetails: type: object gatewayListTrainingShapeVersionsResponse: type: object properties: trainingShapeVersions: type: array items: type: object $ref: '#/components/schemas/gatewayTrainingShapeVersion' nextPageToken: type: string totalSize: type: integer format: int32 gatewayListAccountServerlessRateLimitsResponse: type: object properties: rateLimits: type: array items: type: object $ref: '#/components/schemas/gatewayAccountRateLimit' description: 'Snapshot of effective limits at the end of the requested range (or at the current time if `end` is unset), using the same resolution rules as the time series.' series: type: array items: type: object $ref: '#/components/schemas/gatewayTimeSeries' description: Time series of peak effective limits per interval, one series per deployment and metric. gatewayRefreshSessionTokenRequest: type: object properties: refreshToken: type: string description: The refresh token used to mint a fresh access token. description: Request to refresh an existing session JWT before it expires. gatewayPEFTDetails: type: object properties: baseModel: type: string title: The base model name. e.g. accounts/fireworks/models/falcon-7b r: type: integer format: int32 description: 'The rank of the update matrices. Must be between 4 and 64, inclusive.' targetModules: type: array items: type: string title: 'This is the target modules for an adapter that we extract from for more information what target module means, check out https://huggingface.co/docs/peft/conceptual_guides/lora#common-lora-parameters-in-peft' baseModelType: type: string description: The type of the model. readOnly: true mergeAddonModelName: type: string title: The resource name of the model to merge with base model, e.g accounts/fireworks/models/falcon-7b-lora title: PEFT addon details. required: - baseModel - r - targetModules gatewayEvaluation: type: object properties: name: type: string title: Current fields in your proto readOnly: true createTime: type: string format: date-time readOnly: true createdBy: type: string readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true evaluationType: type: string title: string llm_evaluator_prompt = 6; description: type: string title: Optional description of the evaluation providers: type: array items: type: object $ref: '#/components/schemas/gatewayProvider' title: One or more providers to use assertions: type: array items: type: object $ref: '#/components/schemas/gatewayAssertion' title: One or more assertions to evaluate updateTime: type: string format: date-time description: The update time for the evaluation. readOnly: true required: - evaluationType - providers - assertions GatewayCreateEvaluatorV2Body: type: object properties: evaluator: $ref: '#/components/schemas/gatewayEvaluator' evaluatorId: type: string required: - evaluator gatewayOidcConfig: type: object properties: issuerUrl: type: string title: OIDC issuer URL clientId: type: string title: Client ID clientSecret: type: string title: Client secret title: OIDC Configuration required: - issuerUrl - clientId - clientSecret gatewayListEvaluatorsResponse: type: object properties: evaluators: type: array items: type: object $ref: '#/components/schemas/gatewayEvaluator' nextPageToken: type: string totalSize: type: integer format: int32 gatewayEvaluatorVersion: type: object properties: name: type: string description: The name of the evaluator revision. readOnly: true snapshot: $ref: '#/components/schemas/gatewayEvaluator' description: The snapshot of the evaluator at the time the revision was created. readOnly: true createTime: type: string format: date-time description: The timestamp that the revision was created. readOnly: true alternateIds: type: array items: type: string description: Other revision IDs that share the same snapshot (e.g. aliases like "latest"). readOnly: true gatewayFakeCluster: type: object properties: projectId: type: string location: type: string clusterName: type: string title: A fake cluster using https://pkg.go.dev/k8s.io/client-go/kubernetes/fake gatewayReinforcementFineTuningJobInferenceParameters: type: object properties: maxOutputTokens: type: integer format: int32 description: Maximum number of tokens to generate per response. temperature: type: number format: float description: Sampling temperature, typically between 0 and 2. topP: type: number format: float description: Top-p sampling parameter, typically between 0 and 1. responseCandidatesCount: type: integer format: int32 title: Number of response candidates to generate per input. RFT requires at least 2 candidates extraBody: type: string description: 'Additional parameters for the inference request as a JSON string. For example: "{\"stop\": [\"\\n\"]}".' topK: type: integer format: int32 description: Top-k sampling parameter, limits the token selection to the top k tokens. title: RFT inference parameters gatewayBaseTrainingConfig: type: object properties: outputModel: type: string description: The model ID to be assigned to the resulting fine-tuned model. If not specified, the job ID will be used. baseModel: type: string description: 'The name of the base model to be fine-tuned Only one of ''base_model'' or ''warm_start_from'' should be specified.' warmStartFrom: type: string description: 'The PEFT addon model in Fireworks format to be fine-tuned from Only one of ''base_model'' or ''warm_start_from'' should be specified.' jinjaTemplate: type: string title: The Jinja template for conversation formatting. If not specified, defaults to the base model's conversation template configuration learningRate: type: number format: float description: The learning rate used for training. maxContextLength: type: integer format: int32 description: The maximum context length to use with the model. loraRank: type: integer format: int32 description: The rank of the LoRA layers. epochs: type: integer format: int32 description: The number of epochs to train for. batchSize: type: integer format: int32 description: The maximum packed number of tokens per batch for training in sequence packing. gradientAccumulationSteps: type: integer format: int32 title: Number of gradient accumulation steps learningRateWarmupSteps: type: integer format: int32 title: Number of steps for learning rate warm up batchSizeSamples: type: integer format: int32 description: The number of samples per gradient batch. optimizerWeightDecay: type: number format: float description: Weight decay (L2 regularization) for optimizer. trainerShardingScheme: $ref: '#/components/schemas/gatewayTrainerShardingScheme' description: Structured trainer sharding/parallelism configuration. loraAlpha: type: integer format: int32 description: 'LoRA alpha scaling factor. If not specified (or 0), trainer defaults are used.' loraDropout: type: number format: float description: LoRA dropout probability. loraTargetModules: type: array items: type: string description: Optional LoRA target module names (e.g. q_proj, k_proj, v_proj). title: 'BaseTrainingConfig contains common configuration fields shared across different training job types.' GatewayCancelRlorTrainerJobBody: type: object gatewayDatasetState: type: string enum: - STATE_UNSPECIFIED - UPLOADING - READY default: STATE_UNSPECIFIED gatewayListDpoJobsResponse: type: object properties: dpoJobs: type: array items: type: object $ref: '#/components/schemas/gatewayDpoJob' nextPageToken: type: string description: 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' totalSize: type: integer format: int32 title: The total number of dpo jobs gatewayEvaluateOptions: type: object properties: maxConcurrency: type: integer format: int32 title: 'Maximum concurrent requests (default: 4)' repeat: type: integer format: int32 title: 'Number of times to repeat each test case (default: 1)' delay: type: integer format: int32 title: Delay (in ms) between API calls title: Options for how to run the evaluation gatewayPricingPlan: type: object properties: name: type: string title: 'The resource name of the pricing plan Format: accounts/{account}/pricingPlans/{pricing_plan_id}' readOnly: true billingType: $ref: '#/components/schemas/PricingPlanBillingType' title: Billing type determines how usage is tracked and billed tokenConfig: type: array items: type: object $ref: '#/components/schemas/PricingPlanTokenBillingConfig' title: Configuration for token-based billing acceleratorHourConfig: type: array items: type: object $ref: '#/components/schemas/PricingPlanAcceleratorHourBillingConfig' title: Configuration for accelerator-hour billing startTime: type: string format: date-time title: When this pricing plan becomes active endTime: type: string format: date-time title: When this pricing plan expires createTime: type: string format: date-time title: Creation timestamp readOnly: true updateTime: type: string format: date-time title: Last update timestamp readOnly: true state: $ref: '#/components/schemas/gatewayPricingPlanState' title: The state of the pricing plan readOnly: true description: 'PricingPlan defines a custom billing plan for an account Each PricingPlan is associated with a contract, and describes the pricing terms for a specific service.' required: - billingType - startTime GatewayPreviewEvaluatorBody: type: object properties: evaluator: $ref: '#/components/schemas/gatewayEvaluator' title: The evaluator object to run preview on sampleData: type: array items: type: string title: Sample data in JSON format (array of json formated samples) maxSamples: type: integer format: int32 title: Maximum number of samples to evaluate, default is 10 required: - evaluator - sampleData gatewayDeveloperPass: type: object properties: name: type: string title: 'The resource name of the developer pass. Format: accounts/{account_id}/developerPasses/{developer_pass_id}' readOnly: true autoRenew: type: boolean description: Whether the developer pass will automatically renew upon expiry. endTime: type: string format: date-time description: The time at which the developer pass ends. readOnly: true createTime: type: string format: date-time description: Creation timestamp. readOnly: true updateTime: type: string format: date-time description: Last update timestamp. readOnly: true state: $ref: '#/components/schemas/gatewayDeveloperPassState' description: State of the developer pass (active or expired). lastRenewTime: type: string format: date-time description: The time at which the developer pass was last renewed. readOnly: true title: DeveloperPass represents an account-level usage pass gatewayTimeSeriesPoint: type: object properties: timestamp: type: string format: int64 title: Unix timestamp in seconds value: type: string title: The value at this timestamp gatewayRouter: type: object properties: name: type: string readOnly: true displayName: type: string createTime: type: string format: date-time readOnly: true createdBy: type: string readOnly: true state: $ref: '#/components/schemas/gatewayRouterState' description: The state of the router. readOnly: true status: $ref: '#/components/schemas/gatewayStatus' readOnly: true deployments: type: array items: type: string description: The deployment names to be covered by the router. model: type: string description: 'The model name to route requests to. model is only applicable to single-region deployments. For multi-region deployments, model must be empty.' weightedRandom: $ref: '#/components/schemas/gatewayWeightedRandomStrategy' evenLoad: $ref: '#/components/schemas/gatewayEvenLoadStrategy' aliases: type: array items: type: string title: "Aliases for the router. These are the alias names that can be used to\nroute requests through the router.\nBy default, these aliases are generated by the system.\nExamples:\n \"accounts/foo/deployments/my-deployment\" or \"foo/my-deployment\"\n \"accounts/foo/routers/my-router\"\n \"accounts/foo/models/my-base-model\" - only if this is the first deployment using this model" readOnly: true autoGenerated: type: boolean description: 'auto_generated indicates this router was generated by the system for a deployment. Auto-generated routers cannot be updated or deleted by the user.' readOnly: true public: type: boolean description: 'True if the router is public (any account can query the underlying workload), false if the router is private (only the account that owns the router can query the underlying workload).' gatewayPreviewEvaluationResponse: type: object properties: results: type: array items: type: object $ref: '#/components/schemas/gatewayPreviewEvaluationResult' title: Results for each sample totalSamples: type: integer format: int32 title: Summary statistics totalRuntimeMs: type: string format: int64 title: overalll runtime title: Response for preview evaluation gatewayModelVersion: type: object properties: name: type: string description: The resource name of the deployment snapshot. readOnly: true createTime: type: string format: date-time readOnly: true snapshot: $ref: '#/components/schemas/gatewayModel' readOnly: true securitySchemes: BearerAuth: type: http scheme: bearer description: 'Bearer authentication using your Fireworks API key. Format: Bearer ' bearerFormat: API_KEY