Skip to content

feat: add account_id param to PATCH /api/sandboxes for Org API keys - #201

Merged
sweetmantech merged 1 commit into
testfrom
sweetmantech/myc-4132-api-filetree-patch-apisandboxessnapshot-accept-account_id
Feb 4, 2026
Merged

feat: add account_id param to PATCH /api/sandboxes for Org API keys#201
sweetmantech merged 1 commit into
testfrom
sweetmantech/myc-4132-api-filetree-patch-apisandboxessnapshot-accept-account_id

Conversation

@sweetmantech

Copy link
Copy Markdown
Contributor

Summary

  • Added optional account_id parameter to PATCH /api/sandboxes endpoint
  • Organization API keys can now update snapshots for any account within their organization
  • Personal API keys cannot use this parameter (returns 403 if attempted)

Changes

  • Updated validateSnapshotPatchBody.ts:
    • Added account_id (UUID) to request body schema
    • Pass account_id to validateAuthContext for authorization
  • Updated tests to match new behavior

Reference

Test plan

  • Unit tests pass
  • Org API key can update snapshot for member account using account_id
  • Personal API key updating own account (no account_id) works
  • Personal API key using account_id returns 403
  • Org API key using account_id for non-member account returns 403

🤖 Generated with Claude Code

Add optional account_id parameter to UpdateSnapshotRequest, allowing
organization API keys to update snapshots for any account within their
organization. Personal API keys cannot use this parameter.
Changes:
- Added account_id (UUID) to request body schema
- Pass account_id to validateAuthContext for authorization
- Updated tests to match new behavior
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@vercel

vercelBot commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
recoup-apiReadyReadyPreviewFeb 4, 2026 2:30pm

@coderabbitai

Copy link
Copy Markdown

Warning

Rate limit exceeded

@sweetmantech has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 20 minutes and 56 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch sweetmantech/myc-4132-api-filetree-patch-apisandboxessnapshot-accept-account_id

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actionsBot commented Feb 4, 2026

Copy link
Copy Markdown

Braintrust eval report

Catalog Opportunity Analysis Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Catalog_availability20% (+13pp)1 🟢2 🔴
Llm_calls0 (+0)--
Tool_calls0 (+0)--
Errors0 (+0)--
Llm_errors0 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration43.15s (+3.8s)2 🟢3 🔴

Catalog Songs Count Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Llm_calls4 (+0)--
Tool_calls0 (+0)--
Errors3 (+0)--
Llm_errors1 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration11.14s (-3.61s)3 🟢-

First Week Album Sales Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Llm_calls1 (+0)--
Tool_calls0 (+0)--
Errors1 (+0)--
Llm_errors0 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration13.18s (-1.21s)3 🟢1 🔴

Memory & Storage Tools Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Tools_called0% (+0pp)--
Llm_calls0 (+0)--
Tool_calls0 (+0)--
Errors0 (+0)--
Llm_errors0 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration18.33s (-7.76s)1 🟢-

Monthly Listeners Tracking Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Llm_calls2 (+0)--
Tool_calls0 (+0)--
Errors2 (+0)--
Llm_errors1 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration12.48s (-0.03s)3 🟢2 🔴

Search Web Tool Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Llm_calls3 (+0)--
Tool_calls0 (+0)--
Errors2 (+0)--
Llm_errors1 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration27s (+2.66s)2 🟢9 🔴

Social Scraping Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Tools_called0% (+0pp)--
Llm_calls0 (+0)--
Tool_calls0 (+0)--
Errors0 (+0)--
Llm_errors0 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration23.99s (-6.96s)5 🟢1 🔴

Spotify Followers Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Llm_calls3 (+0)--
Tool_calls0 (+0)--
Errors3 (+0)--
Llm_errors2 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration14.62s (+0.59s)3 🟢2 🔴

Spotify Tools Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Tools_called0% (+0pp)--
Llm_calls0 (+0)--
Tool_calls0 (+0)--
Errors0 (+0)--
Llm_errors0 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration32s (-0.84s)2 🟢-

TikTok Analytics Questions Evaluation (HEAD-1770215374)

ScoreAverageImprovementsRegressions
Question_answered0% (-5pp)-1 🔴
Llm_calls0 (+0)--
Tool_calls0 (+0)--
Errors0 (+0)--
Llm_errors0 (+0)--
Tool_errors0 (+0)--
Prompt_tokens0tok (+0tok)--
Prompt_cached_tokens0tok (+0tok)--
Prompt_cache_creation_tokens0tok (+0tok)--
Completion_tokens0tok (+0tok)--
Completion_reasoning_tokens0tok (+0tok)--
Total_tokens0tok (+0tok)--
Duration13.48s (-1.08s)2 🟢-

@sweetmantech
sweetmantech merged commit bd98e82 into testFeb 4, 2026
5 checks passed
@sweetmantechsweetmantech mentioned this pull request Feb 4, 2026
@sweetmantech
sweetmantech deleted the sweetmantech/myc-4132-api-filetree-patch-apisandboxessnapshot-accept-account_id branch February 4, 2026 14:55
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@sweetmantech