Skip to content

feat: API specs update for version 1.9.x#53

Closed
appwrite-specs[bot] wants to merge 1 commit intomainfrom
feat-1.9.x-specs
Closed

feat: API specs update for version 1.9.x#53
appwrite-specs[bot] wants to merge 1 commit intomainfrom
feat-1.9.x-specs

Conversation

@appwrite-specs
Copy link
Copy Markdown

This PR contains API specification updates for version 1.9.x.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 16, 2026

Greptile Summary

This PR adds 68 new code example files for two new database service types — DocumentsDB and VectorsDB — targeting the 1.9.x console SDK, and updates both the OpenAPI 3 and Swagger 2 spec files to add a discriminator (and x-discriminator for Swagger 2) to the providerRepository list oneOf, along with a new required type field on the providerRepositoryFrameworkList and providerRepositoryRuntimeList schemas.

Confidence Score: 5/5

Safe to merge; all findings are P2 style/advisory notes with no blocking defects.

The only issues are a tab/space indentation inconsistency in one example file and an advisory note to confirm the type required-field addition is backed by a matching server-side change — neither blocks the PR. All 68 new example files are structurally correct and the spec discriminator additions follow the correct syntax for both OpenAPI 3 and Swagger 2.

specs/1.9.x/open-api3-1.9.x-console.json (verify type required field is deployed server-side); examples/1.9.x/console-web/examples/vectorsdb/create-operations.md (fix tab indentation).

Important Files Changed

Filename Overview
specs/1.9.x/open-api3-1.9.x-console.json Adds OpenAPI 3 discriminator with propertyName/mapping for the oneOf providerRepository list; adds required type field to both providerRepositoryFrameworkList and providerRepositoryRuntimeList schemas — a breaking schema change if not accompanied by a matching server-side update.
specs/1.9.x/swagger2-1.9.x-console.json Mirrors the OpenAPI3 discriminator change via a vendor extension x-discriminator; same required type field additions as the OpenAPI3 counterpart. x-discriminator is the correct approach for Swagger 2.0 since the format doesn't support discriminator mapping objects natively.
examples/1.9.x/console-web/examples/vectorsdb/create-operations.md New VectorsDB createOperations example; the operations array body uses tab indentation while the rest of the snippet uses 4-space indentation.
examples/1.9.x/console-web/examples/vectorsdb/create-document.md New VectorsDB createDocument example with embeddings array and metadata payload; looks correct.
examples/1.9.x/console-web/examples/documentsdb/create-document.md New DocumentsDB createDocument example; imports, client setup, and method call look correct.
examples/1.9.x/console-web/examples/vectorsdb/create-text-embeddings.md New VectorsDB createTextEmbeddings example using Model enum; looks correct.
examples/1.9.x/console-web/examples/documentsdb/increment-document-attribute.md New DocumentsDB incrementDocumentAttribute example; optional numeric params correctly shown as null placeholders.
examples/1.9.x/console-web/examples/documentsdb/decrement-document-attribute.md New DocumentsDB decrementDocumentAttribute example; mirrors incrementDocumentAttribute structure correctly.

Reviews (1): Last reviewed commit: "chore: update API specs and SDK examples" | Re-trigger Greptile

Comment on lines +13 to +22
{
"action": "create",
"databaseId": "<DATABASE_ID>",
"collectionId": "<COLLECTION_ID>",
"documentId": "<DOCUMENT_ID>",
"data": {
"name": "Walter O'Brien"
}
}
] // 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.

P2 Mixed tab/space indentation in operations array

Lines 13–22 use tab characters (\t) for indentation while the rest of the file uses 4-space indentation. This will render inconsistently across editors and markdown viewers, and breaks the visual alignment with the surrounding code.

Suggested change
{
"action": "create",
"databaseId": "<DATABASE_ID>",
"collectionId": "<COLLECTION_ID>",
"documentId": "<DOCUMENT_ID>",
"data": {
"name": "Walter O'Brien"
}
}
] // optional
operations: [
{
"action": "create",
"databaseId": "<DATABASE_ID>",
"collectionId": "<COLLECTION_ID>",
"documentId": "<DOCUMENT_ID>",
"data": {
"name": "Walter O'Brien"
}
}
] // optional

Comment on lines 71424 to 71445
"$ref": "#\/components\/schemas\/providerRepositoryFramework"
},
"x-example": ""
},
"type": {
"type": "string",
"description": "Provider repository list type.",
"x-example": "framework"
}
},
"required": [
"total",
"frameworkProviderRepositories"
"frameworkProviderRepositories",
"type"
],
"example": {
"total": 5,
"frameworkProviderRepositories": ""
"frameworkProviderRepositories": "",
"type": "framework"
}
},
"providerRepositoryRuntimeList": {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 type added as required — breaking schema change

type is added to the required array for both providerRepositoryFrameworkList and providerRepositoryRuntimeList. Any existing API client that constructs or validates these objects without the type field will now fail schema validation. If the backend already returns type in 1.9.x responses this is fine, but it's worth confirming the server-side change ships simultaneously to avoid a mismatch between spec and runtime for consumers on the 1.8.x → 1.9.x transition.

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