Skip to content

feat: API specs update for version 2.3.x - #123

Merged
ChiragAgg5k merged 2 commits into
mainfrom
feat-2.3.x-specs
Oct 5, 2026
Merged

ChiragAgg5k merged 2 commits into
mainfrom
feat-2.3.x-specs

Conversation

@ChiragAgg5k

Copy link
Copy Markdown
Member

This PR contains API specification updates and SDK examples for version 2.3.x.

@hansi-codes

hansi-codes Bot commented Oct 5, 2026

Copy link
Copy Markdown

🔵 Tier A · Mergeable after minor fixes

The new examples need fixes for privileged analytics overrides, PKCE method casing, and an undeclared Dart result variable.

Updates the 2.3.x OpenAPI specifications and generated SDK examples. Adds Analytics, Apps, OAuth2, and avatar-photo examples, extends session and list operations with new optional parameters, and refreshes numeric literals and sample payloads across SDKs.

Verdict New comments Fixed Still open
💬 Commented 2 0 0

Note

Part of the diff was too large to review, so Hansi did not approve.

Finding Where
🟡 Omit API-key-only overrides from client analytics examples examples/2.3.x/client-android/java/analytics/create-event.md:25
🟡 Remove the assignment to an undeclared Dart variable examples/2.3.x/client-flutter/examples/analytics/create-event.md:10
Fix with agent prompt
### Issue 1
examples/2.3.x/client-android/java/analytics/create-event.md:25-27
**Omit API-key-only overrides from client analytics examples**

The specification says `userId`, `ip`, and `userAgent` overrides require API-key authentication with `analytics.write`, but this client only sets a project ID, so the sample request cannot succeed with these nonempty overrides. Please omit them from client examples (and session-authenticated server examples), rather than requiring a secret API key in a client app.

### Issue 2
examples/2.3.x/client-flutter/examples/analytics/create-event.md:10
**Remove the assignment to an undeclared Dart variable**

This snippet assigns to `result` without declaring it, so it fails to compile when placed in an async function. The server-Dart analytics example has the same issue; declare the result or simply await the call in both examples.

```suggestion
await analytics.createEvent(
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
📂 Walkthrough · 5
File Change
specs/2.3.x/*.json Adds OpenAPI 3 specifications for client, server, console, and combined APIs.
examples/2.3.x/client-android/** Adds new service examples and updates Java/Kotlin arguments, numeric types, and payloads.
examples/2.3.x/client-apple/**, examples/2.3.x/client-flutter/** Adds new service examples and updates session, list, GraphQL, and document payload examples.
examples/2.3.x/client-{web,react-native,graphql,rest}/** Refreshes client examples for the expanded 2.3.x API.
examples/2.3.x/console-*/**, examples/2.3.x/server-*/** Refreshes console and server examples for new services and updated request contracts.
🔇 Filtered out · 1

Findings Hansi considered but did not post.

Finding Why
Use the registered uppercase PKCE method in generated examples Not on a changed line

Reviewed c0efde2 · Details · Comment @hansi-codes review to re-run, or mention @hansi-codes with a question.

@hansi-codes hansi-codes Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Tier A · See the inline comments. Summary

Comment on lines +25 to +27
"<USER_ID>", // userId (optional)
"<IP>", // ip (optional)
"<USER_AGENT>", // userAgent (optional)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Omit API-key-only overrides from client analytics examples

The specification says userId, ip, and userAgent overrides require API-key authentication with analytics.write, but this client only sets a project ID, so the sample request cannot succeed with these nonempty overrides. Please omit them from client examples (and session-authenticated server examples), rather than requiring a secret API key in a client app.

Prompt To Fix With AI
This is a comment left during a code review.
Path: examples/2.3.x/client-android/java/analytics/create-event.md
Line: 25-27

Comment:
**Omit API-key-only overrides from client analytics examples**

The specification says `userId`, `ip`, and `userAgent` overrides require API-key authentication with `analytics.write`, but this client only sets a project ID, so the sample request cannot succeed with these nonempty overrides. Please omit them from client examples (and session-authenticated server examples), rather than requiring a secret API key in a client app.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

🟡 Minor · documentation · Reply if this doesn't apply.


Analytics analytics = Analytics(client);

result = await analytics.createEvent(

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the assignment to an undeclared Dart variable

This snippet assigns to result without declaring it, so it fails to compile when placed in an async function. The server-Dart analytics example has the same issue; declare the result or simply await the call in both examples.

Suggested change
result = await analytics.createEvent(
await analytics.createEvent(
Prompt To Fix With AI
This is a comment left during a code review.
Path: examples/2.3.x/client-flutter/examples/analytics/create-event.md
Line: 10

Comment:
**Remove the assignment to an undeclared Dart variable**

This snippet assigns to `result` without declaring it, so it fails to compile when placed in an async function. The server-Dart analytics example has the same issue; declare the result or simply await the call in both examples.

```suggestion
await analytics.createEvent(
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

🟡 Minor · documentation · Reply if this doesn't apply.

@ChiragAgg5k
ChiragAgg5k merged commit 275907e into main Oct 5, 2026
2 checks passed
Sign up for free to 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