{"openapi":"3.0.0","info":{"description":"Parasail serverless GPU inference — OpenAI-compatible v1; static Bearer key.","version":"v1"},"servers":[{"description":"Parasail serverless GPU inference — OpenAI-compatible v1; static Bearer key.","url":"https://api.apirails.com/parasail"}],"paths":{"/chat/completions":{"post":{"tags":["Chat"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/chat-completions","api_endpoint":"https://api.parasail.io/v1/chat/completions"},"summary":"Create chat completion","description":"OpenAI-compatible chat completions for serverless and dedicated model inference.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"frequency_penalty":{"type":"number","description":"Penalizes tokens that have appeared frequently, preventing repetition of common words."},"max_tokens":{"type":"number","description":"Maximum number of tokens to generate."},"messages":{"type":"array","description":"Array of message objects with role and content.","required":true,"items":{"type":"object","properties":{"content":{"type":"string","description":"The contents of the message. Vision models accept content arrays with image_url parts using base64 data URLs.","required":true},"role":{"type":"string","description":"The role of the message author.","required":true,"enum":["system","user","assistant"]}}}},"model":{"type":"string","description":"Model ID (e.g. parasail-deepseek-r1), a HuggingFace ID, or a dedicated deployment name.","required":true},"presence_penalty":{"type":"number","description":"Increases the likelihood of introducing new tokens, making outputs more diverse."},"repetition_penalty":{"type":"number","description":"Penalizes repeated tokens to avoid looping responses. Common values 1.1 to 1.2."},"seed":{"type":"number","description":"Fixed seed for reproducible results."},"stream":{"type":"boolean","description":"Stream tokens as they're generated via server-sent events.","enum":[true,false]},"temperature":{"type":"number","description":"Controls randomness. Higher values (>1.0) increase randomness; lower values make output more deterministic; 0 forces greedy decoding."},"tool_choice":{"type":"string","description":"Controls tool use: auto, required, none, or a specific tool.","enum":["auto","required","none"]},"tools":{"type":"array","description":"Tool/function definitions for function calling.","items":{"type":"object","properties":{"type":{"type":"string","description":"The tool type, currently function.","required":true,"enum":["function"]},"function":{"type":"object","description":"The function definition (name, description, parameters as JSON Schema).","required":true}}}},"top_k":{"type":"number","description":"Limits token selection to the top k most probable tokens. -1 disables. Not in the OpenAI spec; pass in extra_body when using OpenAI SDKs."},"top_p":{"type":"number","description":"Nucleus sampling: only considers tokens that sum up to top_p probability."}}},"example":{"frequency_penalty":"","max_tokens":1024,"messages":[{"content":"What is the capital of New York?","role":"user"}],"model":"parasail-deepseek-r1","presence_penalty":"","repetition_penalty":1.1,"seed":42,"stream":"","temperature":0.7,"tool_choice":"auto","tools":[],"top_k":50,"top_p":0.9}}}}}},"/completions":{"post":{"tags":["Completions"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/chat-completions","api_endpoint":"https://api.parasail.io/v1/completions"},"summary":"Create completion","description":"Single-prompt text completion endpoint for translation, code generation, email drafting; OpenAI-compatible.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"max_tokens":{"type":"number","description":"Maximum number of tokens to generate."},"model":{"type":"string","description":"Model ID (e.g. parasail-deepseek-r1), a HuggingFace ID, or a dedicated deployment name.","required":true},"prompt":{"type":"string","description":"The prompt to generate a completion for.","required":true},"stream":{"type":"boolean","description":"Stream tokens as they're generated.","enum":[true,false]},"temperature":{"type":"number","description":"Controls randomness; 0 forces greedy decoding."},"top_p":{"type":"number","description":"Nucleus sampling probability mass."}}},"example":{"max_tokens":512,"model":"parasail-deepseek-r1","prompt":"Translate to French: Hello, world!","stream":"","temperature":0.7,"top_p":0.9}}}}}},"/responses":{"post":{"tags":["Responses"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/responses-api","api_endpoint":"https://api.parasail.io/v1/responses"},"summary":"Create response","description":"OpenAI-compatible Responses API for multi-turn agentic workflows with built-in tool calling. store must be false; pass full history in input each turn.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"input":{"type":"string","description":"Prompt string, or the full message/history array for multi-turn calls.","required":true},"model":{"type":"string","description":"Model ID, for example parasail-kimi-k25-elicit.","required":true},"store":{"type":"boolean","description":"Must be false — server-side state storage is not supported.","required":true,"enum":[true,false]},"stream":{"type":"boolean","description":"Stream events as they're generated.","enum":[true,false]},"tool_choice":{"type":"string","description":"Controls tool use: auto, required, or none.","enum":["auto","required","none"]},"tools":{"type":"array","description":"Tool/function definitions for function calling and parallel tool execution.","items":{"type":"object","properties":{"type":{"type":"string","description":"The tool type, currently function.","required":true,"enum":["function"]},"description":{"type":"string","description":"A description of what the function does."},"name":{"type":"string","description":"The function name."},"parameters":{"type":"object","description":"The parameters the function accepts, described as a JSON Schema object."}}}}}},"example":{"input":"Explain the difference between TCP and UDP in two sentences.","model":"parasail-kimi-k25-elicit","store":"","stream":"","tool_choice":"auto","tools":[]}}}}}},"/embeddings":{"post":{"tags":["Embeddings"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/embeddings","api_endpoint":"https://api.parasail.io/v1/embeddings"},"summary":"Create embeddings","description":"Generates vector embeddings for text using open-source embedding models; OpenAI-compatible.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"encoding_format":{"type":"string","description":"float or base64 (recommended for smaller payloads).","enum":["float","base64"]},"input":{"type":"string","description":"Text to embed. Pass an array to embed multiple inputs in one request.","required":true},"model":{"type":"string","description":"Embedding model ID, for example parasail-ai/GritLM-7B-vllm.","required":true}}},"example":{"encoding_format":"float","input":"Parasail provides affordable cloud GPUs for AI inference.","model":"parasail-ai/GritLM-7B-vllm"}}}}}},"/models":{"get":{"tags":["Models"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/models-endpoint","api_endpoint":"https://api.parasail.io/v1/models"},"summary":"List models","description":"Lists all available models on the Parasail platform: serverless (parasail- prefix), dedicated deployments, and HuggingFace models. Not paginated.","security":[{"bearerAuth":[]}]}},"/batches":{"post":{"tags":["Batch"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/batch-api","api_endpoint":"https://api.parasail.io/v1/batches"},"summary":"Create batch","description":"Creates and executes a batch from an uploaded input file (OpenAI batch API drop-in; up to 50,000 requests and 1000 MB per file). Default priority 0; raise via PARASAIL_PRIORITY metadata.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"completion_window":{"type":"string","description":"Time window for batch completion.","enum":["24h"]},"endpoint":{"type":"string","description":"The endpoint used for batch processing.","required":true,"enum":["/v1/chat/completions","/v1/embeddings"]},"input_file_id":{"type":"string","description":"ID of the uploaded .jsonl input file containing batch requests.","required":true},"metadata":{"type":"object","description":"Optional metadata; use PARASAIL_PRIORITY to raise batch priority.","properties":{"PARASAIL_PRIORITY":{"type":"string","description":"Batch priority; default 0. Use sparingly for urgent jobs."}}}}},"example":{"completion_window":"24h","endpoint":"/v1/chat/completions","input_file_id":"file-abc123","metadata":{}}}}}},"get":{"tags":["Batch"],"parameters":[{"name":"after","in":"query","description":"Cursor for pagination.","required":false,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"Number of batches to return.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/batch-api","api_endpoint":"https://api.parasail.io/v1/batches"},"summary":"List batches","description":"Lists batch jobs (OpenAI batch API drop-in).","security":[{"bearerAuth":[]}]}},"/batches/{batch_id}":{"get":{"tags":["Batch"],"parameters":[{"name":"batch_id","in":"path","description":"The unique identifier of the batch job.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/batch-api","api_endpoint":"https://api.parasail.io/v1/batches/{batch_id}"},"summary":"Retrieve batch","description":"Retrieves a batch job (OpenAI batch API drop-in).","security":[{"bearerAuth":[]}]}},"/batches/{batch_id}/cancel":{"post":{"tags":["Batch"],"parameters":[{"name":"batch_id","in":"path","description":"The unique identifier of the batch job to cancel.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/batch-api","api_endpoint":"https://api.parasail.io/v1/batches/{batch_id}/cancel"},"summary":"Cancel batch","description":"Cancels an in-progress batch job (OpenAI batch API drop-in).","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/files":{"post":{"tags":["Files"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/batch-api","api_endpoint":"https://api.parasail.io/v1/files"},"summary":"Upload batch file","description":"Uploads a .jsonl batch input file (OpenAI files API drop-in). Up to 50,000 requests and 1000 MB per file; 100% OpenAI-compatible format with custom_id and body per line.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"file":{"type":"string","format":"binary","description":"The batch input .jsonl file. Each line: {\"custom_id\": \"request-1\", \"body\": {\"model\": \"...\", \"messages\": [...]}}.","required":true},"purpose":{"type":"string","description":"The purpose of the uploaded file.","required":true,"enum":["batch"]}}},"example":{"file":"(binary)","purpose":"batch"}}}}},"get":{"tags":["Files"],"parameters":[{"name":"limit","in":"query","description":"Number of files to return.","required":false,"schema":{"type":"number","example":""}},{"name":"purpose","in":"query","description":"Filter by file purpose, e.g. batch.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/batch-api","api_endpoint":"https://api.parasail.io/v1/files"},"summary":"List files","description":"Lists uploaded files (OpenAI files API drop-in).","security":[{"bearerAuth":[]}]}},"/files/{file_id}":{"get":{"tags":["Files"],"parameters":[{"name":"file_id","in":"path","description":"The unique identifier of the file.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/batch-api","api_endpoint":"https://api.parasail.io/v1/files/{file_id}"},"summary":"Retrieve file","description":"Retrieves file metadata (OpenAI files API drop-in).","security":[{"bearerAuth":[]}]},"delete":{"tags":["Files"],"parameters":[{"name":"file_id","in":"path","description":"The unique identifier of the file to delete.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/batch-api","api_endpoint":"https://api.parasail.io/v1/files/{file_id}"},"summary":"Delete file","description":"Deletes an uploaded file (OpenAI files API drop-in).","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/files/{file_id}/content":{"get":{"tags":["Files"],"parameters":[{"name":"file_id","in":"path","description":"The unique identifier of the file.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/batch-api","api_endpoint":"https://api.parasail.io/v1/files/{file_id}/content"},"summary":"Retrieve file content","description":"Retrieves the raw content of a file; used to download batch output and error files (OpenAI files API drop-in).","security":[{"bearerAuth":[]}]}},"/billing/invoices/current":{"get":{"tags":["Billing"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/billing-api","api_endpoint":"https://api.parasail.io/v1/billing/invoices/current"},"summary":"Get current invoice","description":"Returns the active draft invoice for the current billing period, updated in real time. 404 if no active draft invoice exists.","security":[{"bearerAuth":[]}]}},"/billing/invoices":{"get":{"tags":["Billing"],"parameters":[{"name":"ending_before","in":"query","description":"Only return invoices with a billing period ending before this timestamp (RFC 3339).","required":false,"schema":{"type":"string","example":""}},{"name":"starting_on","in":"query","description":"Only return invoices with a billing period starting on or after this timestamp (RFC 3339).","required":false,"schema":{"type":"string","example":""}},{"name":"status","in":"query","description":"Filter by invoice status.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["DRAFT","FINALIZED","VOID"]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/billing-api","api_endpoint":"https://api.parasail.io/v1/billing/invoices"},"summary":"List invoices","description":"Returns all invoices matching the filters. Use status=DRAFT for the current period or FINALIZED for historical invoices.","security":[{"bearerAuth":[]}]}},"/billing/invoices/breakdowns":{"get":{"tags":["Billing"],"parameters":[{"name":"ending_before","in":"query","description":"Only return breakdown windows ending before or at this timestamp (RFC 3339).","required":true,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"Max number of breakdown windows returned. Specifies units of window_size; responses paginate via next_page.","required":false,"schema":{"type":"number","example":""}},{"name":"next_page","in":"query","description":"Cursor indicating where the next page of results starts, from the previous response.","required":false,"schema":{"type":"string","example":""}},{"name":"skip_zero_qty_line_items","in":"query","description":"Set to true to omit zero-quantity line items.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"starting_on","in":"query","description":"Only return breakdown windows starting on or after this timestamp (RFC 3339).","required":true,"schema":{"type":"string","example":""}},{"name":"status","in":"query","description":"Filter by invoice status.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["DRAFT","FINALIZED","VOID"]}}},{"name":"window_size","in":"query","description":"Breakdown granularity. Daily pages return up to 35 days; hourly up to 24 hours.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["hour","day"]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/billing-api","api_endpoint":"https://api.parasail.io/v1/billing/invoices/breakdowns"},"summary":"List invoice breakdowns","description":"Returns granular invoice breakdowns for a time range: hourly or daily usage and spend within the current or historical billing period.","security":[{"bearerAuth":[]}]}},"/billing/invoices/{invoice_id}":{"get":{"tags":["Billing"],"parameters":[{"name":"invoice_id","in":"path","description":"The unique identifier of the invoice.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/api-reference/billing-api","api_endpoint":"https://api.parasail.io/v1/billing/invoices/{invoice_id}"},"summary":"Get invoice","description":"Returns a specific invoice by its unique identifier.","security":[{"bearerAuth":[]}]}},"/api/v1/dedicated/support":{"get":{"tags":["Dedicated Endpoints"],"parameters":[{"name":"engine","in":"query","description":"Inference engine, for example VLLM.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["VLLM"]}}},{"name":"modelAccessKey","in":"query","description":"Hugging Face token for privately hosted models.","required":false,"schema":{"type":"string","example":""}},{"name":"modelName","in":"query","description":"Hugging Face model ID or URL to check.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/products/overview-1/management-api","api_endpoint":"https://api.parasail.io/api/v1/dedicated/support"},"summary":"Check model support","description":"Queries whether a model is supported for dedicated deployment.","security":[{"bearerAuth":[]}]}},"/api/v1/dedicated/devices":{"get":{"tags":["Dedicated Endpoints"],"parameters":[{"name":"engine","in":"query","description":"Inference engine, for example VLLM.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["VLLM"]}}},{"name":"modelAccessKey","in":"query","description":"Hugging Face token for private models.","required":false,"schema":{"type":"string","example":""}},{"name":"modelName","in":"query","description":"Hugging Face model ID or URL.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/products/overview-1/management-api","api_endpoint":"https://api.parasail.io/api/v1/dedicated/devices"},"summary":"List supported hardware","description":"Returns valid hardware configurations and availability for a model, including multi-GPU configurations with parallelism. Flip selected to true on desired configs before creating a deployment.","security":[{"bearerAuth":[]}]}},"/api/v1/dedicated/deployments":{"post":{"tags":["Dedicated Endpoints"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/products/overview-1/management-api","api_endpoint":"https://api.parasail.io/api/v1/dedicated/deployments"},"summary":"Create deployment","description":"Creates a dedicated model deployment. Poll status from STARTING to ONLINE before sending requests.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"contextLengthOverride":{"type":"number","description":"Advanced override for context window length."},"deploymentName":{"type":"string","description":"Unique deployment name. Use lowercase letters, numbers, and dashes.","required":true},"deviceConfigs":{"type":"array","description":"Device configuration array from the dedicated devices endpoint, with one or more entries marked selected: true.","required":true,"items":{"type":"object","properties":{"available":{"type":"boolean","description":"Whether the hardware is currently available for the account and requested count.","enum":[true,false]},"cost":{"type":"number","description":"Estimated hourly cost for the full hardware configuration."},"count":{"type":"number","description":"Number of GPUs in the configuration. Parasail chooses the parallelism strategy for multi-GPU configurations.","required":true},"device":{"type":"string","description":"Device ID.","required":true},"displayName":{"type":"string","description":"Human-readable hardware name shown in the UI."},"estimatedSingleUserTps":{"type":"number","description":"Estimated output tokens per second for a single user (may be out of date)."},"estimatedSystemTps":{"type":"number","description":"Estimated total output tokens per second for the configuration (may be out of date)."},"limitedContext":{"type":"boolean","description":"Whether the full model context may exceed available memory. If true, reduce context length with contextLengthOverride.","enum":[true,false]},"recommended":{"type":"boolean","description":"Whether Parasail recommends this configuration for the model.","enum":[true,false]},"selected":{"type":"boolean","description":"Set to true on the configuration you want the scheduler to consider when creating the deployment.","required":true,"enum":[true,false]}}}},"draftModelName":{"type":"string","description":"Advanced draft model setting for speculative decoding."},"engine":{"type":"string","description":"Inference engine. Defaults to VLLM.","enum":["VLLM"]},"engineTask":{"type":"string","description":"Engine task mode. Defaults to AUTO."},"modelAccessKey":{"type":"string","description":"Hugging Face token for private models."},"modelName":{"type":"string","description":"Hugging Face model ID.","required":true},"replicas":{"type":"number","description":"Number of replicas to run.","required":true},"scaleDownPolicy":{"type":"string","description":"Autoscaling policy.","enum":["NONE","TIMER"]},"scaleDownThreshold":{"type":"number","description":"Idle threshold in milliseconds before scale-down when using a timer policy."}}},"example":{"contextLengthOverride":"","deploymentName":"myqwen","deviceConfigs":[],"draftModelName":"","engine":"","engineTask":"","modelAccessKey":"","modelName":"Qwen/Qwen2.5-72B-Instruct","replicas":1,"scaleDownPolicy":"","scaleDownThreshold":3600000}}}}}},"/api/v1/dedicated/deployments/{deployment_id}":{"get":{"tags":["Dedicated Endpoints"],"parameters":[{"name":"deployment_id","in":"path","description":"The numeric deployment ID (also visible in the platform URL, e.g. /dedicated/33665).","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/products/overview-1/management-api","api_endpoint":"https://api.parasail.io/api/v1/dedicated/deployments/{deployment_id}"},"summary":"Get deployment","description":"Retrieves deployment details including status (ONLINE, STARTING, STOPPING, OFFLINE, ERROR, UNKNOWN) and externalAlias for OpenAI-compatible calls.","security":[{"bearerAuth":[]}]},"put":{"tags":["Dedicated Endpoints"],"parameters":[{"name":"deployment_id","in":"path","description":"The numeric deployment ID.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/products/overview-1/management-api","api_endpoint":"https://api.parasail.io/api/v1/dedicated/deployments/{deployment_id}"},"summary":"Update deployment","description":"Updates a deployment configuration. GET the current deployment, modify the returned JSON (e.g. replicas), and PUT the entire object back.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"deploymentName":{"type":"string","description":"Unique deployment name."},"deviceConfigs":{"type":"array","description":"Device configuration array.","items":{"type":"object","properties":{"available":{"type":"boolean","description":"Whether the hardware is currently available for the account and requested count.","enum":[true,false]},"cost":{"type":"number","description":"Estimated hourly cost for the full hardware configuration."},"count":{"type":"number","description":"Number of GPUs in the configuration. Parasail chooses the parallelism strategy for multi-GPU configurations.","required":true},"device":{"type":"string","description":"Device ID.","required":true},"displayName":{"type":"string","description":"Human-readable hardware name shown in the UI."},"estimatedSingleUserTps":{"type":"number","description":"Estimated output tokens per second for a single user (may be out of date)."},"estimatedSystemTps":{"type":"number","description":"Estimated total output tokens per second for the configuration (may be out of date)."},"limitedContext":{"type":"boolean","description":"Whether the full model context may exceed available memory. If true, reduce context length with contextLengthOverride.","enum":[true,false]},"recommended":{"type":"boolean","description":"Whether Parasail recommends this configuration for the model.","enum":[true,false]},"selected":{"type":"boolean","description":"Set to true on the configuration you want the scheduler to consider when creating the deployment.","required":true,"enum":[true,false]}}}},"modelName":{"type":"string","description":"Hugging Face model ID."},"replicas":{"type":"number","description":"Number of replicas to run."}}},"example":{"deploymentName":"","deviceConfigs":[],"modelName":"","replicas":2}}}}},"delete":{"tags":["Dedicated Endpoints"],"parameters":[{"name":"deployment_id","in":"path","description":"The numeric deployment ID.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/products/overview-1/management-api","api_endpoint":"https://api.parasail.io/api/v1/dedicated/deployments/{deployment_id}"},"summary":"Delete deployment","description":"Permanently deletes a dedicated endpoint.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/api/v1/dedicated/deployments/{deployment_id}/pause":{"post":{"tags":["Dedicated Endpoints"],"parameters":[{"name":"deployment_id","in":"path","description":"The numeric deployment ID.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/products/overview-1/management-api","api_endpoint":"https://api.parasail.io/api/v1/dedicated/deployments/{deployment_id}/pause"},"summary":"Pause deployment","description":"Pauses a deployment to reduce costs: OFFLINE state, billing stops.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/api/v1/dedicated/deployments/{deployment_id}/resume":{"post":{"tags":["Dedicated Endpoints"],"parameters":[{"name":"deployment_id","in":"path","description":"The numeric deployment ID.","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.parasail.io/parasail-docs/products/overview-1/management-api","api_endpoint":"https://api.parasail.io/api/v1/dedicated/deployments/{deployment_id}/resume"},"summary":"Resume deployment","description":"Resumes a paused deployment; poll status from STARTING to ONLINE before it accepts requests.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}