# Catch Alls ## Get catch-all rule `client.emailRouting.rules.catchAlls.get(CatchAllGetParamsparams, RequestOptionsoptions?): CatchAllGetResponse` **get** `/zones/{zone_id}/email/routing/rules/catch_all` Get information on the default catch-all routing rule. ### Parameters - `params: CatchAllGetParams` - `zone_id: string` Identifier. ### Returns - `CatchAllGetResponse` - `id?: string` Routing rule identifier. - `actions?: Array` List actions for the catch-all routing rule. - `type: "drop" | "forward" | "worker"` Type of action for catch-all rule. - `"drop"` - `"forward"` - `"worker"` - `value?: Array` - `enabled?: true | false` Routing rule status. - `true` - `false` - `matchers?: Array` List of matchers for the catch-all routing rule. - `type: "all"` Type of matcher. Default is 'all'. - `"all"` - `name?: string` Routing rule name. - `tag?: string` Routing rule tag. (Deprecated, replaced by routing rule identifier) ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const catchAll = await client.emailRouting.rules.catchAlls.get({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(catchAll.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": "a7e6fb77503c41d8a7f3113c6918f10c", "actions": [ { "type": "forward", "value": [ "destinationaddress@example.net" ] } ], "enabled": true, "matchers": [ { "type": "all" } ], "name": "Send to user@example.net rule.", "tag": "a7e6fb77503c41d8a7f3113c6918f10c" } } ``` ## Update catch-all rule `client.emailRouting.rules.catchAlls.update(CatchAllUpdateParamsparams, RequestOptionsoptions?): CatchAllUpdateResponse` **put** `/zones/{zone_id}/email/routing/rules/catch_all` Enable or disable catch-all routing rule, or change action to forward to specific destination address. ### Parameters - `params: CatchAllUpdateParams` - `zone_id: string` Path param: Identifier. - `actions: Array` Body param: List actions for the catch-all routing rule. - `type: "drop" | "forward" | "worker"` Type of action for catch-all rule. - `"drop"` - `"forward"` - `"worker"` - `value?: Array` - `matchers: Array` Body param: List of matchers for the catch-all routing rule. - `type: "all"` Type of matcher. Default is 'all'. - `"all"` - `enabled?: true | false` Body param: Routing rule status. - `true` - `false` - `name?: string` Body param: Routing rule name. ### Returns - `CatchAllUpdateResponse` - `id?: string` Routing rule identifier. - `actions?: Array` List actions for the catch-all routing rule. - `type: "drop" | "forward" | "worker"` Type of action for catch-all rule. - `"drop"` - `"forward"` - `"worker"` - `value?: Array` - `enabled?: true | false` Routing rule status. - `true` - `false` - `matchers?: Array` List of matchers for the catch-all routing rule. - `type: "all"` Type of matcher. Default is 'all'. - `"all"` - `name?: string` Routing rule name. - `tag?: string` Routing rule tag. (Deprecated, replaced by routing rule identifier) ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const catchAll = await client.emailRouting.rules.catchAlls.update({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', actions: [{ type: 'forward' }], matchers: [{ type: 'all' }], }); console.log(catchAll.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": "a7e6fb77503c41d8a7f3113c6918f10c", "actions": [ { "type": "forward", "value": [ "destinationaddress@example.net" ] } ], "enabled": true, "matchers": [ { "type": "all" } ], "name": "Send to user@example.net rule.", "tag": "a7e6fb77503c41d8a7f3113c6918f10c" } } ``` ## Domain Types ### Catch All Action - `CatchAllAction` Action for the catch-all routing rule. - `type: "drop" | "forward" | "worker"` Type of action for catch-all rule. - `"drop"` - `"forward"` - `"worker"` - `value?: Array` ### Catch All Matcher - `CatchAllMatcher` Matcher for catch-all routing rule. - `type: "all"` Type of matcher. Default is 'all'. - `"all"` ### Catch All Get Response - `CatchAllGetResponse` - `id?: string` Routing rule identifier. - `actions?: Array` List actions for the catch-all routing rule. - `type: "drop" | "forward" | "worker"` Type of action for catch-all rule. - `"drop"` - `"forward"` - `"worker"` - `value?: Array` - `enabled?: true | false` Routing rule status. - `true` - `false` - `matchers?: Array` List of matchers for the catch-all routing rule. - `type: "all"` Type of matcher. Default is 'all'. - `"all"` - `name?: string` Routing rule name. - `tag?: string` Routing rule tag. (Deprecated, replaced by routing rule identifier) ### Catch All Update Response - `CatchAllUpdateResponse` - `id?: string` Routing rule identifier. - `actions?: Array` List actions for the catch-all routing rule. - `type: "drop" | "forward" | "worker"` Type of action for catch-all rule. - `"drop"` - `"forward"` - `"worker"` - `value?: Array` - `enabled?: true | false` Routing rule status. - `true` - `false` - `matchers?: Array` List of matchers for the catch-all routing rule. - `type: "all"` Type of matcher. Default is 'all'. - `"all"` - `name?: string` Routing rule name. - `tag?: string` Routing rule tag. (Deprecated, replaced by routing rule identifier)