{
  "info": {
    "name": "Requesty Router API",
    "description": "OpenAI-compatible LLM gateway routing a single API across 300+ models, with chat completions, embeddings, model catalog, API key management, and usage/analytics.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{bearerToken}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://router.requesty.ai/v1"
    }
  ],
  "item": [
    {
      "name": "Chat",
      "item": [
        {
          "name": "Create a chat completion",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/chat/completions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "chat",
                "completions"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"model\": \"openai/gpt-4o-mini\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ],\n  \"max_tokens\": 256,\n  \"temperature\": 1,\n  \"stream\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Routes an OpenAI-compatible chat completion across 300+ models. Set stream=true for Server-Sent Events streaming."
          }
        }
      ]
    },
    {
      "name": "Embeddings",
      "item": [
        {
          "name": "Create embeddings",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/embeddings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "embeddings"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"model\": \"openai/text-embedding-3-small\",\n  \"input\": \"The quick brown fox.\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Generates vector embeddings for the supplied input using a routed embedding model."
          }
        }
      ]
    },
    {
      "name": "Models",
      "item": [
        {
          "name": "List models",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/models",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "models"
              ]
            },
            "description": "Lists the 300+ models routable through Requesty with metadata and pricing."
          }
        }
      ]
    },
    {
      "name": "API Keys",
      "item": [
        {
          "name": "List API keys",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api-keys",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api-keys"
              ]
            },
            "description": "Lists all API keys for the authenticated account."
          }
        },
        {
          "name": "Create an API key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api-keys",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api-keys"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"my-key\",\n  \"limit\": 100,\n  \"labels\": [\"prod\"]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Creates a new API key with optional spending limit, labels, and expiry."
          }
        },
        {
          "name": "Get an API key",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api-keys/:key_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api-keys",
                ":key_id"
              ],
              "variable": [
                {
                  "key": "key_id",
                  "value": ""
                }
              ]
            },
            "description": "Gets details for a specific API key."
          }
        },
        {
          "name": "Update API key spending limit",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api-keys/:key_id/limit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api-keys",
                ":key_id",
                "limit"
              ],
              "variable": [
                {
                  "key": "key_id",
                  "value": ""
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"limit\": 250\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Updates the USD spending limit for a specific API key."
          }
        },
        {
          "name": "Delete an API key",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api-keys/:key_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api-keys",
                ":key_id"
              ],
              "variable": [
                {
                  "key": "key_id",
                  "value": ""
                }
              ]
            },
            "description": "Deletes a specific API key."
          }
        }
      ]
    },
    {
      "name": "Usage",
      "item": [
        {
          "name": "Get API key usage",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api-keys/:key_id/usage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api-keys",
                ":key_id",
                "usage"
              ],
              "variable": [
                {
                  "key": "key_id",
                  "value": ""
                }
              ]
            },
            "description": "Retrieves usage statistics and spend for a specific API key."
          }
        },
        {
          "name": "Get organization usage",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/organization/usage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "organization",
                "usage"
              ]
            },
            "description": "Retrieves aggregated usage statistics and spend across the organization."
          }
        }
      ]
    }
  ]
}
