# DDoS Protection # Advanced TCP Protection # Allowlist ## List all allowlist prefixes. `client.DDoSProtection.advancedTCPProtection.allowlist.list(AllowlistListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/allowlist` List all allowlist prefixes for an account. ### Parameters - `params: AllowlistListParams` - `account_id: string` Path param: Identifier. - `direction?: string` Query param: The direction of ordering (ASC or DESC). Defaults to 'ASC'. - `order?: string` Query param: The field to order by. Defaults to 'prefix'. - `page?: number` Query param: The page number for pagination. Defaults to 1. - `per_page?: number` Query param: The number of items per page. Must be between 10 and 1000. Defaults to 25. ### Returns - `AllowlistListResponse` - `id: string` The unique ID of the allowlist prefix. - `comment: string` An optional comment describing the allowlist prefix. - `created_on: string` The creation timestamp of the allowlist prefix. - `enabled: boolean` Whether to enable the allowlist prefix into effect. Defaults to false. - `modified_on: string` The last modification timestamp of the allowlist prefix. - `prefix: string` The allowlist prefix in CIDR format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const allowlistListResponse of client.DDoSProtection.advancedTCPProtection.allowlist.list( { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, )) { console.log(allowlistListResponse.id); } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "id", "comment": "comment", "created_on": "2019-12-27T18:11:19.117Z", "enabled": true, "modified_on": "2019-12-27T18:11:19.117Z", "prefix": "prefix" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create allowlist prefix. `client.DDoSProtection.advancedTCPProtection.allowlist.create(AllowlistCreateParamsparams, RequestOptionsoptions?): AllowlistCreateResponse` **post** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/allowlist` Create an allowlist prefix for an account. ### Parameters - `params: AllowlistCreateParams` - `account_id: string` Path param: Identifier. - `comment: string` Body param: An comment describing the allowlist prefix. - `enabled: boolean` Body param: Whether to enable the allowlist prefix into effect. - `prefix: string` Body param: The allowlist prefix to add in CIDR format. ### Returns - `AllowlistCreateResponse` - `id: string` The unique ID of the allowlist prefix. - `comment: string` An optional comment describing the allowlist prefix. - `created_on: string` The creation timestamp of the allowlist prefix. - `enabled: boolean` Whether to enable the allowlist prefix into effect. Defaults to false. - `modified_on: string` The last modification timestamp of the allowlist prefix. - `prefix: string` The allowlist prefix in CIDR format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const allowlist = await client.DDoSProtection.advancedTCPProtection.allowlist.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', comment: 'comment', enabled: true, prefix: 'prefix', }); console.log(allowlist.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "comment": "comment", "created_on": "2019-12-27T18:11:19.117Z", "enabled": true, "modified_on": "2019-12-27T18:11:19.117Z", "prefix": "prefix" } } ``` ## Delete all allowlist prefixes. `client.DDoSProtection.advancedTCPProtection.allowlist.bulkDelete(AllowlistBulkDeleteParamsparams, RequestOptionsoptions?): AllowlistBulkDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/allowlist` Delete all allowlist prefixes for an account. ### Parameters - `params: AllowlistBulkDeleteParams` - `account_id: string` Identifier. ### Returns - `AllowlistBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.allowlist.bulkDelete({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Allowlist List Response - `AllowlistListResponse` - `id: string` The unique ID of the allowlist prefix. - `comment: string` An optional comment describing the allowlist prefix. - `created_on: string` The creation timestamp of the allowlist prefix. - `enabled: boolean` Whether to enable the allowlist prefix into effect. Defaults to false. - `modified_on: string` The last modification timestamp of the allowlist prefix. - `prefix: string` The allowlist prefix in CIDR format. ### Allowlist Create Response - `AllowlistCreateResponse` - `id: string` The unique ID of the allowlist prefix. - `comment: string` An optional comment describing the allowlist prefix. - `created_on: string` The creation timestamp of the allowlist prefix. - `enabled: boolean` Whether to enable the allowlist prefix into effect. Defaults to false. - `modified_on: string` The last modification timestamp of the allowlist prefix. - `prefix: string` The allowlist prefix in CIDR format. ### Allowlist Bulk Delete Response - `AllowlistBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # Items ## Get allowlist prefix. `client.DDoSProtection.advancedTCPProtection.allowlist.items.get(stringprefixId, ItemGetParamsparams, RequestOptionsoptions?): ItemGetResponse` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/allowlist/{prefix_id}` Get an allowlist prefix specified by the given UUID. ### Parameters - `prefixId: string` UUID. - `params: ItemGetParams` - `account_id: string` Identifier. ### Returns - `ItemGetResponse` - `id: string` The unique ID of the allowlist prefix. - `comment: string` An optional comment describing the allowlist prefix. - `created_on: string` The creation timestamp of the allowlist prefix. - `enabled: boolean` Whether to enable the allowlist prefix into effect. Defaults to false. - `modified_on: string` The last modification timestamp of the allowlist prefix. - `prefix: string` The allowlist prefix in CIDR format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.allowlist.items.get( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "comment": "comment", "created_on": "2019-12-27T18:11:19.117Z", "enabled": true, "modified_on": "2019-12-27T18:11:19.117Z", "prefix": "prefix" } } ``` ## Update allowlist prefix. `client.DDoSProtection.advancedTCPProtection.allowlist.items.edit(stringprefixId, ItemEditParamsparams, RequestOptionsoptions?): ItemEditResponse` **patch** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/allowlist/{prefix_id}` Update an allowlist prefix specified by the given UUID. ### Parameters - `prefixId: string` UUID. - `params: ItemEditParams` - `account_id: string` Path param: Identifier. - `comment?: string` Body param: A comment describing the allowlist prefix. Optional. - `enabled?: boolean` Body param: Whether to enable the allowlist prefix into effect. Optional. ### Returns - `ItemEditResponse` - `id: string` The unique ID of the allowlist prefix. - `comment: string` An optional comment describing the allowlist prefix. - `created_on: string` The creation timestamp of the allowlist prefix. - `enabled: boolean` Whether to enable the allowlist prefix into effect. Defaults to false. - `modified_on: string` The last modification timestamp of the allowlist prefix. - `prefix: string` The allowlist prefix in CIDR format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.allowlist.items.edit( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "comment": "comment", "created_on": "2019-12-27T18:11:19.117Z", "enabled": true, "modified_on": "2019-12-27T18:11:19.117Z", "prefix": "prefix" } } ``` ## Delete allowlist prefix. `client.DDoSProtection.advancedTCPProtection.allowlist.items.delete(stringprefixId, ItemDeleteParamsparams, RequestOptionsoptions?): ItemDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/allowlist/{prefix_id}` Delete the allowlist prefix for an account given a UUID. ### Parameters - `prefixId: string` UUID. - `params: ItemDeleteParams` - `account_id: string` Identifier. ### Returns - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.allowlist.items.delete( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Item Get Response - `ItemGetResponse` - `id: string` The unique ID of the allowlist prefix. - `comment: string` An optional comment describing the allowlist prefix. - `created_on: string` The creation timestamp of the allowlist prefix. - `enabled: boolean` Whether to enable the allowlist prefix into effect. Defaults to false. - `modified_on: string` The last modification timestamp of the allowlist prefix. - `prefix: string` The allowlist prefix in CIDR format. ### Item Edit Response - `ItemEditResponse` - `id: string` The unique ID of the allowlist prefix. - `comment: string` An optional comment describing the allowlist prefix. - `created_on: string` The creation timestamp of the allowlist prefix. - `enabled: boolean` Whether to enable the allowlist prefix into effect. Defaults to false. - `modified_on: string` The last modification timestamp of the allowlist prefix. - `prefix: string` The allowlist prefix in CIDR format. ### Item Delete Response - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # Prefixes ## List all prefixes. `client.DDoSProtection.advancedTCPProtection.prefixes.list(PrefixListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/prefixes` List all prefixes for an account. ### Parameters - `params: PrefixListParams` - `account_id: string` Path param: Identifier. - `direction?: string` Query param: The direction of ordering (ASC or DESC). Defaults to 'ASC'. - `order?: string` Query param: The field to order by. Defaults to 'prefix'. - `page?: number` Query param: The page number for pagination. Defaults to 1. - `per_page?: number` Query param: The number of items per page. Must be between 10 and 1000. Defaults to 25. ### Returns - `PrefixListResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const prefixListResponse of client.DDoSProtection.advancedTCPProtection.prefixes.list({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(prefixListResponse.id); } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "id", "comment": "comment", "created_on": "2019-12-27T18:11:19.117Z", "excluded": true, "modified_on": "2019-12-27T18:11:19.117Z", "prefix": "192.0.2.0/24" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create prefix. `client.DDoSProtection.advancedTCPProtection.prefixes.create(PrefixCreateParamsparams, RequestOptionsoptions?): PrefixCreateResponse` **post** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/prefixes` Create a prefix for an account. ### Parameters - `params: PrefixCreateParams` - `account_id: string` Path param: Identifier. - `comment: string` Body param: A comment describing the prefix. - `excluded: boolean` Body param: Whether to exclude the prefix from protection. - `prefix: string` Body param: The prefix to add in CIDR format. ### Returns - `PrefixCreateResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const prefix = await client.DDoSProtection.advancedTCPProtection.prefixes.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', comment: 'comment', excluded: true, prefix: '192.0.2.0/24', }); console.log(prefix.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "comment": "comment", "created_on": "2019-12-27T18:11:19.117Z", "excluded": true, "modified_on": "2019-12-27T18:11:19.117Z", "prefix": "192.0.2.0/24" } } ``` ## Delete all prefixes. `client.DDoSProtection.advancedTCPProtection.prefixes.bulkDelete(PrefixBulkDeleteParamsparams, RequestOptionsoptions?): PrefixBulkDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/prefixes` Delete all prefixes for an account. ### Parameters - `params: PrefixBulkDeleteParams` - `account_id: string` Identifier. ### Returns - `PrefixBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.prefixes.bulkDelete({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Create multiple prefixes. `client.DDoSProtection.advancedTCPProtection.prefixes.bulkCreate(PrefixBulkCreateParamsparams, RequestOptionsoptions?): SinglePage` **post** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/prefixes/bulk` Create multiple prefixes for an account. ### Parameters - `params: PrefixBulkCreateParams` - `account_id: string` Path param: Identifier. - `body: Array` Body param - `comment: string` A comment describing the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `prefix: string` The prefix to add in CIDR format. ### Returns - `PrefixBulkCreateResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const prefixBulkCreateResponse of client.DDoSProtection.advancedTCPProtection.prefixes.bulkCreate( { account_id: '023e105f4ecef8ad9ca31a8372d0c353', body: [ { comment: 'comment', excluded: true, prefix: '192.0.2.0/24', }, ], }, )) { console.log(prefixBulkCreateResponse.id); } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "id", "comment": "comment", "created_on": "2019-12-27T18:11:19.117Z", "excluded": true, "modified_on": "2019-12-27T18:11:19.117Z", "prefix": "192.0.2.0/24" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Domain Types ### Prefix List Response - `PrefixListResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. ### Prefix Create Response - `PrefixCreateResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. ### Prefix Bulk Delete Response - `PrefixBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Prefix Bulk Create Response - `PrefixBulkCreateResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. # Items ## Get prefix. `client.DDoSProtection.advancedTCPProtection.prefixes.items.get(stringprefixId, ItemGetParamsparams, RequestOptionsoptions?): ItemGetResponse` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/prefixes/{prefix_id}` Get a prefix specified by the given UUID. ### Parameters - `prefixId: string` UUID. - `params: ItemGetParams` - `account_id: string` Identifier. ### Returns - `ItemGetResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.prefixes.items.get( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "comment": "comment", "created_on": "2019-12-27T18:11:19.117Z", "excluded": true, "modified_on": "2019-12-27T18:11:19.117Z", "prefix": "192.0.2.0/24" } } ``` ## Update prefix. `client.DDoSProtection.advancedTCPProtection.prefixes.items.edit(stringprefixId, ItemEditParamsparams, RequestOptionsoptions?): ItemEditResponse` **patch** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/prefixes/{prefix_id}` Update a prefix specified by the given UUID. ### Parameters - `prefixId: string` UUID. - `params: ItemEditParams` - `account_id: string` Path param: Identifier. - `comment?: string` Body param: A new comment for the prefix. Optional. - `excluded?: boolean` Body param: Whether to exclude the prefix from protection. Optional. ### Returns - `ItemEditResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.prefixes.items.edit( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "comment": "comment", "created_on": "2019-12-27T18:11:19.117Z", "excluded": true, "modified_on": "2019-12-27T18:11:19.117Z", "prefix": "192.0.2.0/24" } } ``` ## Delete prefix. `client.DDoSProtection.advancedTCPProtection.prefixes.items.delete(stringprefixId, ItemDeleteParamsparams, RequestOptionsoptions?): ItemDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/prefixes/{prefix_id}` Delete the prefix for an account given a UUID. ### Parameters - `prefixId: string` UUID. - `params: ItemDeleteParams` - `account_id: string` Identifier. ### Returns - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.prefixes.items.delete( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Item Get Response - `ItemGetResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. ### Item Edit Response - `ItemEditResponse` - `id: string` The unique ID of the prefix. - `comment: string` A comment describing the prefix. - `created_on: string` The creation timestamp of the prefix. - `excluded: boolean` Whether to exclude the prefix from protection. - `modified_on: string` The last modification timestamp of the prefix. - `prefix: string` The prefix in CIDR format. ### Item Delete Response - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # SYN Protection # Filters ## List all SYN Protection filters. `client.DDoSProtection.advancedTCPProtection.synProtection.filters.list(FilterListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/filters` List all SYN Protection filters for an account. ### Parameters - `params: FilterListParams` - `account_id: string` Path param: Identifier. - `direction?: string` Query param: The direction of ordering (ASC or DESC). Defaults to 'ASC'. - `mode?: string` Query param: The mode of the filters to get. Optional. Valid values: 'enabled', 'disabled', 'monitoring'. - `order?: string` Query param: The field to order by. Defaults to 'prefix'. - `page?: number` Query param: The page number for pagination. Defaults to 1. - `per_page?: number` Query param: The number of items per page. Must be between 10 and 1000. Defaults to 25. ### Returns - `FilterListResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const filterListResponse of client.DDoSProtection.advancedTCPProtection.synProtection.filters.list( { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, )) { console.log(filterListResponse.id); } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create a SYN Protection filter. `client.DDoSProtection.advancedTCPProtection.synProtection.filters.create(FilterCreateParamsparams, RequestOptionsoptions?): FilterCreateResponse` **post** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/filters` Create a SYN Protection filter for an account. ### Parameters - `params: FilterCreateParams` - `account_id: string` Path param: Identifier. - `expression: string` Body param: The filter expression. - `mode: string` Body param: The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. ### Returns - `FilterCreateResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const filter = await client.DDoSProtection.advancedTCPProtection.synProtection.filters.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', expression: 'ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }', mode: 'mode', }); console.log(filter.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } } ``` ## Delete all SYN Protection filters. `client.DDoSProtection.advancedTCPProtection.synProtection.filters.bulkDelete(FilterBulkDeleteParamsparams, RequestOptionsoptions?): FilterBulkDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/filters` Delete all SYN Protection filters for an account. ### Parameters - `params: FilterBulkDeleteParams` - `account_id: string` Identifier. ### Returns - `FilterBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.synProtection.filters.bulkDelete( { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Filter List Response - `FilterListResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Filter Create Response - `FilterCreateResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Filter Bulk Delete Response - `FilterBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # Items ## Get SYN Protection filter. `client.DDoSProtection.advancedTCPProtection.synProtection.filters.items.get(stringfilterId, ItemGetParamsparams, RequestOptionsoptions?): ItemGetResponse` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/filters/{filter_id}` Get a SYN Protection filter specified by the given UUID. ### Parameters - `filterId: string` UUID. - `params: ItemGetParams` - `account_id: string` Identifier. ### Returns - `ItemGetResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.synProtection.filters.items.get( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } } ``` ## Update SYN Protection filter. `client.DDoSProtection.advancedTCPProtection.synProtection.filters.items.edit(stringfilterId, ItemEditParamsparams, RequestOptionsoptions?): ItemEditResponse` **patch** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/filters/{filter_id}` Update a SYN Protection filter specified by the given UUID. ### Parameters - `filterId: string` UUID. - `params: ItemEditParams` - `account_id: string` Path param: Identifier. - `expression?: string` Body param: The new filter expression. Optional. - `mode?: string` Body param: The new mode for the filter. Optional. Must be one of 'enabled', 'disabled', 'monitoring'. ### Returns - `ItemEditResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.synProtection.filters.items.edit( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } } ``` ## Delete SYN Protection filter. `client.DDoSProtection.advancedTCPProtection.synProtection.filters.items.delete(stringfilterId, ItemDeleteParamsparams, RequestOptionsoptions?): ItemDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/filters/{filter_id}` Delete a SYN Protection filter specified by the given UUID. ### Parameters - `filterId: string` UUID. - `params: ItemDeleteParams` - `account_id: string` Identifier. ### Returns - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.synProtection.filters.items.delete( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Item Get Response - `ItemGetResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Item Edit Response - `ItemEditResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Item Delete Response - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # Rules ## List all SYN Protection rules. `client.DDoSProtection.advancedTCPProtection.synProtection.rules.list(RuleListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/rules` List all SYN Protection rules for an account. ### Parameters - `params: RuleListParams` - `account_id: string` Path param: Identifier. - `direction?: string` Query param: The direction of ordering (ASC or DESC). Defaults to 'ASC'. - `order?: string` Query param: The field to order by. Defaults to 'prefix'. - `page?: number` Query param: The page number for pagination. Defaults to 1. - `per_page?: number` Query param: The number of items per page. Must be between 10 and 1000. Defaults to 25. ### Returns - `RuleListResponse` - `id: string` The unique ID of the SYN Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the SYN Protection rule. - `mitigation_type: string` The type of mitigation for SYN Protection. Must be one of 'challenge' or 'retransmit'. - `mode: string` The mode for SYN Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the SYN Protection rule. - `name: string` The name of the SYN Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the SYN Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const ruleListResponse of client.DDoSProtection.advancedTCPProtection.synProtection.rules.list( { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, )) { console.log(ruleListResponse.id); } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mitigation_type": "mitigation_type", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create SYN Protection rule. `client.DDoSProtection.advancedTCPProtection.synProtection.rules.create(RuleCreateParamsparams, RequestOptionsoptions?): RuleCreateResponse` **post** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/rules` Create a SYN Protection rule for an account. ### Parameters - `params: RuleCreateParams` - `account_id: string` Path param: Identifier. - `burst_sensitivity: string` Body param: The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `mode: string` Body param: The mode for SYN Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `name: string` Body param: The name of the SYN Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` Body param: The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` Body param: The scope for the SYN Protection rule. Must be one of 'global', 'region', or 'datacenter'. - `mitigation_type?: string` Body param: The type of mitigation. Must be one of 'challenge' or 'retransmit'. Optional. Defaults to 'challenge'. ### Returns - `RuleCreateResponse` - `id: string` The unique ID of the SYN Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the SYN Protection rule. - `mitigation_type: string` The type of mitigation for SYN Protection. Must be one of 'challenge' or 'retransmit'. - `mode: string` The mode for SYN Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the SYN Protection rule. - `name: string` The name of the SYN Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the SYN Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const rule = await client.DDoSProtection.advancedTCPProtection.synProtection.rules.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', burst_sensitivity: 'burst_sensitivity', mode: 'mode', name: 'name', rate_sensitivity: 'rate_sensitivity', scope: 'scope', }); console.log(rule.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mitigation_type": "mitigation_type", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } } ``` ## Delete all SYN Protection rules. `client.DDoSProtection.advancedTCPProtection.synProtection.rules.bulkDelete(RuleBulkDeleteParamsparams, RequestOptionsoptions?): RuleBulkDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/rules` Delete all SYN Protection rules for an account. ### Parameters - `params: RuleBulkDeleteParams` - `account_id: string` Identifier. ### Returns - `RuleBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.synProtection.rules.bulkDelete({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Rule List Response - `RuleListResponse` - `id: string` The unique ID of the SYN Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the SYN Protection rule. - `mitigation_type: string` The type of mitigation for SYN Protection. Must be one of 'challenge' or 'retransmit'. - `mode: string` The mode for SYN Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the SYN Protection rule. - `name: string` The name of the SYN Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the SYN Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Rule Create Response - `RuleCreateResponse` - `id: string` The unique ID of the SYN Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the SYN Protection rule. - `mitigation_type: string` The type of mitigation for SYN Protection. Must be one of 'challenge' or 'retransmit'. - `mode: string` The mode for SYN Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the SYN Protection rule. - `name: string` The name of the SYN Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the SYN Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Rule Bulk Delete Response - `RuleBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # Items ## Get SYN Protection rule. `client.DDoSProtection.advancedTCPProtection.synProtection.rules.items.get(stringruleId, ItemGetParamsparams, RequestOptionsoptions?): ItemGetResponse` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/rules/{rule_id}` Get a SYN Protection rule specified by the given UUID. ### Parameters - `ruleId: string` UUID. - `params: ItemGetParams` - `account_id: string` Identifier. ### Returns - `ItemGetResponse` - `id: string` The unique ID of the SYN Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the SYN Protection rule. - `mitigation_type: string` The type of mitigation for SYN Protection. Must be one of 'challenge' or 'retransmit'. - `mode: string` The mode for SYN Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the SYN Protection rule. - `name: string` The name of the SYN Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the SYN Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.synProtection.rules.items.get( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mitigation_type": "mitigation_type", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } } ``` ## Update SYN Protection rule. `client.DDoSProtection.advancedTCPProtection.synProtection.rules.items.edit(stringruleId, ItemEditParamsparams, RequestOptionsoptions?): ItemEditResponse` **patch** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/rules/{rule_id}` Update a SYN Protection rule specified by the given UUID. ### Parameters - `ruleId: string` UUID. - `params: ItemEditParams` - `account_id: string` Path param: Identifier. - `burst_sensitivity?: string` Body param: The new burst sensitivity. Optional. Must be one of 'low', 'medium', 'high'. - `mitigation_type?: string` Body param: The new mitigation type. Optional. Must be one of 'challenge' or 'retransmit'. - `mode?: string` Body param: The new mode for SYN Protection. Optional. Must be one of 'enabled', 'disabled', 'monitoring'. - `rate_sensitivity?: string` Body param: The new rate sensitivity. Optional. Must be one of 'low', 'medium', 'high'. ### Returns - `ItemEditResponse` - `id: string` The unique ID of the SYN Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the SYN Protection rule. - `mitigation_type: string` The type of mitigation for SYN Protection. Must be one of 'challenge' or 'retransmit'. - `mode: string` The mode for SYN Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the SYN Protection rule. - `name: string` The name of the SYN Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the SYN Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.synProtection.rules.items.edit( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mitigation_type": "mitigation_type", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } } ``` ## Delete SYN Protection rule. `client.DDoSProtection.advancedTCPProtection.synProtection.rules.items.delete(stringruleId, ItemDeleteParamsparams, RequestOptionsoptions?): ItemDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/syn_protection/rules/{rule_id}` Delete a SYN Protection rule specified by the given UUID. ### Parameters - `ruleId: string` UUID. - `params: ItemDeleteParams` - `account_id: string` Identifier. ### Returns - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.synProtection.rules.items.delete( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Item Get Response - `ItemGetResponse` - `id: string` The unique ID of the SYN Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the SYN Protection rule. - `mitigation_type: string` The type of mitigation for SYN Protection. Must be one of 'challenge' or 'retransmit'. - `mode: string` The mode for SYN Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the SYN Protection rule. - `name: string` The name of the SYN Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the SYN Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Item Edit Response - `ItemEditResponse` - `id: string` The unique ID of the SYN Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the SYN Protection rule. - `mitigation_type: string` The type of mitigation for SYN Protection. Must be one of 'challenge' or 'retransmit'. - `mode: string` The mode for SYN Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the SYN Protection rule. - `name: string` The name of the SYN Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the SYN Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Item Delete Response - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # TCP Flow Protection # Filters ## List all TCP Flow Protection filters. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.list(FilterListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters` List all TCP Flow Protection filters for an account. ### Parameters - `params: FilterListParams` - `account_id: string` Path param: Identifier. - `direction?: string` Query param: The direction of ordering (ASC or DESC). Defaults to 'ASC'. - `mode?: string` Query param: The mode of the filters to get. Optional. Valid values: 'enabled', 'disabled', 'monitoring'. - `order?: string` Query param: The field to order by. Defaults to 'prefix'. - `page?: number` Query param: The page number for pagination. Defaults to 1. - `per_page?: number` Query param: The number of items per page. Must be between 10 and 1000. Defaults to 25. ### Returns - `FilterListResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const filterListResponse of client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.list( { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, )) { console.log(filterListResponse.id); } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create a TCP Flow Protection filter. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.create(FilterCreateParamsparams, RequestOptionsoptions?): FilterCreateResponse` **post** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters` Create a TCP Flow Protection filter for an account. ### Parameters - `params: FilterCreateParams` - `account_id: string` Path param: Identifier. - `expression: string` Body param: The filter expression. - `mode: string` Body param: The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. ### Returns - `FilterCreateResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const filter = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', expression: 'ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }', mode: 'mode', }); console.log(filter.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } } ``` ## Delete all TCP Flow Protection filters. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.bulkDelete(FilterBulkDeleteParamsparams, RequestOptionsoptions?): FilterBulkDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters` Delete all TCP Flow Protection filters for an account. ### Parameters - `params: FilterBulkDeleteParams` - `account_id: string` Identifier. ### Returns - `FilterBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.bulkDelete({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Filter List Response - `FilterListResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Filter Create Response - `FilterCreateResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Filter Bulk Delete Response - `FilterBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # Items ## Get TCP Flow Protection filter. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.items.get(stringfilterId, ItemGetParamsparams, RequestOptionsoptions?): ItemGetResponse` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters/{filter_id}` Get a TCP Flow Protection filter specified by the given UUID. ### Parameters - `filterId: string` UUID. - `params: ItemGetParams` - `account_id: string` Identifier. ### Returns - `ItemGetResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.items.get( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } } ``` ## Update TCP Flow Protection filter. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.items.edit(stringfilterId, ItemEditParamsparams, RequestOptionsoptions?): ItemEditResponse` **patch** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters/{filter_id}` Update a TCP Flow Protection filter specified by the given UUID. ### Parameters - `filterId: string` UUID. - `params: ItemEditParams` - `account_id: string` Path param: Identifier. - `expression?: string` Body param: The new filter expression. Optional. - `mode?: string` Body param: The new mode for the filter. Optional. Must be one of 'enabled', 'disabled', 'monitoring'. ### Returns - `ItemEditResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.items.edit( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } } ``` ## Delete TCP Flow Protection filter. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.items.delete(stringfilterId, ItemDeleteParamsparams, RequestOptionsoptions?): ItemDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters/{filter_id}` Delete a TCP Flow Protection filter specified by the given UUID. ### Parameters - `filterId: string` UUID. - `params: ItemDeleteParams` - `account_id: string` Identifier. ### Returns - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.filters.items.delete( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Item Get Response - `ItemGetResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Item Edit Response - `ItemEditResponse` - `id: string` The unique ID of the expression filter. - `created_on: string` The creation timestamp of the expression filter. - `expression: string` The filter expression. - `mode: string` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the expression filter. ### Item Delete Response - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # Rules ## List all TCP Flow Protection rules. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.list(RuleListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules` List all TCP Flow Protection rules for an account. ### Parameters - `params: RuleListParams` - `account_id: string` Path param: Identifier. - `direction?: string` Query param: The direction of ordering (ASC or DESC). Defaults to 'ASC'. - `order?: string` Query param: The field to order by. Defaults to 'prefix'. - `page?: number` Query param: The page number for pagination. Defaults to 1. - `per_page?: number` Query param: The number of items per page. Must be between 10 and 1000. Defaults to 25. ### Returns - `RuleListResponse` - `id: string` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the TCP Flow Protection rule. - `mode: string` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the TCP Flow Protection rule. - `name: string` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const ruleListResponse of client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.list( { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, )) { console.log(ruleListResponse.id); } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create TCP Flow Protection rule. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.create(RuleCreateParamsparams, RequestOptionsoptions?): RuleCreateResponse` **post** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules` Create a TCP Flow Protection rule for an account. ### Parameters - `params: RuleCreateParams` - `account_id: string` Path param: Identifier. - `burst_sensitivity: string` Body param: The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `mode: string` Body param: The mode for the TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `name: string` Body param: The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` Body param: The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` Body param: The scope for the TCP Flow Protection rule. ### Returns - `RuleCreateResponse` - `id: string` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the TCP Flow Protection rule. - `mode: string` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the TCP Flow Protection rule. - `name: string` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const rule = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', burst_sensitivity: 'burst_sensitivity', mode: 'mode', name: 'name', rate_sensitivity: 'rate_sensitivity', scope: 'scope', }); console.log(rule.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } } ``` ## Delete all TCP Flow Protection rules. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.bulkDelete(RuleBulkDeleteParamsparams, RequestOptionsoptions?): RuleBulkDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules` Delete all TCP Flow Protection rules for an account. ### Parameters - `params: RuleBulkDeleteParams` - `account_id: string` Identifier. ### Returns - `RuleBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.bulkDelete({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Rule List Response - `RuleListResponse` - `id: string` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the TCP Flow Protection rule. - `mode: string` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the TCP Flow Protection rule. - `name: string` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Rule Create Response - `RuleCreateResponse` - `id: string` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the TCP Flow Protection rule. - `mode: string` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the TCP Flow Protection rule. - `name: string` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Rule Bulk Delete Response - `RuleBulkDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # Items ## Get TCP Flow Protection rule. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.items.get(stringruleId, ItemGetParamsparams, RequestOptionsoptions?): ItemGetResponse` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules/{rule_id}` Get a TCP Flow Protection rule specified by the given UUID. ### Parameters - `ruleId: string` UUID. - `params: ItemGetParams` - `account_id: string` Identifier. ### Returns - `ItemGetResponse` - `id: string` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the TCP Flow Protection rule. - `mode: string` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the TCP Flow Protection rule. - `name: string` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.items.get( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } } ``` ## Update TCP Flow Protection rule. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.items.edit(stringruleId, ItemEditParamsparams, RequestOptionsoptions?): ItemEditResponse` **patch** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules/{rule_id}` Update a TCP Flow Protection rule specified by the given UUID. ### Parameters - `ruleId: string` UUID. - `params: ItemEditParams` - `account_id: string` Path param: Identifier. - `burst_sensitivity?: string` Body param: The new burst sensitivity. Optional. Must be one of 'low', 'medium', 'high'. - `mode?: string` Body param: The new mode for TCP Flow Protection. Optional. Must be one of 'enabled', 'disabled', 'monitoring'. - `rate_sensitivity?: string` Body param: The new rate sensitivity. Optional. Must be one of 'low', 'medium', 'high'. ### Returns - `ItemEditResponse` - `id: string` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the TCP Flow Protection rule. - `mode: string` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the TCP Flow Protection rule. - `name: string` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.items.edit( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.id); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } } ``` ## Delete TCP Flow Protection rule. `client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.items.delete(stringruleId, ItemDeleteParamsparams, RequestOptionsoptions?): ItemDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules/{rule_id}` Delete a TCP Flow Protection rule specified by the given UUID. ### Parameters - `ruleId: string` UUID. - `params: ItemDeleteParams` - `account_id: string` Identifier. ### Returns - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const item = await client.DDoSProtection.advancedTCPProtection.tcpFlowProtection.rules.items.delete( 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(item.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Item Get Response - `ItemGetResponse` - `id: string` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the TCP Flow Protection rule. - `mode: string` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the TCP Flow Protection rule. - `name: string` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Item Edit Response - `ItemEditResponse` - `id: string` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: string` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: string` The creation timestamp of the TCP Flow Protection rule. - `mode: string` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: string` The last modification timestamp of the TCP Flow Protection rule. - `name: string` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: string` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: string` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Item Delete Response - `ItemDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` # Status ## Get protection status. `client.DDoSProtection.advancedTCPProtection.status.get(StatusGetParamsparams, RequestOptionsoptions?): StatusGetResponse` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_protection_status` Get the protection status of the account. ### Parameters - `params: StatusGetParams` - `account_id: string` Identifier. ### Returns - `StatusGetResponse` - `enabled: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const status = await client.DDoSProtection.advancedTCPProtection.status.get({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(status.enabled); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "enabled": true } } ``` ## Update protection status. `client.DDoSProtection.advancedTCPProtection.status.edit(StatusEditParamsparams, RequestOptionsoptions?): StatusEditResponse` **patch** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_protection_status` Update the protection status of the account. ### Parameters - `params: StatusEditParams` - `account_id: string` Path param: Identifier. - `enabled: boolean` Body param: Enables or disables protection. ### Returns - `StatusEditResponse` - `enabled: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.DDoSProtection.advancedTCPProtection.status.edit({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', enabled: true, }); console.log(response.enabled); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "enabled": true } } ``` ## Domain Types ### Status Get Response - `StatusGetResponse` - `enabled: boolean` ### Status Edit Response - `StatusEditResponse` - `enabled: boolean`