{
  "info": {
    "name": "Predibase API",
    "description": "Predibase inference (serving) and control-plane API. Inference is OpenAI-compatible plus native generate endpoints under https://serving.app.predibase.com/{tenant}/deployments/v2/llms/{model}; fine-tuning, adapters, deployments, datasets, models, and batch inference under https://api.app.predibase.com/v2. Authenticate with a Predibase API token as a Bearer token.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{bearerToken}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "servingUrl",
      "value": "https://serving.app.predibase.com/{{tenant}}/deployments/v2/llms/{{model}}"
    },
    {
      "key": "controlUrl",
      "value": "https://api.app.predibase.com/v2"
    },
    {
      "key": "tenant",
      "value": "TENANT_ID"
    },
    {
      "key": "model",
      "value": "DEPLOYMENT_NAME"
    }
  ],
  "item": [
    {
      "name": "Inference",
      "item": [
        {
          "name": "OpenAI-compatible chat completion.",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "url": {
              "raw": "{{servingUrl}}/v1/chat/completions",
              "host": [ "{{servingUrl}}" ],
              "path": [ "v1", "chat", "completions" ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"model\": \"\",\n  \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}],\n  \"max_tokens\": 100,\n  \"stream\": false\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        },
        {
          "name": "OpenAI-compatible text completion.",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "url": {
              "raw": "{{servingUrl}}/v1/completions",
              "host": [ "{{servingUrl}}" ],
              "path": [ "v1", "completions" ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"model\": \"\",\n  \"prompt\": \"How many helicopters can a human eat in one sitting?\",\n  \"max_tokens\": 100\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        },
        {
          "name": "Native text generation.",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "url": {
              "raw": "{{servingUrl}}/generate",
              "host": [ "{{servingUrl}}" ],
              "path": [ "generate" ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"inputs\": \"What is your name?\",\n  \"parameters\": {\n    \"max_new_tokens\": 100,\n    \"adapter_id\": \"my-repo/1\",\n    \"adapter_source\": \"pbase\"\n  }\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        },
        {
          "name": "Native streaming text generation.",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "url": {
              "raw": "{{servingUrl}}/generate_stream",
              "host": [ "{{servingUrl}}" ],
              "path": [ "generate_stream" ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"inputs\": \"What is your name?\",\n  \"parameters\": {\n    \"max_new_tokens\": 100\n  }\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        }
      ]
    },
    {
      "name": "Fine-Tuning",
      "item": [
        {
          "name": "Create a fine-tuning job.",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "url": {
              "raw": "{{controlUrl}}/finetuning/jobs",
              "host": [ "{{controlUrl}}" ],
              "path": [ "finetuning", "jobs" ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"base_model\": \"qwen3-8b\",\n  \"dataset\": \"my-dataset\",\n  \"repo\": \"my-repo\",\n  \"adapter_type\": \"lora\",\n  \"task\": \"sft\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        },
        {
          "name": "List fine-tuning jobs.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/finetuning/jobs",
              "host": [ "{{controlUrl}}" ],
              "path": [ "finetuning", "jobs" ]
            }
          }
        },
        {
          "name": "Get a fine-tuning job.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/finetuning/jobs/{{jobId}}",
              "host": [ "{{controlUrl}}" ],
              "path": [ "finetuning", "jobs", "{{jobId}}" ]
            }
          }
        },
        {
          "name": "Cancel a fine-tuning job.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/finetuning/jobs/{{jobId}}/cancel",
              "host": [ "{{controlUrl}}" ],
              "path": [ "finetuning", "jobs", "{{jobId}}", "cancel" ]
            }
          }
        }
      ]
    },
    {
      "name": "Adapters",
      "item": [
        {
          "name": "Create an adapter repository.",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "url": {
              "raw": "{{controlUrl}}/repos",
              "host": [ "{{controlUrl}}" ],
              "path": [ "repos" ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"my-repo\",\n  \"description\": \"My adapter repository\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        },
        {
          "name": "List adapter repositories.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/repos",
              "host": [ "{{controlUrl}}" ],
              "path": [ "repos" ]
            }
          }
        },
        {
          "name": "Get an adapter repository.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/repos/{{repoName}}",
              "host": [ "{{controlUrl}}" ],
              "path": [ "repos", "{{repoName}}" ]
            }
          }
        },
        {
          "name": "Delete an adapter repository.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/repos/{{repoName}}",
              "host": [ "{{controlUrl}}" ],
              "path": [ "repos", "{{repoName}}" ]
            }
          }
        }
      ]
    },
    {
      "name": "Deployments",
      "item": [
        {
          "name": "Create a dedicated deployment.",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "url": {
              "raw": "{{controlUrl}}/deployments",
              "host": [ "{{controlUrl}}" ],
              "path": [ "deployments" ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"my-qwen3-8b\",\n  \"base_model\": \"qwen3-8b\",\n  \"accelerator\": \"a10_24gb\",\n  \"min_replicas\": 0,\n  \"max_replicas\": 1\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        },
        {
          "name": "List deployments.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/deployments",
              "host": [ "{{controlUrl}}" ],
              "path": [ "deployments" ]
            }
          }
        },
        {
          "name": "Get a deployment.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/deployments/{{deploymentName}}",
              "host": [ "{{controlUrl}}" ],
              "path": [ "deployments", "{{deploymentName}}" ]
            }
          }
        },
        {
          "name": "Delete a deployment.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/deployments/{{deploymentName}}",
              "host": [ "{{controlUrl}}" ],
              "path": [ "deployments", "{{deploymentName}}" ]
            }
          }
        }
      ]
    },
    {
      "name": "Datasets",
      "item": [
        {
          "name": "Connect or upload a dataset.",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "url": {
              "raw": "{{controlUrl}}/datasets",
              "host": [ "{{controlUrl}}" ],
              "path": [ "datasets" ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"my-dataset\",\n  \"source\": \"file\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        },
        {
          "name": "List datasets.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/datasets",
              "host": [ "{{controlUrl}}" ],
              "path": [ "datasets" ]
            }
          }
        },
        {
          "name": "Get a dataset.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/datasets/{{datasetName}}",
              "host": [ "{{controlUrl}}" ],
              "path": [ "datasets", "{{datasetName}}" ]
            }
          }
        }
      ]
    },
    {
      "name": "Models",
      "item": [
        {
          "name": "List supported base models.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/models",
              "host": [ "{{controlUrl}}" ],
              "path": [ "models" ]
            }
          }
        }
      ]
    },
    {
      "name": "Batch Inference",
      "item": [
        {
          "name": "Create a batch inference job.",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "url": {
              "raw": "{{controlUrl}}/batch-inference/jobs",
              "host": [ "{{controlUrl}}" ],
              "path": [ "batch-inference", "jobs" ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"base_model\": \"qwen3-8b\",\n  \"dataset\": \"my-input-dataset\",\n  \"output\": \"my-output\"\n}",
              "options": { "raw": { "language": "json" } }
            }
          }
        },
        {
          "name": "List batch inference jobs.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/batch-inference/jobs",
              "host": [ "{{controlUrl}}" ],
              "path": [ "batch-inference", "jobs" ]
            }
          }
        },
        {
          "name": "Get a batch inference job.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{controlUrl}}/batch-inference/jobs/{{jobId}}",
              "host": [ "{{controlUrl}}" ],
              "path": [ "batch-inference", "jobs", "{{jobId}}" ]
            }
          }
        }
      ]
    }
  ]
}
