{"id":37789357,"url":"https://github.com/spectrocloud/palette-sdk-typescript","last_synced_at":"2026-01-16T15:15:26.376Z","repository":{"id":329497150,"uuid":"1119100067","full_name":"spectrocloud/palette-sdk-typescript","owner":"spectrocloud","description":"A TypeScript SDK for interacting with the Palette API","archived":false,"fork":false,"pushed_at":"2025-12-20T00:17:34.000Z","size":5627,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-22T10:47:24.409Z","etag":null,"topics":["palette","typescript"],"latest_commit_sha":null,"homepage":"https://docs.spectrocloud.com/api/introduction/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spectrocloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-18T18:37:06.000Z","updated_at":"2025-12-20T00:08:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/spectrocloud/palette-sdk-typescript","commit_stats":null,"previous_names":["spectrocloud/palette-sdk-typescript"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/spectrocloud/palette-sdk-typescript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fpalette-sdk-typescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fpalette-sdk-typescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fpalette-sdk-typescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fpalette-sdk-typescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spectrocloud","download_url":"https://codeload.github.com/spectrocloud/palette-sdk-typescript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fpalette-sdk-typescript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["palette","typescript"],"created_at":"2026-01-16T15:15:25.740Z","updated_at":"2026-01-16T15:15:26.356Z","avatar_url":"https://github.com/spectrocloud.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Palette SDK TypeScript\n\nA TypeScript SDK for the Spectro Cloud Palette API. This package provides a comprehensive set of functions to manage Kubernetes clusters, applications, and cloud resources through the Palette API.\n\n\u003e [!WARNING]\n\u003e This is an experimental SDK and subject to change.\n\n## Features\n\n- **Complete API Coverage**: All Palette API endpoints are supported\n- **Comprehensive TypeScript Support**: Full type definitions for all API requests and responses.\n- **No Type Casting Required**: Clean, typed API calls without `any` casting\n- **Fetch-based**: Built on the modern Fetch API\n- **Tree-shakable**: Import only the functions you need\n\n## Installation\n\n```bash\nnpm install palette-sdk-typescript\n```\n\n\u003e [!IMPORTANT]\n\u003e This package is published as TypeScript source code. You'll need TypeScript in your project to use it. If you're using JavaScript, you may need to configure your build tools to handle TypeScript files.\n\n- Node.js 22 or higher\n- TypeScript 5.5 or higher\n- A Palette API key and project UID\n\n## Getting Started\n\n### Authentication\n\nTo use the Palette API, you need an API key. Check the [Create API Key](https://docs.spectrocloud.com/user-management/authentication/api-key/create-api-key/) guide for more information.\n\nSet the API key as an environment variable:\n\n```bash\nexport PALETTE_API_KEY=\"your-api-key-here\"\nexport PROJECT_UID=\"your-project-uid-here\"\n```\n\n### Usage\n\nImport the specific API functions and types you need.\n\n```typescript\nimport {\n  spectroClustersMetadataGet,\n  setPaletteBaseUrl,\n  getPaletteBaseUrl,\n  type SpectroClustersMetadata,\n} from \"palette-sdk-typescript\";\n\n// Configure authentication\nconst config = {\n  headers: {\n    ApiKey: process.env.PALETTE_API_KEY,\n    \"Content-Type\": \"application/json\",\n    ProjectUID: process.env.PROJECT_UID, // Optional, for project-scoped requests\n  },\n  // Configure custom base URL (optional)\n  // By default, the SDK uses https://api.spectrocloud.com\n  baseUrl: \"https://your-palette-host.com\",\n};\n\n// Get all clusters\nconst response: SpectroClustersMetadata = await spectroClustersMetadataGet(\n  {}, // no filter params provided in this example\n  config\n);\n\nif (response.items \u0026\u0026 response.items.length \u003e 0) {\n  console.log(\"First cluster metadata:\", response.items[0]);\n}\n```\n\nIf a project UID is not specified, then the Palette API will use the tenant scope. Keep this in mind when using the SDK. There may be some cases where you want to use the tenant scope.\n\n### Base URL Configuration\n\nBy default, the PaletteSDK targets `https://api.spectrocloud.com`. If you have a different Palette instance, such as a self-hosted Palette instance, you can configure the base URL.\n\n```typescript\nconst config = {\n  headers: {\n    ApiKey: process.env.PALETTE_API_KEY,\n    \"Content-Type\": \"application/json\",\n    ProjectUID: process.env.PROJECT_UID,\n  },\n  // Set custom base URL\n  baseUrl: \"https://your-palette-host.com\",\n};\n\nconst response: SpectroClustersMetadata = await spectroClustersMetadataGet(\n  {},\n  config\n);\n```\n\nThe SDK will now use your custom URL(`https://your-palette-host.com`) for all API calls.\n\n## Contributing\n\nThis SDK is generated from the Palette OpenAPI specification. To contribute:\n\n1. Fork the repository\n2. Make your changes\n3. Run tests: `npm test`\n4. Submit a pull request\n\n### Requirements\n\n- Node.js 22 or higher\n- Python 3.10 or higher\n- Make\n- [Copywrite](https://github.com/hashicorp/copywrite)\n- Docker\n\n## License\n\nThis project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.\n\n## Support\n\nFor issues and questions:\n\n- **SDK Issues**: Open an issue on GitHub.\n- **API Documentation**: Visit the [Palette API Documentation](https://docs.spectrocloud.com/api/)\n- **Palette Support**: Contact Spectro Cloud support\n\n## Related Projects\n\n- [Palette Terraform Provider](https://github.com/spectrocloud/terraform-provider-spectrocloud)\n- [Palette CLI](https://github.com/spectrocloud/palette-cli)\n- [Palette Go SDK](https://github.com/spectrocloud/palette-sdk-go)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspectrocloud%2Fpalette-sdk-typescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspectrocloud%2Fpalette-sdk-typescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspectrocloud%2Fpalette-sdk-typescript/lists"}