openapi: 3.2.0 info: title: Knak Enterprise Asset Folders API version: V1 x-logo: url: https://s3.amazonaws.com/assets.knak.io/img/Knak-Logo-Medium.png contact: email: support@knak.com description: '# Overview Welcome to the developer documentation for the Knak Enterprise API.' servers: - url: https://enterprise.knak.io/api/published/v1 description: production tags: - name: Asset Folders paths: /asset-folders: get: description: Retrieve company asset folders. summary: List asset folders parameters: - in: query required: false name: filter[brand_id] description: ID of brand to filter by. Exact match filter. example: 609d7ce223411 schema: type: string - in: query required: false name: filter[parent_folder_id] description: ID of parent folder to filter by. Exact match filter. example: 609d7ce223411 schema: type: string - name: page in: query required: false description: Page number example: 1 schema: type: integer - name: per_page in: query required: false description: Number of items per page example: 10 schema: type: integer tags: - Asset Folders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AssetFolderList' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Bad Request. detail: 'Please modify request before attempting again. Message: Requested filter(s) `disallowed_filter` are not allowed. Allowed filter(s) are `brand_id, parent_folder_id`' '401': description: Unauthenticated content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Unauthenticated. detail: Authenticate before continuing. '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Forbidden. detail: This user is not authorized to perform this action. Please adjust permissions before continuing. operationId: getAssetFolders x-operation-id-source: derived post: description: Create an asset folders. summary: Create asset folder requestBody: required: true content: application/json: schema: type: object properties: name: type: string example: test maxLength: 191 type: type: string enum: - folder - campaign example: folder parent_folder_id: type: string maxLength: 13 example: 609d7ce223411 required: - name - type - parent_folder_id tags: - Asset Folders responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/AssetFolderItem' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Bad Request. detail: Please modify request before attempting again.` '401': description: Unauthenticated content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Unauthenticated. detail: Authenticate before continuing. '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Forbidden. detail: This user is not authorized to perform this action. Please adjust permissions before continuing. operationId: postAssetFolders x-operation-id-source: derived /asset-folders/{asset_folder_id}: patch: description: Update an asset folders. summary: Update asset folder parameters: - in: path required: true name: asset_folder_id description: ID of asset folder example: 609d7ce223411 schema: type: string requestBody: required: true content: application/json: schema: type: object properties: name: type: string example: test maxLength: 191 parent_folder_id: type: string maxLength: 13 example: 609d7ce223411 tags: - Asset Folders responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AssetFolderItem' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Bad Request. detail: Please modify request before attempting again.` '401': description: Unauthenticated content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Unauthenticated. detail: Authenticate before continuing. '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Forbidden. detail: This user is not authorized to perform this action. Please adjust permissions before continuing. operationId: patchAssetFoldersByAssetFolderId x-operation-id-source: derived delete: description: Delete an asset folders and all its sub-content including folders, campaigns and assets. summary: Delete an asset folder parameters: - in: path required: true name: asset_folder_id description: ID of asset folder example: 609d7ce223411 schema: type: string tags: - Asset Folders responses: '204': description: OK '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Bad Request. detail: Please modify request before attempting again.` '401': description: Unauthenticated content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Unauthenticated. detail: Authenticate before continuing. '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - title: Forbidden. detail: This user is not authorized to perform this action. Please adjust permissions before continuing. operationId: deleteAssetFoldersByAssetFolderId x-operation-id-source: derived components: schemas: AssetFolder: type: object properties: type: type: string example: asset-folder id: type: string example: 609d7ce223411 attributes: type: object properties: id: type: string example: 609d7ce223411 name: type: string example: Spring Newsletter parent_folder_id: type: string example: 609d7ce223411 nullable: true brand_id: type: string example: 609d7ce223411 type: type: string example: folder created_at: type: string example: '2018-04-14T18:35:58+00:00' updated_at: type: string example: '2018-04-14T18:35:58+00:00' Error: type: object properties: errors: type: array items: type: object properties: status: type: string description: HTTP status code as a string. Returned by endpoints that use the JSON:API error shape. example: '409' title: type: string detail: type: string meta: type: object description: Additional context for the error. Returned by endpoints that use the JSON:API error shape. additionalProperties: true AssetFolderList: type: object properties: data: type: array items: $ref: '#/components/schemas/AssetFolder' links: type: object properties: first: type: string example: https://enterprise.knak.io/api/published/v1/asset-folders?page=1 last: type: string example: https://enterprise.knak.io/api/published/v1/asset-folders?page=3 prev: type: string nullable: true example: https://enterprise.knak.io/api/published/v1/asset-folders?page=1 next: type: string nullable: true example: https://enterprise.knak.io/api/published/v1/asset-folders?page=3 meta: type: object properties: current_page: type: integer example: 1 from: type: integer example: 1 last_page: type: integer example: 3 links: type: array items: type: object properties: url: type: string nullable: true example: https://enterprise.knak.io/api/published/v1/asset-folders?page=2 label: type: string example: Next active: type: boolean example: true path: type: string example: https://enterprise.knak.io/api/published/v1/asset-folders?page=2 per_page: type: integer example: 10 to: type: integer example: 2 total: type: integer example: 2 AssetFolderItem: type: object properties: data: $ref: '#/components/schemas/AssetFolder' x-tagGroups: - name: User Management tags: - Users - name: Assets tags: - Assets - Project Management - name: Themes tags: - Themes - name: Modules tags: - Modules - name: Brands tags: - Brands - name: Asset Folders tags: - AssetFolders - name: Assets Custom Fieldsets tags: - Asset Custom Fieldsets - name: Available Platforms tags: - AvailablePlatforms - name: Merge Tags tags: - MergeTags - name: Integrations tags: - Integrations - name: Sync tags: - SyncStatuses - MarketingPlatformSyncs - name: Translation Requests tags: - TranslationRequests - name: Events tags: - asset.created - asset.sync_requested - asset.sync_confirmation_responded - asset.approval_status_updated - asset.translation_requested - translation_request.created - name: Models tags: - user_model - asset_model - theme_model - module_model - brand_model - asset_folder_model - asset_custom_fieldset - available_platform - merge_tag - sync_status - integration - marketing_platform_sync - translation_request - project_management_link