## Create Spectrum application using a name for the origin `client.spectrum.apps.create(AppCreateParamsparams, RequestOptionsoptions?): AppCreateResponse` **post** `/zones/{zone_id}/spectrum/apps` Creates a new Spectrum application from a configuration using a name for the origin. ### Parameters - `AppCreateParams = SpectrumConfigAppConfig | SpectrumConfigPaygoAppConfig` - `AppCreateParamsBase` - `SpectrumConfigAppConfig extends AppCreateParamsBase` - `SpectrumConfigPaygoAppConfig extends AppCreateParamsBase` ### Returns - `AppCreateResponse = SpectrumConfigAppConfig | SpectrumConfigPaygoAppConfig` - `SpectrumConfigAppConfig` - `id: string` App identifier. - `created_on: string` When the Application was created. - `dns: DNS` The name and type of DNS record for the Spectrum application. - `name?: string` The name of the DNS record associated with the application. - `type?: "CNAME" | "ADDRESS"` The type of DNS record associated with the application. - `"CNAME"` - `"ADDRESS"` - `modified_on: string` When the Application was last modified. - `protocol: string` The port configuration at Cloudflare's edge. May specify a single port, for example `"tcp/1000"`, or a range of ports, for example `"tcp/1000-2000"`. - `traffic_type: "direct" | "http" | "https"` Determines how data travels from the edge to your origin. When set to "direct", Spectrum will send traffic directly to your origin, and the application's type is derived from the `protocol`. When set to "http" or "https", Spectrum will apply Cloudflare's HTTP/HTTPS features as it sends traffic to your origin, and the application type matches this property exactly. - `"direct"` - `"http"` - `"https"` - `argo_smart_routing?: boolean` Enables Argo Smart Routing for this application. Notes: Only available for TCP applications with traffic_type set to "direct". - `edge_ips?: EdgeIPs` The anycast edge IP configuration for the hostname of this application. - `Dynamic` - `connectivity?: "all" | "ipv4" | "ipv6"` The IP versions supported for inbound connections on Spectrum anycast IPs. - `"all"` - `"ipv4"` - `"ipv6"` - `type?: "dynamic"` The type of edge IP configuration specified. Dynamically allocated edge IPs use Spectrum anycast IPs in accordance with the connectivity you specify. Only valid with CNAME DNS names. - `"dynamic"` - `Static` - `ips?: Array` The array of customer owned IPs we broadcast via anycast for this hostname and application. - `type?: "static"` The type of edge IP configuration specified. Statically allocated edge IPs use customer IPs in accordance with the ips array you specify. Only valid with ADDRESS DNS names. - `"static"` - `ip_firewall?: boolean` Enables IP Access Rules for this application. Notes: Only available for TCP applications. - `origin_direct?: Array` List of origin IP addresses. Array may contain multiple IP addresses for load balancing. - `origin_dns?: OriginDNS` The name and type of DNS record for the Spectrum application. - `name?: string` The name of the DNS record associated with the origin. - `ttl?: number` The TTL of our resolution of your DNS record in seconds. - `type?: "" | "A" | "AAAA" | "SRV"` The type of DNS record associated with the origin. "" is used to specify a combination of A/AAAA records. - `""` - `"A"` - `"AAAA"` - `"SRV"` - `origin_port?: OriginPort` The destination port at the origin. Only specified in conjunction with origin_dns. May use an integer to specify a single origin port, for example `1000`, or a string to specify a range of origin ports, for example `"1000-2000"`. Notes: If specifying a port range, the number of ports in the range must match the number of ports specified in the "protocol" field. - `number` - `string` - `proxy_protocol?: "off" | "v1" | "v2" | "simple"` Enables Proxy Protocol to the origin. Refer to [Enable Proxy protocol](https://developers.cloudflare.com/spectrum/getting-started/proxy-protocol/) for implementation details on PROXY Protocol V1, PROXY Protocol V2, and Simple Proxy Protocol. - `"off"` - `"v1"` - `"v2"` - `"simple"` - `tls?: "off" | "flexible" | "full" | "strict"` The type of TLS termination associated with the application. - `"off"` - `"flexible"` - `"full"` - `"strict"` - `SpectrumConfigPaygoAppConfig` - `id: string` App identifier. - `created_on: string` When the Application was created. - `dns: DNS` The name and type of DNS record for the Spectrum application. - `modified_on: string` When the Application was last modified. - `protocol: string` The port configuration at Cloudflare's edge. May specify a single port, for example `"tcp/1000"`, or a range of ports, for example `"tcp/1000-2000"`. - `origin_direct?: Array` List of origin IP addresses. Array may contain multiple IP addresses for load balancing. ### 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 app = await client.spectrum.apps.create({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', dns: {}, protocol: 'tcp/22', traffic_type: 'direct', }); console.log(app); ``` #### 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": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "dns": { "name": "ssh.example.com", "type": "CNAME" }, "modified_on": "2014-01-01T05:20:00.12345Z", "protocol": "tcp/22", "traffic_type": "direct", "argo_smart_routing": true, "edge_ips": { "connectivity": "all", "type": "dynamic" }, "ip_firewall": false, "origin_direct": [ "tcp://127.0.0.1:8080" ], "origin_dns": { "name": "origin.example.com", "ttl": 600, "type": "" }, "origin_port": 22, "proxy_protocol": "off", "tls": "off" } } ```