Skip to content

Commit c6ef709

Browse files
committed
## Typescript SDK Changes:
* `cloudinaryassetmgmt.upload.upload()`: * `request.upload_request.accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.upload.uploadNoResourceType()`: * `request.accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.upload.uploadChunk()`: * `request.upload_request.accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.upload.text()`: `response.access_control.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.listImages()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.listVideos()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.listRawFiles()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.listResourcesByAssetFolder()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.listResourcesByAssetIDs()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.listResourcesByContext()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.listResourcesByModerationKindAndStatus()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.restoreResourcesByAssetIDs()`: `response.{}.[info].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.getResourceByPublicId()`: `response.access_control.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.updateResourceByPublicId()`: * `request.resourceupdaterequest.accessControl.[]` **Changed** **Breaking** ⚠️ * `response.access_control.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.getResourceByAssetId()`: `response.access_control.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.assets.updateResourceByAssetId()`: * `request.resourceupdaterequest.accessControl.[]` **Changed** **Breaking** ⚠️ * `response.access_control.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.moderations.listResourcesByModerationKindAndStatus()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.search.searchAssets()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️ * `cloudinaryassetmgmt.search.visualSearchAssets()`: `response.resources.[].accessControl.[]` **Changed** **Breaking** ⚠️
1 parent 45aded3 commit c6ef709

File tree

203 files changed

+3182
-4729
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+3182
-4729
lines changed

.devcontainer/setup.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ curl -fsSL https://raw.githubusercontent.com/speakeasy-api/speakeasy/main/instal
77
rmdir samples || true
88
mkdir samples
99

10-
npm install
11-
npm install -g ts-node
10+
npm install --ignore-scripts
11+
npm install -g ts-node --ignore-scripts
1212
npm link
1313
npm link @cloudinary/asset-management
1414
TS_CONFIG_CONTENT=$(cat <<EOL

.speakeasy/gen.lock

Lines changed: 2534 additions & 521 deletions
Large diffs are not rendered by default.

.speakeasy/gen.yaml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,33 +19,45 @@ generation:
1919
auth:
2020
oAuth2ClientCredentialsEnabled: true
2121
oAuth2PasswordEnabled: true
22+
hoistGlobalSecurity: true
2223
sdkHooksConfigAccess: true
24+
schemas:
25+
allOfMergeStrategy: shallowMerge
26+
requestBodyFieldName: ""
27+
persistentEdits: {}
2328
tests:
2429
generateTests: true
2530
generateNewTests: false
2631
skipResponseBodyAssertions: false
2732
typescript:
28-
version: 0.5.9
33+
version: 0.6.0
34+
acceptHeaderEnum: true
2935
additionalDependencies:
3036
dependencies: {}
3137
devDependencies: {}
3238
peerDependencies: {}
3339
additionalPackageJSON: {}
40+
additionalScripts: {}
41+
alwaysIncludeInboundAndOutbound: false
3442
author: Cloudinary
3543
authors:
3644
- Cloudinary
3745
- Speakeasy
3846
baseErrorName: CloudinaryAssetMgmtError
3947
clientServerStatusCodesAsErrors: true
40-
constFieldsAlwaysOptional: true
48+
constFieldsAlwaysOptional: false
4149
defaultErrorName: SDKError
4250
enableCustomCodeRegions: false
4351
enableMCPServer: true
4452
enableReactQuery: false
4553
enumFormat: union
4654
envVarPrefix: CLOUDINARY
55+
exportZodModelNamespace: false
4756
flattenGlobalSecurity: true
4857
flatteningOrder: parameters-first
58+
formStringArrayEncodeMode: encoded-string
59+
forwardCompatibleEnumsByDefault: false
60+
forwardCompatibleUnionsByDefault: "false"
4961
generateExamples: false
5062
imports:
5163
option: openapi
@@ -55,14 +67,22 @@ typescript:
5567
operations: models/operations
5668
shared: models/components
5769
webhooks: models/webhooks
70+
inferUnionDiscriminators: true
5871
inputModelSuffix: input
5972
jsonpath: legacy
73+
laxMode: strict
6074
maxMethodParams: 50
6175
methodArguments: require-security-and-request
76+
modelPropertyCasing: camel
6277
moduleFormat: dual
78+
multipartArrayFormat: legacy
6379
outputModelSuffix: output
6480
packageName: '@cloudinary/asset-management'
81+
preApplyUnionDiscriminators: true
6582
responseFormat: flat
83+
sseFlatResponse: false
6684
templateVersion: v2
85+
unionStrategy: left-to-right
6786
usageSDKInitImports: []
6887
useIndexModules: true
88+
zodVersion: v3

.speakeasy/workflow.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
speakeasyVersion: 1.609.0
1+
speakeasyVersion: 1.678.0
22
sources:
33
Asset Management API:
44
sourceNamespace: asset-management-api
5-
sourceRevisionDigest: sha256:195c48465895cdf8aab168c04443bda642b7ca7e31cc8dad806e2a90296a817f
6-
sourceBlobDigest: sha256:c6163cffcf1fb1c68ebc7a3047ea3cd7e872306bd082aec17b5b40f13dc6e08b
5+
sourceRevisionDigest: sha256:b01e6403a373c023368a4a95f17c95569896c1e8b2893f17377e85a8cf251849
6+
sourceBlobDigest: sha256:a13ee0a16d6d337a4661e7ba056085e0662f5930047ae2c6991e38495e82d000
77
tags:
88
- latest
9-
- speakeasy-sdk-regen-1756988921
10-
- 0.3.4
9+
- speakeasy-sdk-regen-1763512228
10+
- 0.3.5
1111
targets:
1212
asset-management-js:
1313
source: Asset Management API
1414
sourceNamespace: asset-management-api
15-
sourceRevisionDigest: sha256:195c48465895cdf8aab168c04443bda642b7ca7e31cc8dad806e2a90296a817f
16-
sourceBlobDigest: sha256:c6163cffcf1fb1c68ebc7a3047ea3cd7e872306bd082aec17b5b40f13dc6e08b
15+
sourceRevisionDigest: sha256:b01e6403a373c023368a4a95f17c95569896c1e8b2893f17377e85a8cf251849
16+
sourceBlobDigest: sha256:a13ee0a16d6d337a4661e7ba056085e0662f5930047ae2c6991e38495e82d000
1717
codeSamplesNamespace: asset-management-api-typescript-code-samples
18-
codeSamplesRevisionDigest: sha256:215e97b9e72c53f2fac942c6e46b0f3a3d40cdf1bacab8b69b00df32a6620209
18+
codeSamplesRevisionDigest: sha256:0f2147fd049d6f28c5b460bc88ee947a09d8033b0bead56b16e4eb86ffbf9feb
1919
workflow:
2020
workflowVersion: 1.0.0
2121
speakeasyVersion: latest

README.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -281,14 +281,14 @@ run();
281281
<details open>
282282
<summary>Available methods</summary>
283283

284-
### [assetRelations](docs/sdks/assetrelations/README.md)
284+
### [AssetRelations](docs/sdks/assetrelations/README.md)
285285

286286
* [createAssetRelationsByAssetId](docs/sdks/assetrelations/README.md#createassetrelationsbyassetid) - Add related assets by asset ID
287287
* [deleteAssetRelationsByAssetId](docs/sdks/assetrelations/README.md#deleteassetrelationsbyassetid) - Delete asset relations by asset ID
288288
* [createAssetRelationsByPublicId](docs/sdks/assetrelations/README.md#createassetrelationsbypublicid) - Create asset relations by public ID
289289
* [deleteAssetRelationsByPublicId](docs/sdks/assetrelations/README.md#deleteassetrelationsbypublicid) - Delete asset relations by public ID
290290

291-
### [assets](docs/sdks/assets/README.md)
291+
### [Assets](docs/sdks/assets/README.md)
292292

293293
* [renameAsset](docs/sdks/assets/README.md#renameasset) - Updates an existing asset's identifier (public ID) and optionally other metadata in your Cloudinary account
294294
* [downloadAsset](docs/sdks/assets/README.md#downloadasset) - Generates a download link for a specific asset (image)
@@ -314,16 +314,15 @@ run();
314314
* [deleteBackupVersions](docs/sdks/assets/README.md#deletebackupversions) - Delete backed up versions
315315
* [derivedDestroy](docs/sdks/assets/README.md#deriveddestroy) - Delete derived resources
316316

317-
### [backups](docs/sdks/backups/README.md)
317+
### [Backups](docs/sdks/backups/README.md)
318318

319319
* [deleteBackupVersions](docs/sdks/backups/README.md#deletebackupversions) - Delete backed up versions
320320

321-
322-
### [explode](docs/sdks/explode/README.md)
321+
### [Explode](docs/sdks/explode/README.md)
323322

324323
* [explodeResource](docs/sdks/explode/README.md#exploderesource) - Create derived images from multi-page file
325324

326-
### [folders](docs/sdks/folders/README.md)
325+
### [Folders](docs/sdks/folders/README.md)
327326

328327
* [showFolder](docs/sdks/folders/README.md#showfolder) - List sub-folders
329328
* [updateFolder](docs/sdks/folders/README.md#updatefolder) - Renames or moves an entire folder (along with all assets it contains) to a new location
@@ -333,32 +332,32 @@ run();
333332
* [searchFolders](docs/sdks/folders/README.md#searchfolders) - Searches for folders whose attributes match a given expression
334333
* [searchFoldersPost](docs/sdks/folders/README.md#searchfolderspost) - Searches for folders in your product environment
335334

336-
### [moderations](docs/sdks/moderations/README.md)
335+
### [Moderations](docs/sdks/moderations/README.md)
337336

338337
* [listResourcesByModerationKindAndStatus](docs/sdks/moderations/README.md#listresourcesbymoderationkindandstatus) - Get resources by moderation kind and status
339338

340-
### [search](docs/sdks/search/README.md)
339+
### [Search](docs/sdks/search/README.md)
341340

342341
* [searchAssets](docs/sdks/search/README.md#searchassets) - Provides a powerful query interface to filter and retrieve assets and their details
343342
* [visualSearchAssets](docs/sdks/search/README.md#visualsearchassets) - Finds images in your asset library based on visual similarity or content
344343

345-
### [tags](docs/sdks/tags/README.md)
344+
### [Tags](docs/sdks/tags/README.md)
346345

347346
* [listResourceTags](docs/sdks/tags/README.md#listresourcetags) - Retrieves a list of tags currently applied to assets in your Cloudinary account
348347

349-
### [upload](docs/sdks/upload/README.md)
348+
### [Upload](docs/sdks/upload/README.md)
350349

351350
* [upload](docs/sdks/upload/README.md#upload) - Uploads media assets (images, videos, raw files) to your Cloudinary product environment
352351
* [uploadNoResourceType](docs/sdks/upload/README.md#uploadnoresourcetype) - Upload with automatic file type detection
353352
* [uploadChunk](docs/sdks/upload/README.md#uploadchunk) - Upload a single chunk of a large file
354353
* [destroyAsset](docs/sdks/upload/README.md#destroyasset) - Destroys an asset/resource
355354
* [text](docs/sdks/upload/README.md#text) - Create image from text
356355

357-
### [usage](docs/sdks/usage/README.md)
356+
### [Usage](docs/sdks/usage/README.md)
358357

359358
* [getUsage](docs/sdks/usage/README.md#getusage) - Retrieves comprehensive usage metrics and account statistics
360359

361-
### [videoAnalytics](docs/sdks/videoanalytics/README.md)
360+
### [VideoAnalytics](docs/sdks/videoanalytics/README.md)
362361

363362
* [getVideoViews](docs/sdks/videoanalytics/README.md#getvideoviews) - Get video views
364363

@@ -644,8 +643,8 @@ If the selected server has variables, you may override its default values throug
644643
import { CloudinaryAssetMgmt } from "@cloudinary/asset-management";
645644

646645
const cloudinaryAssetMgmt = new CloudinaryAssetMgmt({
647-
serverIdx: 1,
648-
host: "nutritious-fisherman.net",
646+
serverIdx: 0,
647+
region: "api-ap",
649648
cloudName: "<value>",
650649
security: {
651650
cloudinaryAuth: {
@@ -758,7 +757,7 @@ httpClient.addHook("requestError", (error, request) => {
758757
console.groupEnd();
759758
});
760759

761-
const sdk = new CloudinaryAssetMgmt({ httpClient });
760+
const sdk = new CloudinaryAssetMgmt({ httpClient: httpClient });
762761
```
763762
<!-- End Custom HTTP Client [http-client] -->
764763

RELEASES.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,4 +188,14 @@ Based on:
188188
### Generated
189189
- [typescript v0.5.9] .
190190
### Releases
191-
- [NPM v0.5.9] https://www.npmjs.com/package/@cloudinary/asset-management/v/0.5.9 - .
191+
- [NPM v0.5.9] https://www.npmjs.com/package/@cloudinary/asset-management/v/0.5.9 - .
192+
193+
## 2025-12-17 00:30:25
194+
### Changes
195+
Based on:
196+
- OpenAPI Doc
197+
- Speakeasy CLI 1.678.0 (2.787.2) https://github.com/speakeasy-api/speakeasy
198+
### Generated
199+
- [typescript v0.6.0] .
200+
### Releases
201+
- [NPM v0.6.0] https://www.npmjs.com/package/@cloudinary/asset-management/v/0.6.0 - .

RUNTIMES.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2020 or newer. The SDK uses the following features:
44

5-
* [Web Fetch API][web-fetch]
6-
* [Web Streams API][web-streams] and in particular `ReadableStream`
7-
* [Async iterables][async-iter] using `Symbol.asyncIterator`
5+
- [Web Fetch API][web-fetch]
6+
- [Web Streams API][web-streams] and in particular `ReadableStream`
7+
- [Async iterables][async-iter] using `Symbol.asyncIterator`
88

99
[web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
1010
[web-streams]: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API
@@ -25,7 +25,7 @@ Runtime environments that are explicitly supported are:
2525

2626
The following `tsconfig.json` options are recommended for projects using this
2727
SDK in order to get static type support for features like async iterables,
28-
streams and `fetch`-related APIs ([`for await...of`][for-await-of],
28+
streams and `fetch`-related APIs ([`for await...of`][for-await-of],
2929
[`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and
3030
so on):
3131

@@ -38,11 +38,11 @@ so on):
3838
{
3939
"compilerOptions": {
4040
"target": "es2020", // or higher
41-
"lib": ["es2020", "dom", "dom.iterable"],
41+
"lib": ["es2020", "dom", "dom.iterable"]
4242
}
4343
}
4444
```
4545

4646
While `target` can be set to older ECMAScript versions, it may result in extra,
4747
unnecessary compatibility code being generated if you are not targeting old
48-
runtimes.
48+
runtimes.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# AccessControlItem
2+
3+
Access control rule that defines when and how the asset can be accessed.
4+
5+
## Example Usage
6+
7+
```typescript
8+
import { AccessControlItem } from "@cloudinary/asset-management/models/components";
9+
10+
let value: AccessControlItem = {
11+
accessType: "token",
12+
key: "prod2024",
13+
start: "2024-03-15T09:00:00Z",
14+
end: "2024-06-30T23:59:59Z",
15+
};
16+
```
17+
18+
## Fields
19+
20+
| Field | Type | Required | Description | Example |
21+
| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
22+
| `accessType` | [components.AccessType](../../models/components/accesstype.md) | :heavy_check_mark: | The type of access control to apply to the asset. | |
23+
| `key` | *string* | :heavy_minus_sign: | The authentication key identifier for token-based access. Default key is used if not specified or if set to 'default'. | prod2024 |
24+
| `start` | *string* | :heavy_minus_sign: | The start date and time (in ISO 8601 format) when anonymous access becomes available. | 2024-03-15T09:00:00Z |
25+
| `end` | *string* | :heavy_minus_sign: | The end date and time (in ISO 8601 format) when anonymous access expires. | 2024-06-30T23:59:59Z |
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# AccessType
2+
3+
The type of access control to apply to the asset.
4+
5+
## Example Usage
6+
7+
```typescript
8+
import { AccessType } from "@cloudinary/asset-management/models/components";
9+
10+
let value: AccessType = "anonymous";
11+
```
12+
13+
## Values
14+
15+
```typescript
16+
"token" | "anonymous"
17+
```

0 commit comments

Comments
 (0)