## Create routing rule `client.emailRouting.rules.create(RuleCreateParamsparams, RequestOptionsoptions?): EmailRoutingRule` **post** `/zones/{zone_id}/email/routing/rules` Rules consist of a set of criteria for matching emails (such as an email being sent to a specific custom email address) plus a set of actions to take on the email (like forwarding it to a specific destination address). ### Parameters - `params: RuleCreateParams` - `zone_id: string` Path param: Identifier. - `actions: Array` Body param: List actions patterns. - `type: "drop" | "forward" | "worker"` Type of supported action. - `"drop"` - `"forward"` - `"worker"` - `value?: Array` - `matchers: Array` Body param: Matching patterns to forward to your actions. - `type: "all" | "literal"` Type of matcher. - `"all"` - `"literal"` - `field?: "to"` Field for type matcher. - `"to"` - `value?: string` Value for matcher. - `enabled?: true | false` Body param: Routing rule status. - `true` - `false` - `name?: string` Body param: Routing rule name. - `priority?: number` Body param: Priority of the routing rule. ### Returns - `EmailRoutingRule` - `id?: string` Routing rule identifier. - `actions?: Array` List actions patterns. - `type: "drop" | "forward" | "worker"` Type of supported action. - `"drop"` - `"forward"` - `"worker"` - `value?: Array` - `enabled?: true | false` Routing rule status. - `true` - `false` - `matchers?: Array` Matching patterns to forward to your actions. - `type: "all" | "literal"` Type of matcher. - `"all"` - `"literal"` - `field?: "to"` Field for type matcher. - `"to"` - `value?: string` Value for matcher. - `name?: string` Routing rule name. - `priority?: number` Priority of the routing rule. - `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 emailRoutingRule = await client.emailRouting.rules.create({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', actions: [{ type: 'forward' }], matchers: [{ type: 'literal' }], }); console.log(emailRoutingRule.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": "literal", "field": "to", "value": "test@example.com" } ], "name": "Send to user@example.net rule.", "priority": 0, "tag": "a7e6fb77503c41d8a7f3113c6918f10c" } } ```