{"openapi":"3.0.0","info":{"description":"Requesty unified LLM gateway — OpenAI/Anthropic-compatible inference for 300+ models on router.requesty.ai/v1 plus management APIs (API keys, groups, org usage) on api-v2.requesty.ai; static Bearer key.","version":null},"servers":[{"description":"Requesty unified LLM gateway — OpenAI/Anthropic-compatible inference for 300+ models on router.requesty.ai/v1 plus management APIs (API keys, groups, org usage) on api-v2.requesty.ai; static Bearer key.","url":"https://api.apirails.com/requesty"}],"paths":{"/chat/completions":{"post":{"tags":["Chat"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/chat-completions-create.md","api_endpoint":"https://router.requesty.ai/v1/chat/completions"},"summary":"Create chat completion","description":"Create a chat completion using various AI models. Compatible with the OpenAI Chat Completions format.","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"},"messages":{"type":"array","description":"An array of message objects with role and content","required":true,"items":{"type":"object","properties":{"content":{"type":"string","description":"The content of the message","required":true},"name":{"type":"string","description":"The name of the tool (for tool messages)"},"role":{"type":"string","description":"The role of the message sender","required":true,"enum":["user","assistant","system","tool"]}}}},"model":{"type":"string","description":"The model name. If omitted, defaults to openai/gpt-4o-mini."},"response_format":{"type":"object","description":"For structured responses (some models only)"},"stream":{"type":"boolean","description":"Enable Server-Sent Events (SSE) streaming responses"},"temperature":{"type":"number","description":"Controls randomness of the output"},"tool_choice":{"type":"string","description":"Specifies how tool calling should be handled"},"tools":{"type":"array","description":"Available tools for the model. Supports `function` tools for custom function calling and `web_search` for real-time web search.","items":{"type":"object","properties":{"type":{"type":"string","description":"The type of tool. Use `function` for custom function calling, or `web_search` to enable the model to search the web for real-time information. When `type=web_search`, Requesty translates the tool to the provider's native web search format (Anthropic, Vertex/Gemini, OpenAI, xAI, Perplexity).","required":true,"enum":["function","web_search"]},"function":{"type":"object","description":"function"}}}},"top_p":{"type":"number","description":"Controls diversity of the output"}}},"example":{"max_tokens":"","messages":[],"model":"","response_format":{},"stream":"","temperature":"","tool_choice":"","tools":[],"top_p":""}}}}}},"/embeddings":{"post":{"tags":["Embeddings"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/embeddings-create.md","api_endpoint":"https://router.requesty.ai/v1/embeddings"},"summary":"Create embedding","description":"Create vector embeddings for text input using embedding models.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"dimensions":{"type":"number","description":"The number of dimensions the resulting output embeddings should have"},"encoding_format":{"type":"string","description":"The format to return the embeddings in. Can be either float or base64.","enum":["float","base64"]},"input":{"type":"string","description":"Input text to embed, encoded as a string, array of strings, array of tokens, or array of token arrays","required":true},"model":{"type":"string","description":"The model name to use for embedding generation","required":true},"user":{"type":"string","description":"A unique identifier representing your end-user."}}},"example":{"dimensions":"","encoding_format":"","input":"","model":"openai/text-embedding-3-small","user":""}}}}}},"/images/generations":{"post":{"tags":["Images"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/images-generations-create.md","api_endpoint":"https://router.requesty.ai/v1/images/generations"},"summary":"Create image","description":"Generate images from a text prompt using image generation models","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"background":{"type":"string","description":"The background type for the generated image","enum":["auto","transparent","opaque"]},"model":{"type":"string","description":"The model to use for image generation","required":true},"n":{"type":"number","description":"The number of images to generate"},"output_format":{"type":"string","description":"The file format of the generated image","enum":["png","jpeg","webp"]},"prompt":{"type":"string","description":"A text description of the desired image","required":true},"quality":{"type":"string","description":"The quality of the generated image","enum":["auto","high","medium","low"]},"response_format":{"type":"string","description":"The format in which the generated images are returned","enum":["url","b64_json"]},"size":{"type":"string","description":"The size of the generated images","enum":["1024x1024","1536x1024","1024x1536"]}}},"example":{"background":"","model":"azure/openai/gpt-image-1","n":"","output_format":"","prompt":"A watercolor painting of a Japanese garden in autumn","quality":"","response_format":"","size":""}}}}}},"/images/edits":{"post":{"tags":["Images"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/images-edits-create.md","api_endpoint":"https://router.requesty.ai/v1/images/edits"},"summary":"Edit image","description":"Edit or extend an existing image from a text prompt using image editing models. Accepts multipart/form-data (for file uploads) or application/json (with image references as base64 data URLs or file IDs).","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"images":{"type":"array","description":"The list of input image references to edit. Up to 16 images for GPT image models.","required":true,"items":{"type":"object","properties":{"file_id":{"type":"string","description":"The File API ID of an uploaded image to use as input"},"image_url":{"type":"string","description":"A public URL or a base64 encoded data URL for the input image"}}}},"mask":{"type":"object","description":"A reference to an input image by uploaded file ID or by URL. Provide exactly one of file_id or image_url. image_url accepts a public URL or a base64 data URL (for example data:image/png;base64,iVBORw0KGgo...).","properties":{"file_id":{"type":"string","description":"The File API ID of an uploaded image to use as input"},"image_url":{"type":"string","description":"A public URL or a base64 encoded data URL for the input image"}}},"model":{"type":"string","description":"The model to use for image editing","required":true},"prompt":{"type":"string","description":"A text description of the desired edit","required":true},"quality":{"type":"string","description":"The quality of the edited image. Defaults to auto.","enum":["auto","high","medium","low"]},"size":{"type":"string","description":"The size of the edited images. Defaults to auto.","enum":["auto","1024x1024","1536x1024","1024x1536"]}}},"example":{"images":[],"mask":{},"model":"azure/openai/gpt-image-1","prompt":"Make the sky a dramatic sunset","quality":"","size":""}}}}}},"/audio/speech":{"post":{"tags":["Audio"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/audio-speech-create.md","api_endpoint":"https://router.requesty.ai/v1/audio/speech"},"summary":"Create speech","description":"Synthesizes audio from input text using a text-to-speech model. By default the response is a binary audio stream in the requested format. When `stream_format` is `sse`, the response is a Server-Sent Events stream of `speech.audio.delta` and `speech.audio.done` events with base64-encoded audio chunks.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"input":{"type":"string","description":"The text to synthesize into speech. Maximum length is 4096 characters.","required":true},"instructions":{"type":"string","description":"Additional steering for the voice (tone, accent, pacing). Supported by `openai/gpt-4o-mini-tts` only. Ignored by `openai/tts-1` and `openai/tts-1-hd`."},"model":{"type":"string","description":"The text-to-speech model to use, prefixed with the provider slug. Currently only OpenAI models are supported.","required":true},"response_format":{"type":"string","description":"The audio container format for the synthesized output.","enum":["mp3","opus","aac","flac","wav","pcm"]},"speed":{"type":"number","description":"Playback speed of the generated audio. `1.0` is normal speed."},"stream_format":{"type":"string","description":"Optional and not recommended for most clients. Omit this field to get the default response shape: raw audio bytes in the requested `response_format`. Set to `sse` only with `openai/gpt-4o-mini-tts` to receive a Server-Sent Events stream of `speech.audio.delta` and `speech.audio.done` events with base64-encoded audio chunks. The router rejects `sse` with `openai/tts-1` or `openai/tts-1-hd`, and rejects `audio` with `openai/gpt-4o-mini-tts`."},"voice":{"type":"string","description":"The voice to use when generating the audio.","required":true,"enum":["alloy","ash","ballad","coral","echo","fable","onyx","nova","sage","shimmer","verse"]}}},"example":{"input":"The quick brown fox jumped over the lazy dog.","instructions":"Speak in a warm, friendly tone.","model":"openai/gpt-4o-mini-tts","response_format":"","speed":"","stream_format":"","voice":"alloy"}}}}}},"/audio/transcriptions":{"post":{"tags":["Audio"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/audio-transcriptions-create.md","api_endpoint":"https://router.requesty.ai/v1/audio/transcriptions"},"summary":"Create transcription","description":"Transcribes audio into text using a speech-to-text model. The audio file is sent as `multipart/form-data`.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"file":{"type":"string","format":"binary","description":"The audio file to transcribe. Supported formats are `flac`, `mp3`, `mp4`, `mpeg`, `mpga`, `m4a`, `ogg`, `wav`, and `webm`. Maximum upload size is 32 MB.","required":true},"language":{"type":"string","description":"The language of the input audio in ISO 639-1 format (for example, `en`, `fr`, `ja`). Supplying the language improves accuracy and latency. Auto-detected when omitted."},"model":{"type":"string","description":"The speech-to-text model to use, prefixed with the provider slug. Currently only OpenAI models are supported.","required":true}}},"example":{"file":"(binary)","language":"","model":"openai/gpt-4o-transcribe"}}}}}},"/models":{"get":{"tags":["Models"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/models-list.md","api_endpoint":"https://router.requesty.ai/v1/models"},"summary":"List available models","description":"Get all available models. If authenticated with a Requesty API key, returns only approved models for your organization. Otherwise, returns all public models.","security":[{"bearerAuth":[]}]}},"/messages":{"post":{"tags":["Messages"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/messages-create.md","api_endpoint":"https://router.requesty.ai/v1/messages"},"summary":"Create message","description":"Send a message to an Anthropic-compatible model and receive a response Anthropic-compatible Messages API; the gateway also accepts the connector-wide Authorization: Bearer header in place of the Anthropic SDK's x-api-key.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"max_tokens":{"type":"number","description":"The maximum number of tokens to generate before stopping","required":true},"messages":{"type":"array","description":"Input messages","required":true,"items":{"type":"object","properties":{"content":{"type":"string","description":"The contents of the message","required":true},"role":{"type":"string","description":"The role of the messages author","required":true,"enum":["user","assistant"]}}}},"model":{"type":"string","description":"The model to use for the completion","required":true},"stop_sequences":{"type":"array","description":"Custom text sequences that will cause the model to stop generating","items":{"type":"string"}},"stream":{"type":"boolean","description":"Whether to incrementally stream the response using server-sent events"},"system":{"type":"string","description":"System prompt to be used for the completion"},"temperature":{"type":"number","description":"Amount of randomness injected into the response"},"tool_choice":{"type":"string","description":"How the model should use the provided tools"},"tools":{"type":"array","description":"Definitions of tools that the model may use","items":{"type":"object","properties":{"type":{"type":"string","description":"The type of tool. Use `custom` (default, may be omitted) for user-defined tools with `name`, `description`, and `input_schema`. Use `web_search_20250305` to enable native Anthropic web search.","required":true,"enum":["custom","web_search_20250305"]},"description":{"type":"string","description":"For `custom` tools: describes when the model should use this tool."},"input_schema":{"type":"object","description":"For `custom` tools: JSON schema for the tool input."},"max_uses":{"type":"number","description":"For `web_search_20250305`: maximum number of web searches the model may perform."},"name":{"type":"string","description":"The tool name. Required for `custom` tools. For `web_search_20250305`, set to `web_search`."}}}},"top_k":{"type":"number","description":"Only sample from the top K options for each subsequent token"},"top_p":{"type":"number","description":"Use nucleus sampling"}}},"example":{"max_tokens":1024,"messages":[],"model":"","stop_sequences":[],"stream":"","system":"","temperature":"","tool_choice":"","tools":[],"top_k":"","top_p":""}}}}}},"/responses":{"post":{"tags":["Responses"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/responses-create.md","api_endpoint":"https://router.requesty.ai/v1/responses"},"summary":"Create response","description":"Send input to an OpenAI-compatible model using the Responses API format and receive a response.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"text":{"type":"object","description":"Output text configuration, including structured output format.","properties":{"format":{"type":"object","description":"Configure the format that the model must output. Set `{ \"type\": \"json_schema\" }` for strict structured outputs, or `{ \"type\": \"text\" }` (default) for plain text."}}},"include":{"type":"array","description":"Specify additional output data to include in the model response.","items":{"type":"string"}},"input":{"type":"string","description":"Text, image, or file inputs to the model. Either a plain string or an array of typed input items.","required":true},"instructions":{"type":"string","description":"Inserts a system (or developer) message as the first item in the model's context."},"max_output_tokens":{"type":"number","description":"Upper bound for the number of tokens that can be generated, including visible output tokens and reasoning tokens."},"metadata":{"type":"object","description":"Set of key-value pairs that can be attached to the request."},"model":{"type":"string","description":"The model to use for the response. To route OpenAI models through their native Responses API, use the `openai-responses/` prefix (e.g. `openai-responses/gpt-5`).","required":true},"parallel_tool_calls":{"type":"boolean","description":"Whether to allow the model to run tool calls in parallel."},"reasoning":{"type":"object","description":"Reasoning configuration for reasoning-capable models.","properties":{"effort":{"type":"string","description":"How much effort the model should spend on reasoning. Defaults to medium.","enum":["low","medium","high"]},"summary":{"type":"string","description":"Whether and how to summarize the reasoning trace.","enum":["auto","concise","detailed"]}}},"store":{"type":"boolean","description":"Whether to store the generated model response for later retrieval via API."},"stream":{"type":"boolean","description":"If true, the response is streamed to the client as it is generated using server-sent events."},"temperature":{"type":"number","description":"Sampling temperature between 0 and 2. Higher values produce more random output."},"tool_choice":{"type":"string","description":"Controls which (if any) tool is called by the model."},"tools":{"type":"array","description":"Tools the model may call.","items":{"type":"object","properties":{"type":{"type":"string","description":"type","required":true,"enum":["function","web_search"]},"description":{"type":"string","description":"For `type=function`: a description of when to call the function."},"name":{"type":"string","description":"For `type=function`: the function name."},"parameters":{"type":"object","description":"For `type=function`: JSON Schema describing the arguments."},"strict":{"type":"boolean","description":"For `type=function`: when true, the model must produce arguments that exactly match the schema."}}}},"top_p":{"type":"number","description":"Nucleus sampling: consider tokens with cumulative probability mass up to top_p."},"truncation":{"type":"string","description":"The truncation strategy to use for the model response."},"user":{"type":"string","description":"A unique identifier representing your end-user."}}},"example":{"text":{},"include":[],"input":"","instructions":"","max_output_tokens":"","metadata":{},"model":"","parallel_tool_calls":"","reasoning":{},"store":"","stream":"","temperature":"","tool_choice":"","tools":[],"top_p":"","truncation":"","user":""}}}}}},"/v1/manage/apikey":{"get":{"tags":["Api Keys"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-apikey/manage-api-key-list.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/apikey"},"summary":"List API keys","description":"Retrieve all existing API keys for the organization","security":[{"bearerAuth":[]}]},"post":{"tags":["Api Keys"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-apikey/manage-api-key-list.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/apikey"},"summary":"Create API key","description":"Create a new API key for the organization","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"monthly_limit":{"type":"number","description":"monthly_limit"},"name":{"type":"string","description":"name","required":true},"permissions":{"type":"object","description":"permissions","properties":{"completions":{"type":"string","description":"completions","required":true,"enum":["none","read","write"]},"manage":{"type":"string","description":"manage","required":true,"enum":["none","read","write"]}}}}},"example":{"monthly_limit":"","name":"","permissions":{}}}}}}},"/v1/manage/apikey/{id}":{"get":{"tags":["Api Keys"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-apikey/manage-api-key-get.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/apikey/{id}"},"summary":"Get API key","description":"Get information about a specific API key. An API key can query about itself, or about other keys if it has manage read permissions.","security":[{"bearerAuth":[]}]},"delete":{"tags":["Api Keys"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-apikey/manage-api-key-get.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/apikey/{id}"},"summary":"Delete API key","description":"Delete a specific API key","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/v1/manage/apikey/{id}/usage":{"get":{"tags":["Api Keys"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-apikey/manage-api-key-get-usage.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/apikey/{id}/usage"},"summary":"Get API key usage","description":"Get usage statistics for a specific API key within a date range","security":[{"bearerAuth":[]}]}},"/v1/manage/apikey/{id}/limit":{"post":{"tags":["Api Keys"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-apikey/manage-api-key-update-limit.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/apikey/{id}/limit"},"summary":"Update API key monthly limit","description":"Update the monthly spending limit for a specific API key","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"monthly_limit":{"type":"number","description":"monthly_limit","required":true}}},"example":{"monthly_limit":""}}}}}},"/v1/manage/apikey/{id}/label":{"post":{"tags":["Api Keys"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-apikey/manage-api-key-update-label.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/apikey/{id}/label"},"summary":"Update API key labels","description":"Update labels for an API key. Setting an empty object will remove all labels.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"labels":{"type":"object","description":"Key-value pairs of labels. Empty object removes all labels.","required":true}}},"example":{"labels":{}}}}}}},"/v1/manage/apikey/{id}/expiry":{"post":{"tags":["Api Keys"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-apikey/manage-api-key-update-expiry.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/apikey/{id}/expiry"},"summary":"Update API key expiry","description":"Update the expiry date for an API key. If expires_at is not set or is null, the current expiry will be removed, making the API key non-expiring.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"expires_at":{"type":"string","description":"Expiry date in RFC3339 format (e.g., 2025-12-31T23:59:59Z). If not set or null, the current expiry will be removed, making the API key non-expiring."}}},"example":{"expires_at":"2025-12-31T23:59:59Z"}}}}}},"/v1/manage/group":{"get":{"tags":["Groups"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-group/manage-group-list.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/group"},"summary":"List groups","description":"List all groups in your organization","security":[{"bearerAuth":[]}]},"post":{"tags":["Groups"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-group/manage-group-list.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/group"},"summary":"Create group","description":"Create a new group in your organization","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"monthly_limit":{"type":"number","description":"Monthly spending limit for the group. 0 means unlimited."},"name":{"type":"string","description":"The name of the group","required":true}}},"example":{"monthly_limit":1000,"name":"Engineering Team"}}}}}},"/v1/manage/group/{id}":{"get":{"tags":["Groups"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-group/manage-group-get.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/group/{id}"},"summary":"Get group","description":"Get detailed information about a specific group including its members","security":[{"bearerAuth":[]}]},"delete":{"tags":["Groups"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-group/manage-group-get.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/group/{id}"},"summary":"Delete group","description":"Delete a group from your organization","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/v1/manage/group/{id}/member":{"post":{"tags":["Group Members"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-group-member/manage-group-member-add.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/group/{id}/member"},"summary":"Add group member","description":"Add a member to a group in your organization. The member will be assigned the specified role.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"role":{"type":"string","description":"The role to assign to the member","required":true,"enum":["admin","member"]},"user_id":{"type":"string","description":"The ID of the user to add to the group","required":true}}},"example":{"role":"member","user_id":"user-123"}}}}},"put":{"tags":["Group Members"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-group-member/manage-group-member-add.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/group/{id}/member"},"summary":"Update group member","description":"Update the role of a member in a group.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"role":{"type":"string","description":"The new role to assign to the member","required":true,"enum":["admin","member"]},"user_id":{"type":"string","description":"The ID of the user whose role should be updated","required":true}}},"example":{"role":"admin","user_id":"user-123"}}}}},"delete":{"tags":["Group Members"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-group-member/manage-group-member-add.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/group/{id}/member"},"summary":"Remove group member","description":"Remove a member from a group.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"user_id":{"type":"string","description":"The ID of the user to remove from the group","required":true}}},"example":{"user_id":"user-123"}}}}}},"/v1/manage/org":{"get":{"tags":["Organization"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-org-get.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/org"},"summary":"Get information about organization","description":"Get information about organization","security":[{"bearerAuth":[]}]}},"/v1/manage/org/usage":{"get":{"tags":["Organization"],"parameters":[{"name":"end","in":"query","description":"end","required":false,"schema":{"type":"string","example":""}},{"name":"group_by","in":"query","description":"group_by","required":false,"schema":{"type":"array","example":""}},{"name":"resolution","in":"query","description":"resolution","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["hour","day","month"]}}},{"name":"start","in":"query","description":"start","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.requesty.ai/api-reference/endpoint/manage-org-get-usage.md","api_endpoint":"https://api-v2.requesty.ai/v1/manage/org/usage"},"summary":"Get organization usage","description":"Get aggregated usage statistics for your entire organization within a date range. Supports aggregation by different time periods and optional grouping by user, model, or custom fields.","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}