diff --git a/site/content/3.12/develop/http-api/collections.md b/site/content/3.12/develop/http-api/collections.md index a34ba322eb..c74c950cb1 100644 --- a/site/content/3.12/develop/http-api/collections.md +++ b/site/content/3.12/develop/http-api/collections.md @@ -950,6 +950,61 @@ logJsonResponse(response); db._drop(cn); ``` +### Get the available key generators + +```openapi +paths: + /_api/key-generators: + get: + operationId: getKeyGenerators + description: | + Returns the available key generators for collections. + responses: + '200': + description: | + An object that contains a list of the available generators for document keys: + - `"padded"` + - `"uuid"` + - `"autoincrement"` + - `"traditional"` + content: + application/json: + schema: + type: object + required: + - keyGenerators + properties: + keyGenerators: + description: | + The available document key generators. + type: array + uniqueItems: true + items: + type: string + enum: + - padded + - uuid + - autoincrement + - traditional + example: ["traditional", "autoincrement", "padded", "uuid"] + tags: + - Collections +``` + +**Examples:** + +```curl +--- +description: |- + Retrieving the key generators for collections: +name: RestCollectionGetKeyGenerators +--- +var url = "/_api/key-generators" +var response = logCurlRequest('GET', url); +assert(response.code === 200); +logJsonResponse(response); +``` + ## Create and delete collections ### Create a collection diff --git a/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md b/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md index a8f6ebf6b6..80fd1d6fe8 100644 --- a/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md +++ b/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md @@ -131,6 +131,13 @@ the available startup options with `--dump-options`. See the [HTTP interface for administration](../../develop/http-api/administration.md#startup-options) for details. +#### Available key generators + +You can now retrieve the available key generators for collections using the new +`GET /_api/key-generators` endpoint. + +See the [HTTP API description](../../develop/http-api/collections.md#get-the-available-key-generators) + ### Endpoints augmented #### View API diff --git a/site/data/3.12/cache.json b/site/data/3.12/cache.json index 2524b9221e..f561a5cddb 100644 --- a/site/data/3.12/cache.json +++ b/site/data/3.12/cache.json @@ -851,6 +851,10 @@ "request": "LS0tCmRlc2NyaXB0aW9uOiB8LQogIFJldHJpZXZpbmcgdGhlIHJldmlzaW9uIG9mIGEgY29sbGVjdGlvbgpuYW1lOiBSZXN0Q29sbGVjdGlvbkdldENvbGxlY3Rpb25SZXZpc2lvbgotLS0KdmFyIGNuID0gInByb2R1Y3RzIjsKZGIuX2Ryb3AoY24pOwp2YXIgY29sbCA9IGRiLl9jcmVhdGUoY24sIHsgd2FpdEZvclN5bmM6IGZhbHNlIH0pOwp2YXIgdXJsID0gIi9fYXBpL2NvbGxlY3Rpb24vIisgY29sbC5uYW1lKCkgKyAiL3JldmlzaW9uIjsKCnZhciByZXNwb25zZSA9IGxvZ0N1cmxSZXF1ZXN0KCdHRVQnLCB1cmwpOwoKYXNzZXJ0KHJlc3BvbnNlLmNvZGUgPT09IDIwMCk7Cgpsb2dKc29uUmVzcG9uc2UocmVzcG9uc2UpOwpkYi5fZHJvcChjbik7", "response": "eyJpbnB1dCI6ImN1cmwgLS1oZWFkZXIgJ2FjY2VwdDogYXBwbGljYXRpb24vanNvbicgLS1kdW1wIC0gaHR0cDovL2xvY2FsaG9zdDo4NTI5L19hcGkvY29sbGVjdGlvbi9wcm9kdWN0cy9yZXZpc2lvbiIsIm91dHB1dCI6IkhUVFAvMS4xIDIwMCBPS1xuY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9qc29uXG5jYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZSwgcHJlLWNoZWNrPTAsIHBvc3QtY2hlY2s9MCwgbWF4LWFnZT0wLCBzLW1heGFnZT0wXG5jb25uZWN0aW9uOiBLZWVwLUFsaXZlXG5jb250ZW50LWxlbmd0aDogNDYyXG5jb250ZW50LXNlY3VyaXR5LXBvbGljeTogZnJhbWUtYW5jZXN0b3JzICdzZWxmJzsgZm9ybS1hY3Rpb24gJ3NlbGYnO1xuZXhwaXJlczogMFxubG9jYXRpb246IC9fZGIvX3N5c3RlbS9fYXBpL2NvbGxlY3Rpb24vcHJvZHVjdHMvcmV2aXNpb25cbnByYWdtYTogbm8tY2FjaGVcbnNlcnZlcjogQXJhbmdvREJcbnN0cmljdC10cmFuc3BvcnQtc2VjdXJpdHk6IG1heC1hZ2U9MzE1MzYwMDAgOyBpbmNsdWRlU3ViRG9tYWluc1xueC1hcmFuZ28tcXVldWUtdGltZS1zZWNvbmRzOiAwLjAwMDAwMFxueC1jb250ZW50LXR5cGUtb3B0aW9uczogbm9zbmlmZlxuXG57IFxuICBcImVycm9yXCIgOiBmYWxzZSwgXG4gIFwiY29kZVwiIDogMjAwLCBcbiAgXCJ3cml0ZUNvbmNlcm5cIiA6IDEsIFxuICBcIndhaXRGb3JTeW5jXCIgOiBmYWxzZSwgXG4gIFwidXNlc1JldmlzaW9uc0FzRG9jdW1lbnRJZHNcIiA6IHRydWUsIFxuICBcInN5bmNCeVJldmlzaW9uXCIgOiB0cnVlLCBcbiAgXCJzdGF0dXNTdHJpbmdcIiA6IFwibG9hZGVkXCIsIFxuICBcInNjaGVtYVwiIDogbnVsbCwgXG4gIFwicmV2aXNpb25cIiA6IFwiNTRcIiwgXG4gIFwiaWRcIiA6IFwiNjc5NDVcIiwgXG4gIFwiaXNTbWFydENoaWxkXCIgOiBmYWxzZSwgXG4gIFwibmFtZVwiIDogXCJwcm9kdWN0c1wiLCBcbiAgXCJ0eXBlXCIgOiAyLCBcbiAgXCJzdGF0dXNcIiA6IDMsIFxuICBcImNhY2hlRW5hYmxlZFwiIDogZmFsc2UsIFxuICBcImlzU3lzdGVtXCIgOiBmYWxzZSwgXG4gIFwib2JqZWN0SWRcIiA6IFwiNjc5NDZcIiwgXG4gIFwiY29tcHV0ZWRWYWx1ZXNcIiA6IG51bGwsIFxuICBcImludGVybmFsVmFsaWRhdG9yVHlwZVwiIDogMCwgXG4gIFwiZ2xvYmFsbHlVbmlxdWVJZFwiIDogXCJoMTExNTQ1QzQzMDA4LzY3OTQ1XCIsIFxuICBcImtleU9wdGlvbnNcIiA6IHsgXG4gICAgXCJhbGxvd1VzZXJLZXlzXCIgOiB0cnVlLCBcbiAgICBcInR5cGVcIiA6IFwidHJhZGl0aW9uYWxcIiwgXG4gICAgXCJsYXN0VmFsdWVcIiA6IDAgXG4gIH0gXG59IiwiZXJyb3IiOiIiLCJvcHRpb25zIjp7ImRlc2NyaXB0aW9uIjoiUmV0cmlldmluZyB0aGUgcmV2aXNpb24gb2YgYSBjb2xsZWN0aW9uIiwibmFtZSI6IlJlc3RDb2xsZWN0aW9uR2V0Q29sbGVjdGlvblJldmlzaW9uIiwidHlwZSI6InNpbmdsZSIsInJlbmRlciI6ImlucHV0L291dHB1dCJ9fQo=" }, + "RestCollectionGetKeyGenerators_single": { + "request": "LS0tCmRlc2NyaXB0aW9uOiB8LQogIFJldHJpZXZpbmcgdGhlIGtleSBnZW5lcmF0b3JzIG9mIGNvbGxlY3Rpb25zOgpuYW1lOiBSZXN0Q29sbGVjdGlvbkdldEtleUdlbmVyYXRvcnMKLS0tCnZhciB1cmwgPSAiL19hcGkva2V5LWdlbmVyYXRvcnMvIgp2YXIgcmVzcG9uc2UgPSBsb2dDdXJsUmVxdWVzdCgnR0VUJywgdXJsKTsKYXNzZXJ0KHJlc3BvbnNlLmNvZGUgPT09IDIwMCk7CmxvZ0pzb25SZXNwb25zZShyZXNwb25zZSk7", + "response": "eyJpbnB1dCI6ImN1cmwgLS1oZWFkZXIgJ2FjY2VwdDogYXBwbGljYXRpb24vanNvbicgLS1kdW1wIC0gaHR0cDovL2xvY2FsaG9zdDo4NTI5L19hcGkva2V5LWdlbmVyYXRvcnMvIiwib3V0cHV0IjoiSFRUUC8xLjEgMjAwIE9LXG5jb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb25cbmNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBwcmUtY2hlY2s9MCwgcG9zdC1jaGVjaz0wLCBtYXgtYWdlPTAsIHMtbWF4YWdlPTBcbmNvbm5lY3Rpb246IEtlZXAtQWxpdmVcbmNvbnRlbnQtbGVuZ3RoOiA2NVxuY29udGVudC1zZWN1cml0eS1wb2xpY3k6IGZyYW1lLWFuY2VzdG9ycyAnc2VsZic7IGZvcm0tYWN0aW9uICdzZWxmJztcbmV4cGlyZXM6IDBcbnByYWdtYTogbm8tY2FjaGVcbnNlcnZlcjogQXJhbmdvREJcbnN0cmljdC10cmFuc3BvcnQtc2VjdXJpdHk6IG1heC1hZ2U9MzE1MzYwMDAgOyBpbmNsdWRlU3ViRG9tYWluc1xueC1hcmFuZ28tcXVldWUtdGltZS1zZWNvbmRzOiAwLjAwMDAwMFxueC1jb250ZW50LXR5cGUtb3B0aW9uczogbm9zbmlmZlxuXG57IFxuICBcImtleUdlbmVyYXRvcnNcIiA6IFsgXG4gICAgXCJwYWRkZWRcIiwgXG4gICAgXCJ1dWlkXCIsIFxuICAgIFwiYXV0b2luY3JlbWVudFwiLCBcbiAgICBcInRyYWRpdGlvbmFsXCIgXG4gIF0gXG59IiwiZXJyb3IiOiIiLCJvcHRpb25zIjp7ImRlc2NyaXB0aW9uIjoiUmV0cmlldmluZyB0aGUga2V5IGdlbmVyYXRvcnMgb2YgY29sbGVjdGlvbnM6IiwibmFtZSI6IlJlc3RDb2xsZWN0aW9uR2V0S2V5R2VuZXJhdG9ycyIsInR5cGUiOiJzaW5nbGUiLCJyZW5kZXIiOiJpbnB1dC9vdXRwdXQifX0K" + }, "RestCollectionIdentifierLoadIndexesIntoMemory_single": { "request": "LS0tCmRlc2NyaXB0aW9uOiAnJwpuYW1lOiBSZXN0Q29sbGVjdGlvbklkZW50aWZpZXJMb2FkSW5kZXhlc0ludG9NZW1vcnkKLS0tCnZhciBjbiA9ICJwcm9kdWN0cyI7CmRiLl9kcm9wKGNuKTsKdmFyIGNvbGwgPSBkYi5fY3JlYXRlKGNuKTsKdmFyIHVybCA9ICIvX2FwaS9jb2xsZWN0aW9uLyIrIGNvbGwubmFtZSgpICsgIi9sb2FkSW5kZXhlc0ludG9NZW1vcnkiOwoKdmFyIHJlc3BvbnNlID0gbG9nQ3VybFJlcXVlc3QoJ1BVVCcsIHVybCwgJycpOwoKYXNzZXJ0KHJlc3BvbnNlLmNvZGUgPT09IDIwMCk7Cgpsb2dKc29uUmVzcG9uc2UocmVzcG9uc2UpOwpkYi5fZHJvcChjbik7", "response": "eyJpbnB1dCI6ImN1cmwgLVggUFVUIC0taGVhZGVyICdhY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24nIC0tZHVtcCAtIGh0dHA6Ly9sb2NhbGhvc3Q6ODUyOS9fYXBpL2NvbGxlY3Rpb24vcHJvZHVjdHMvbG9hZEluZGV4ZXNJbnRvTWVtb3J5Iiwib3V0cHV0IjoiSFRUUC8xLjEgMjAwIE9LXG5jb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb25cbmNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBwcmUtY2hlY2s9MCwgcG9zdC1jaGVjaz0wLCBtYXgtYWdlPTAsIHMtbWF4YWdlPTBcbmNvbm5lY3Rpb246IEtlZXAtQWxpdmVcbmNvbnRlbnQtbGVuZ3RoOiA0MFxuY29udGVudC1zZWN1cml0eS1wb2xpY3k6IGZyYW1lLWFuY2VzdG9ycyAnc2VsZic7IGZvcm0tYWN0aW9uICdzZWxmJztcbmV4cGlyZXM6IDBcbmxvY2F0aW9uOiAvX2RiL19zeXN0ZW0vX2FwaS9jb2xsZWN0aW9uL3Byb2R1Y3RzL2xvYWRJbmRleGVzSW50b01lbW9yeVxucHJhZ21hOiBuby1jYWNoZVxuc2VydmVyOiBBcmFuZ29EQlxuc3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eTogbWF4LWFnZT0zMTUzNjAwMCA7IGluY2x1ZGVTdWJEb21haW5zXG54LWFyYW5nby1xdWV1ZS10aW1lLXNlY29uZHM6IDAuMDAwMDAwXG54LWNvbnRlbnQtdHlwZS1vcHRpb25zOiBub3NuaWZmXG5cbnsgXG4gIFwiZXJyb3JcIiA6IGZhbHNlLCBcbiAgXCJjb2RlXCIgOiAyMDAsIFxuICBcInJlc3VsdFwiIDogdHJ1ZSBcbn0iLCJlcnJvciI6IiIsIm9wdGlvbnMiOnsiZGVzY3JpcHRpb24iOiIiLCJuYW1lIjoiUmVzdENvbGxlY3Rpb25JZGVudGlmaWVyTG9hZEluZGV4ZXNJbnRvTWVtb3J5IiwidHlwZSI6InNpbmdsZSIsInJlbmRlciI6ImlucHV0L291dHB1dCJ9fQo="