# Prefixes ## List Prefixes `client.addressing.prefixes.list(PrefixListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/addressing/prefixes` List all prefixes owned by the account. ### Parameters - `params: PrefixListParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `Prefix` - `id?: string` Identifier of an IP Prefix. - `account_id?: string` Identifier of a Cloudflare account. - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `approved?: string` Approval state of the prefix (P = pending, V = active). - `asn?: number` Autonomous System Number (ASN) the prefix will be advertised under. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `delegate_loa_creation?: boolean` Whether Cloudflare is allowed to generate the LOA document on behalf of the prefix owner. - `description?: string` Description of the prefix. - `irr_validation_state?: string` State of one kind of validation for an IP prefix. - `loa_document_id?: string | null` Identifier for the uploaded LOA document. - `modified_at?: string` - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether advertisement status of the prefix is locked, meaning it cannot be changed. - `ownership_validation_state?: string` State of one kind of validation for an IP prefix. - `ownership_validation_token?: string` Token provided to demonstrate ownership of the prefix. - `rpki_validation_state?: string` State of one kind of validation for an IP prefix. ### 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 }); // Automatically fetches more pages as needed. for await (const prefix of client.addressing.prefixes.list({ account_id: '258def64c72dae45f3e4c8516e2111f2', })) { 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": "2af39739cc4e3b5910c918468bb89828", "account_id": "258def64c72dae45f3e4c8516e2111f2", "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z", "approved": "P", "asn": 13335, "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "delegate_loa_creation": true, "description": "Internal test prefix", "irr_validation_state": "pending", "loa_document_id": "d933b1530bc56c9953cf8ce166da8004", "modified_at": "2014-01-01T05:20:00.12345Z", "on_demand_enabled": true, "on_demand_locked": false, "ownership_validation_state": "pending", "ownership_validation_token": "1234a5b6-1234-1abc-12a3-1234a5b6789c", "rpki_validation_state": "pending" } ] } ``` ## Prefix Details `client.addressing.prefixes.get(stringprefixId, PrefixGetParamsparams, RequestOptionsoptions?): Prefix` **get** `/accounts/{account_id}/addressing/prefixes/{prefix_id}` List a particular prefix owned by the account. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: PrefixGetParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `Prefix` - `id?: string` Identifier of an IP Prefix. - `account_id?: string` Identifier of a Cloudflare account. - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `approved?: string` Approval state of the prefix (P = pending, V = active). - `asn?: number` Autonomous System Number (ASN) the prefix will be advertised under. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `delegate_loa_creation?: boolean` Whether Cloudflare is allowed to generate the LOA document on behalf of the prefix owner. - `description?: string` Description of the prefix. - `irr_validation_state?: string` State of one kind of validation for an IP prefix. - `loa_document_id?: string | null` Identifier for the uploaded LOA document. - `modified_at?: string` - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether advertisement status of the prefix is locked, meaning it cannot be changed. - `ownership_validation_state?: string` State of one kind of validation for an IP prefix. - `ownership_validation_token?: string` Token provided to demonstrate ownership of the prefix. - `rpki_validation_state?: string` State of one kind of validation for an IP prefix. ### 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 prefix = await client.addressing.prefixes.get('2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2', }); 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": "2af39739cc4e3b5910c918468bb89828", "account_id": "258def64c72dae45f3e4c8516e2111f2", "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z", "approved": "P", "asn": 13335, "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "delegate_loa_creation": true, "description": "Internal test prefix", "irr_validation_state": "pending", "loa_document_id": "d933b1530bc56c9953cf8ce166da8004", "modified_at": "2014-01-01T05:20:00.12345Z", "on_demand_enabled": true, "on_demand_locked": false, "ownership_validation_state": "pending", "ownership_validation_token": "1234a5b6-1234-1abc-12a3-1234a5b6789c", "rpki_validation_state": "pending" } } ``` ## Add Prefix `client.addressing.prefixes.create(PrefixCreateParamsparams, RequestOptionsoptions?): Prefix` **post** `/accounts/{account_id}/addressing/prefixes` Add a new prefix under the account. ### Parameters - `params: PrefixCreateParams` - `account_id: string` Path param: Identifier of a Cloudflare account. - `asn: number` Body param: Autonomous System Number (ASN) the prefix will be advertised under. - `cidr: string` Body param: IP Prefix in Classless Inter-Domain Routing format. - `delegate_loa_creation?: boolean` Body param: Whether Cloudflare is allowed to generate the LOA document on behalf of the prefix owner. - `description?: string` Body param: Description of the prefix. - `loa_document_id?: string | null` Body param: Identifier for the uploaded LOA document. ### Returns - `Prefix` - `id?: string` Identifier of an IP Prefix. - `account_id?: string` Identifier of a Cloudflare account. - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `approved?: string` Approval state of the prefix (P = pending, V = active). - `asn?: number` Autonomous System Number (ASN) the prefix will be advertised under. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `delegate_loa_creation?: boolean` Whether Cloudflare is allowed to generate the LOA document on behalf of the prefix owner. - `description?: string` Description of the prefix. - `irr_validation_state?: string` State of one kind of validation for an IP prefix. - `loa_document_id?: string | null` Identifier for the uploaded LOA document. - `modified_at?: string` - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether advertisement status of the prefix is locked, meaning it cannot be changed. - `ownership_validation_state?: string` State of one kind of validation for an IP prefix. - `ownership_validation_token?: string` Token provided to demonstrate ownership of the prefix. - `rpki_validation_state?: string` State of one kind of validation for an IP prefix. ### 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 prefix = await client.addressing.prefixes.create({ account_id: '258def64c72dae45f3e4c8516e2111f2', asn: 13335, cidr: '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": "2af39739cc4e3b5910c918468bb89828", "account_id": "258def64c72dae45f3e4c8516e2111f2", "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z", "approved": "P", "asn": 13335, "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "delegate_loa_creation": true, "description": "Internal test prefix", "irr_validation_state": "pending", "loa_document_id": "d933b1530bc56c9953cf8ce166da8004", "modified_at": "2014-01-01T05:20:00.12345Z", "on_demand_enabled": true, "on_demand_locked": false, "ownership_validation_state": "pending", "ownership_validation_token": "1234a5b6-1234-1abc-12a3-1234a5b6789c", "rpki_validation_state": "pending" } } ``` ## Update Prefix Description `client.addressing.prefixes.edit(stringprefixId, PrefixEditParamsparams, RequestOptionsoptions?): Prefix` **patch** `/accounts/{account_id}/addressing/prefixes/{prefix_id}` Modify the description for a prefix owned by the account. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: PrefixEditParams` - `account_id: string` Path param: Identifier of a Cloudflare account. - `description: string` Body param: Description of the prefix. ### Returns - `Prefix` - `id?: string` Identifier of an IP Prefix. - `account_id?: string` Identifier of a Cloudflare account. - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `approved?: string` Approval state of the prefix (P = pending, V = active). - `asn?: number` Autonomous System Number (ASN) the prefix will be advertised under. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `delegate_loa_creation?: boolean` Whether Cloudflare is allowed to generate the LOA document on behalf of the prefix owner. - `description?: string` Description of the prefix. - `irr_validation_state?: string` State of one kind of validation for an IP prefix. - `loa_document_id?: string | null` Identifier for the uploaded LOA document. - `modified_at?: string` - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether advertisement status of the prefix is locked, meaning it cannot be changed. - `ownership_validation_state?: string` State of one kind of validation for an IP prefix. - `ownership_validation_token?: string` Token provided to demonstrate ownership of the prefix. - `rpki_validation_state?: string` State of one kind of validation for an IP prefix. ### 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 prefix = await client.addressing.prefixes.edit('2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2', description: 'Internal test prefix', }); 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": "2af39739cc4e3b5910c918468bb89828", "account_id": "258def64c72dae45f3e4c8516e2111f2", "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z", "approved": "P", "asn": 13335, "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "delegate_loa_creation": true, "description": "Internal test prefix", "irr_validation_state": "pending", "loa_document_id": "d933b1530bc56c9953cf8ce166da8004", "modified_at": "2014-01-01T05:20:00.12345Z", "on_demand_enabled": true, "on_demand_locked": false, "ownership_validation_state": "pending", "ownership_validation_token": "1234a5b6-1234-1abc-12a3-1234a5b6789c", "rpki_validation_state": "pending" } } ``` ## Delete Prefix `client.addressing.prefixes.delete(stringprefixId, PrefixDeleteParamsparams, RequestOptionsoptions?): PrefixDeleteResponse` **delete** `/accounts/{account_id}/addressing/prefixes/{prefix_id}` Delete an unapproved prefix owned by the account. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: PrefixDeleteParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `PrefixDeleteResponse` - `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({ 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 prefix = await client.addressing.prefixes.delete('2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2', }); console.log(prefix.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 ### Prefix - `Prefix` - `id?: string` Identifier of an IP Prefix. - `account_id?: string` Identifier of a Cloudflare account. - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `approved?: string` Approval state of the prefix (P = pending, V = active). - `asn?: number` Autonomous System Number (ASN) the prefix will be advertised under. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `delegate_loa_creation?: boolean` Whether Cloudflare is allowed to generate the LOA document on behalf of the prefix owner. - `description?: string` Description of the prefix. - `irr_validation_state?: string` State of one kind of validation for an IP prefix. - `loa_document_id?: string | null` Identifier for the uploaded LOA document. - `modified_at?: string` - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether advertisement status of the prefix is locked, meaning it cannot be changed. - `ownership_validation_state?: string` State of one kind of validation for an IP prefix. - `ownership_validation_token?: string` Token provided to demonstrate ownership of the prefix. - `rpki_validation_state?: string` State of one kind of validation for an IP prefix. ### Prefix Delete Response - `PrefixDeleteResponse` - `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` # Service Bindings ## List Service Bindings `client.addressing.prefixes.serviceBindings.list(stringprefixId, ServiceBindingListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings` List the Cloudflare services this prefix is currently bound to. Traffic sent to an address within an IP prefix will be routed to the Cloudflare service of the most-specific Service Binding matching the address. **Example:** binding `192.0.2.0/24` to Cloudflare Magic Transit and `192.0.2.1/32` to the Cloudflare CDN would route traffic for `192.0.2.1` to the CDN, and traffic for all other IPs in the prefix to Cloudflare Magic Transit. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: ServiceBindingListParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `ServiceBinding` - `id?: string` Identifier of a Service Binding. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `provisioning?: Provisioning` Status of a Service Binding's deployment to the Cloudflare network - `state?: "provisioning" | "active"` When a binding has been deployed to a majority of Cloudflare datacenters, the binding will become active and can be used with its associated service. - `"provisioning"` - `"active"` - `service_id?: string` Identifier of a Service on the Cloudflare network. Available services and their IDs may be found in the **List Services** endpoint. - `service_name?: string` Name of a service running on the Cloudflare network ### 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 }); // Automatically fetches more pages as needed. for await (const serviceBinding of client.addressing.prefixes.serviceBindings.list( '2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2' }, )) { console.log(serviceBinding.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": "0429b49b6a5155297b78e75a44b09e14", "cidr": "192.0.2.0/24", "provisioning": { "state": "provisioning" }, "service_id": "2db684ee7ca04e159946fd05b99e1bcd", "service_name": "Magic Transit" } ] } ``` ## Get Service Binding `client.addressing.prefixes.serviceBindings.get(stringprefixId, stringbindingId, ServiceBindingGetParamsparams, RequestOptionsoptions?): ServiceBinding` **get** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}` Fetch a single Service Binding ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `bindingId: string` Identifier of a Service Binding. - `params: ServiceBindingGetParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `ServiceBinding` - `id?: string` Identifier of a Service Binding. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `provisioning?: Provisioning` Status of a Service Binding's deployment to the Cloudflare network - `state?: "provisioning" | "active"` When a binding has been deployed to a majority of Cloudflare datacenters, the binding will become active and can be used with its associated service. - `"provisioning"` - `"active"` - `service_id?: string` Identifier of a Service on the Cloudflare network. Available services and their IDs may be found in the **List Services** endpoint. - `service_name?: string` Name of a service running on the Cloudflare network ### 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 serviceBinding = await client.addressing.prefixes.serviceBindings.get( '2af39739cc4e3b5910c918468bb89828', '0429b49b6a5155297b78e75a44b09e14', { account_id: '258def64c72dae45f3e4c8516e2111f2' }, ); console.log(serviceBinding.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": "0429b49b6a5155297b78e75a44b09e14", "cidr": "192.0.2.0/24", "provisioning": { "state": "provisioning" }, "service_id": "2db684ee7ca04e159946fd05b99e1bcd", "service_name": "Magic Transit" } } ``` ## Create Service Binding `client.addressing.prefixes.serviceBindings.create(stringprefixId, ServiceBindingCreateParamsparams, RequestOptionsoptions?): ServiceBinding` **post** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings` Creates a new Service Binding, routing traffic to IPs within the given CIDR to a service running on Cloudflare's network. **NOTE:** The first Service Binding created for an IP Prefix must exactly match the IP Prefix's CIDR. Subsequent Service Bindings may be created with a more-specific CIDR. Refer to the [Service Bindings Documentation](https://developers.cloudflare.com/byoip/service-bindings/) for compatibility details. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: ServiceBindingCreateParams` - `account_id: string` Path param: Identifier of a Cloudflare account. - `cidr: string` Body param: IP Prefix in Classless Inter-Domain Routing format. - `service_id: string` Body param: Identifier of a Service on the Cloudflare network. Available services and their IDs may be found in the **List Services** endpoint. ### Returns - `ServiceBinding` - `id?: string` Identifier of a Service Binding. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `provisioning?: Provisioning` Status of a Service Binding's deployment to the Cloudflare network - `state?: "provisioning" | "active"` When a binding has been deployed to a majority of Cloudflare datacenters, the binding will become active and can be used with its associated service. - `"provisioning"` - `"active"` - `service_id?: string` Identifier of a Service on the Cloudflare network. Available services and their IDs may be found in the **List Services** endpoint. - `service_name?: string` Name of a service running on the Cloudflare network ### 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 serviceBinding = await client.addressing.prefixes.serviceBindings.create( '2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2', cidr: '192.0.2.0/24', service_id: '2db684ee7ca04e159946fd05b99e1bcd', }, ); console.log(serviceBinding.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": "0429b49b6a5155297b78e75a44b09e14", "cidr": "192.0.2.0/24", "provisioning": { "state": "provisioning" }, "service_id": "2db684ee7ca04e159946fd05b99e1bcd", "service_name": "Magic Transit" } } ``` ## Delete Service Binding `client.addressing.prefixes.serviceBindings.delete(stringprefixId, stringbindingId, ServiceBindingDeleteParamsparams, RequestOptionsoptions?): ServiceBindingDeleteResponse` **delete** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}` Delete a Service Binding ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `bindingId: string` Identifier of a Service Binding. - `params: ServiceBindingDeleteParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `ServiceBindingDeleteResponse` - `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({ 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 serviceBinding = await client.addressing.prefixes.serviceBindings.delete( '2af39739cc4e3b5910c918468bb89828', '0429b49b6a5155297b78e75a44b09e14', { account_id: '258def64c72dae45f3e4c8516e2111f2' }, ); console.log(serviceBinding.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 ### Service Binding - `ServiceBinding` - `id?: string` Identifier of a Service Binding. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `provisioning?: Provisioning` Status of a Service Binding's deployment to the Cloudflare network - `state?: "provisioning" | "active"` When a binding has been deployed to a majority of Cloudflare datacenters, the binding will become active and can be used with its associated service. - `"provisioning"` - `"active"` - `service_id?: string` Identifier of a Service on the Cloudflare network. Available services and their IDs may be found in the **List Services** endpoint. - `service_name?: string` Name of a service running on the Cloudflare network ### Service Binding Delete Response - `ServiceBindingDeleteResponse` - `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` # BGP Prefixes ## List BGP Prefixes `client.addressing.prefixes.bgpPrefixes.list(stringprefixId, BGPPrefixListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes` List all BGP Prefixes within the specified IP Prefix. BGP Prefixes are used to control which specific subnets are advertised to the Internet. It is possible to advertise subnets more specific than an IP Prefix by creating more specific BGP Prefixes. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: BGPPrefixListParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `BGPPrefix` - `id?: string` Identifier of BGP Prefix. - `asn?: number | null` Autonomous System Number (ASN) the prefix will be advertised under. - `asn_prepend_count?: number` Number of times to prepend the Cloudflare ASN to the BGP AS-Path attribute - `auto_advertise_withdraw?: boolean` Determines if Cloudflare advertises a BYOIP BGP prefix even when there is no matching BGP prefix in the Magic routing table. When true, Cloudflare will automatically withdraw the BGP prefix when there are no matching BGP routes, and will resume advertising when there is at least one matching BGP route. - `bgp_signal_opts?: BGPSignalOpts` - `enabled?: boolean` Whether control of advertisement of the prefix to the Internet is enabled to be performed via BGP signal - `modified_at?: string | null` Last time BGP signaling control was toggled. This field is null if BGP signaling has never been enabled. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `modified_at?: string` - `on_demand?: OnDemand` - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether the advertisement status of the prefix is locked, meaning it cannot be changed. ### 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 }); // Automatically fetches more pages as needed. for await (const bgpPrefix of client.addressing.prefixes.bgpPrefixes.list( '2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2' }, )) { console.log(bgpPrefix.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": "7009ba364c7a5760798ceb430e603b74", "asn": 13335, "asn_prepend_count": 2, "auto_advertise_withdraw": true, "bgp_signal_opts": { "enabled": false, "modified_at": "2014-01-01T05:20:00.12345Z" }, "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "modified_at": "2014-01-01T05:20:00.12345Z", "on_demand": { "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z", "on_demand_enabled": true, "on_demand_locked": false } } ] } ``` ## Fetch BGP Prefix `client.addressing.prefixes.bgpPrefixes.get(stringprefixId, stringbgpPrefixId, BGPPrefixGetParamsparams, RequestOptionsoptions?): BGPPrefix` **get** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}` Retrieve a single BGP Prefix according to its identifier ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `bgpPrefixId: string` Identifier of BGP Prefix. - `params: BGPPrefixGetParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `BGPPrefix` - `id?: string` Identifier of BGP Prefix. - `asn?: number | null` Autonomous System Number (ASN) the prefix will be advertised under. - `asn_prepend_count?: number` Number of times to prepend the Cloudflare ASN to the BGP AS-Path attribute - `auto_advertise_withdraw?: boolean` Determines if Cloudflare advertises a BYOIP BGP prefix even when there is no matching BGP prefix in the Magic routing table. When true, Cloudflare will automatically withdraw the BGP prefix when there are no matching BGP routes, and will resume advertising when there is at least one matching BGP route. - `bgp_signal_opts?: BGPSignalOpts` - `enabled?: boolean` Whether control of advertisement of the prefix to the Internet is enabled to be performed via BGP signal - `modified_at?: string | null` Last time BGP signaling control was toggled. This field is null if BGP signaling has never been enabled. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `modified_at?: string` - `on_demand?: OnDemand` - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether the advertisement status of the prefix is locked, meaning it cannot be changed. ### 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 bgpPrefix = await client.addressing.prefixes.bgpPrefixes.get( '2af39739cc4e3b5910c918468bb89828', '7009ba364c7a5760798ceb430e603b74', { account_id: '258def64c72dae45f3e4c8516e2111f2' }, ); console.log(bgpPrefix.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": "7009ba364c7a5760798ceb430e603b74", "asn": 13335, "asn_prepend_count": 2, "auto_advertise_withdraw": true, "bgp_signal_opts": { "enabled": false, "modified_at": "2014-01-01T05:20:00.12345Z" }, "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "modified_at": "2014-01-01T05:20:00.12345Z", "on_demand": { "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z", "on_demand_enabled": true, "on_demand_locked": false } } } ``` ## Create BGP Prefix `client.addressing.prefixes.bgpPrefixes.create(stringprefixId, BGPPrefixCreateParamsparams, RequestOptionsoptions?): BGPPrefix` **post** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes` Create a BGP prefix, controlling the BGP advertisement status of a specific subnet. When created, BGP prefixes are initially withdrawn, and can be advertised with the Update BGP Prefix API. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: BGPPrefixCreateParams` - `account_id: string` Path param: Identifier of a Cloudflare account. - `cidr: string` Body param: IP Prefix in Classless Inter-Domain Routing format. ### Returns - `BGPPrefix` - `id?: string` Identifier of BGP Prefix. - `asn?: number | null` Autonomous System Number (ASN) the prefix will be advertised under. - `asn_prepend_count?: number` Number of times to prepend the Cloudflare ASN to the BGP AS-Path attribute - `auto_advertise_withdraw?: boolean` Determines if Cloudflare advertises a BYOIP BGP prefix even when there is no matching BGP prefix in the Magic routing table. When true, Cloudflare will automatically withdraw the BGP prefix when there are no matching BGP routes, and will resume advertising when there is at least one matching BGP route. - `bgp_signal_opts?: BGPSignalOpts` - `enabled?: boolean` Whether control of advertisement of the prefix to the Internet is enabled to be performed via BGP signal - `modified_at?: string | null` Last time BGP signaling control was toggled. This field is null if BGP signaling has never been enabled. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `modified_at?: string` - `on_demand?: OnDemand` - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether the advertisement status of the prefix is locked, meaning it cannot be changed. ### 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 bgpPrefix = await client.addressing.prefixes.bgpPrefixes.create( '2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2', cidr: '192.0.2.0/24' }, ); console.log(bgpPrefix.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": "7009ba364c7a5760798ceb430e603b74", "asn": 13335, "asn_prepend_count": 2, "auto_advertise_withdraw": true, "bgp_signal_opts": { "enabled": false, "modified_at": "2014-01-01T05:20:00.12345Z" }, "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "modified_at": "2014-01-01T05:20:00.12345Z", "on_demand": { "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z", "on_demand_enabled": true, "on_demand_locked": false } } } ``` ## Update BGP Prefix `client.addressing.prefixes.bgpPrefixes.edit(stringprefixId, stringbgpPrefixId, BGPPrefixEditParamsparams, RequestOptionsoptions?): BGPPrefix` **patch** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes/{bgp_prefix_id}` Update the properties of a BGP Prefix, such as the on demand advertisement status (advertised or withdrawn). ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `bgpPrefixId: string` Identifier of BGP Prefix. - `params: BGPPrefixEditParams` - `account_id: string` Path param: Identifier of a Cloudflare account. - `asn_prepend_count?: number` Body param: Number of times to prepend the Cloudflare ASN to the BGP AS-Path attribute - `auto_advertise_withdraw?: boolean` Body param: Determines if Cloudflare advertises a BYOIP BGP prefix even when there is no matching BGP prefix in the Magic routing table. When true, Cloudflare will automatically withdraw the BGP prefix when there are no matching BGP routes, and will resume advertising when there is at least one matching BGP route. - `on_demand?: OnDemand` Body param - `advertised?: boolean` ### Returns - `BGPPrefix` - `id?: string` Identifier of BGP Prefix. - `asn?: number | null` Autonomous System Number (ASN) the prefix will be advertised under. - `asn_prepend_count?: number` Number of times to prepend the Cloudflare ASN to the BGP AS-Path attribute - `auto_advertise_withdraw?: boolean` Determines if Cloudflare advertises a BYOIP BGP prefix even when there is no matching BGP prefix in the Magic routing table. When true, Cloudflare will automatically withdraw the BGP prefix when there are no matching BGP routes, and will resume advertising when there is at least one matching BGP route. - `bgp_signal_opts?: BGPSignalOpts` - `enabled?: boolean` Whether control of advertisement of the prefix to the Internet is enabled to be performed via BGP signal - `modified_at?: string | null` Last time BGP signaling control was toggled. This field is null if BGP signaling has never been enabled. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `modified_at?: string` - `on_demand?: OnDemand` - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether the advertisement status of the prefix is locked, meaning it cannot be changed. ### 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 bgpPrefix = await client.addressing.prefixes.bgpPrefixes.edit( '2af39739cc4e3b5910c918468bb89828', '7009ba364c7a5760798ceb430e603b74', { account_id: '258def64c72dae45f3e4c8516e2111f2' }, ); console.log(bgpPrefix.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": "7009ba364c7a5760798ceb430e603b74", "asn": 13335, "asn_prepend_count": 2, "auto_advertise_withdraw": true, "bgp_signal_opts": { "enabled": false, "modified_at": "2014-01-01T05:20:00.12345Z" }, "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "modified_at": "2014-01-01T05:20:00.12345Z", "on_demand": { "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z", "on_demand_enabled": true, "on_demand_locked": false } } } ``` ## Domain Types ### BGP Prefix - `BGPPrefix` - `id?: string` Identifier of BGP Prefix. - `asn?: number | null` Autonomous System Number (ASN) the prefix will be advertised under. - `asn_prepend_count?: number` Number of times to prepend the Cloudflare ASN to the BGP AS-Path attribute - `auto_advertise_withdraw?: boolean` Determines if Cloudflare advertises a BYOIP BGP prefix even when there is no matching BGP prefix in the Magic routing table. When true, Cloudflare will automatically withdraw the BGP prefix when there are no matching BGP routes, and will resume advertising when there is at least one matching BGP route. - `bgp_signal_opts?: BGPSignalOpts` - `enabled?: boolean` Whether control of advertisement of the prefix to the Internet is enabled to be performed via BGP signal - `modified_at?: string | null` Last time BGP signaling control was toggled. This field is null if BGP signaling has never been enabled. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `modified_at?: string` - `on_demand?: OnDemand` - `advertised?: boolean | null` Prefix advertisement status to the Internet. This field is only not 'null' if on demand is enabled. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. - `on_demand_enabled?: boolean` Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled. - `on_demand_locked?: boolean` Whether the advertisement status of the prefix is locked, meaning it cannot be changed. # Advertisement Status ## Get Advertisement Status `client.addressing.prefixes.advertisementStatus.get(stringprefixId, AdvertisementStatusGetParamsparams, RequestOptionsoptions?): AdvertisementStatusGetResponse` **get** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status` View the current advertisement state for a prefix. **Deprecated:** Prefer the BGP Prefixes endpoints, which additionally allow for advertising and withdrawing subnets of an IP prefix. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: AdvertisementStatusGetParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `AdvertisementStatusGetResponse` - `advertised?: boolean` Advertisement status of the prefix. If `true`, the BGP route for the prefix is advertised to the Internet. If `false`, the BGP route is withdrawn. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. ### 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 advertisementStatus = await client.addressing.prefixes.advertisementStatus.get( '2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2' }, ); console.log(advertisementStatus.advertised); ``` #### 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": { "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z" } } ``` ## Update Prefix Dynamic Advertisement Status `client.addressing.prefixes.advertisementStatus.edit(stringprefixId, AdvertisementStatusEditParamsparams, RequestOptionsoptions?): AdvertisementStatusEditResponse` **patch** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/status` Advertise or withdraw the BGP route for a prefix. **Deprecated:** Prefer the BGP Prefixes endpoints, which additionally allow for advertising and withdrawing subnets of an IP prefix. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: AdvertisementStatusEditParams` - `account_id: string` Path param: Identifier of a Cloudflare account. - `advertised: boolean` Body param: Advertisement status of the prefix. If `true`, the BGP route for the prefix is advertised to the Internet. If `false`, the BGP route is withdrawn. ### Returns - `AdvertisementStatusEditResponse` - `advertised?: boolean` Advertisement status of the prefix. If `true`, the BGP route for the prefix is advertised to the Internet. If `false`, the BGP route is withdrawn. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. ### 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 response = await client.addressing.prefixes.advertisementStatus.edit( '2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2', advertised: true }, ); console.log(response.advertised); ``` #### 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": { "advertised": true, "advertised_modified_at": "2014-01-01T05:20:00.12345Z" } } ``` ## Domain Types ### Advertisement Status Get Response - `AdvertisementStatusGetResponse` - `advertised?: boolean` Advertisement status of the prefix. If `true`, the BGP route for the prefix is advertised to the Internet. If `false`, the BGP route is withdrawn. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. ### Advertisement Status Edit Response - `AdvertisementStatusEditResponse` - `advertised?: boolean` Advertisement status of the prefix. If `true`, the BGP route for the prefix is advertised to the Internet. If `false`, the BGP route is withdrawn. - `advertised_modified_at?: string | null` Last time the advertisement status was changed. This field is only not 'null' if on demand is enabled. # Delegations ## List Prefix Delegations `client.addressing.prefixes.delegations.list(stringprefixId, DelegationListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/delegations` List all delegations for a given account IP prefix. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: DelegationListParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `Delegations` - `id?: string` Identifier of a Delegation. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `delegated_account_id?: string` Account identifier for the account to which prefix is being delegated. - `modified_at?: string` - `parent_prefix_id?: string` Identifier of an IP Prefix. ### 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 }); // Automatically fetches more pages as needed. for await (const delegations of client.addressing.prefixes.delegations.list( '2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2' }, )) { console.log(delegations.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": "d933b1530bc56c9953cf8ce166da8004", "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "delegated_account_id": "b1946ac92492d2347c6235b4d2611184", "modified_at": "2014-01-01T05:20:00.12345Z", "parent_prefix_id": "2af39739cc4e3b5910c918468bb89828" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create Prefix Delegation `client.addressing.prefixes.delegations.create(stringprefixId, DelegationCreateParamsparams, RequestOptionsoptions?): Delegations` **post** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/delegations` Create a new account delegation for a given IP prefix. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `params: DelegationCreateParams` - `account_id: string` Path param: Identifier of a Cloudflare account. - `cidr: string` Body param: IP Prefix in Classless Inter-Domain Routing format. - `delegated_account_id: string` Body param: Account identifier for the account to which prefix is being delegated. ### Returns - `Delegations` - `id?: string` Identifier of a Delegation. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `delegated_account_id?: string` Account identifier for the account to which prefix is being delegated. - `modified_at?: string` - `parent_prefix_id?: string` Identifier of an IP Prefix. ### 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 delegations = await client.addressing.prefixes.delegations.create( '2af39739cc4e3b5910c918468bb89828', { account_id: '258def64c72dae45f3e4c8516e2111f2', cidr: '192.0.2.0/24', delegated_account_id: 'b1946ac92492d2347c6235b4d2611184', }, ); console.log(delegations.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": "d933b1530bc56c9953cf8ce166da8004", "cidr": "192.0.2.0/24", "created_at": "2014-01-01T05:20:00.12345Z", "delegated_account_id": "b1946ac92492d2347c6235b4d2611184", "modified_at": "2014-01-01T05:20:00.12345Z", "parent_prefix_id": "2af39739cc4e3b5910c918468bb89828" } } ``` ## Delete Prefix Delegation `client.addressing.prefixes.delegations.delete(stringprefixId, stringdelegationId, DelegationDeleteParamsparams, RequestOptionsoptions?): DelegationDeleteResponse` **delete** `/accounts/{account_id}/addressing/prefixes/{prefix_id}/delegations/{delegation_id}` Delete an account delegation for a given IP prefix. ### Parameters - `prefixId: string` Identifier of an IP Prefix. - `delegationId: string` Identifier of a Delegation. - `params: DelegationDeleteParams` - `account_id: string` Identifier of a Cloudflare account. ### Returns - `DelegationDeleteResponse` - `id?: string` Identifier of a Delegation. ### 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 delegation = await client.addressing.prefixes.delegations.delete( '2af39739cc4e3b5910c918468bb89828', 'd933b1530bc56c9953cf8ce166da8004', { account_id: '258def64c72dae45f3e4c8516e2111f2' }, ); console.log(delegation.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": "d933b1530bc56c9953cf8ce166da8004" } } ``` ## Domain Types ### Delegations - `Delegations` - `id?: string` Identifier of a Delegation. - `cidr?: string` IP Prefix in Classless Inter-Domain Routing format. - `created_at?: string` - `delegated_account_id?: string` Account identifier for the account to which prefix is being delegated. - `modified_at?: string` - `parent_prefix_id?: string` Identifier of an IP Prefix. ### Delegation Delete Response - `DelegationDeleteResponse` - `id?: string` Identifier of a Delegation.