Skip to content
Start here

Create a PAC file

client.zeroTrust.gateway.pacfiles.create(PacfileCreateParams { account_id, contents, name, 2 more } params, RequestOptionsoptions?): PacfileCreateResponse { id, contents, created_at, 5 more }
POST/accounts/{account_id}/gateway/pacfiles

Create a new Zero Trust Gateway PAC file.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Zero Trust Write
ParametersExpand Collapse
params: PacfileCreateParams { account_id, contents, name, 2 more }
account_id: string

Path param

contents: string

Body param: Actual contents of the PAC file

name: string

Body param: Name of the PAC file.

description?: string

Body param: Detailed description of the PAC file.

slug?: string

Body param: URL-friendly version of the PAC file name. If not provided, it will be auto-generated

ReturnsExpand Collapse
PacfileCreateResponse { id, contents, created_at, 5 more }
id?: string
contents?: string

Actual contents of the PAC file

created_at?: string
formatdate-time
description?: string

Detailed description of the PAC file.

name?: string

Name of the PAC file.

slug?: string

URL-friendly version of the PAC file name.

updated_at?: string
formatdate-time
url?: string

Unique URL to download the PAC file.

Create a PAC file

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const pacfile = await client.zeroTrust.gateway.pacfiles.create({
  account_id: '699d98642c564d2e855e9661899b7252',
  contents: 'function FindProxyForURL(url, host) { return "DIRECT"; }',
  name: 'Devops team',
});

console.log(pacfile.id);
{
  "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": "ed35569b41ce4d1facfe683550f54086",
    "contents": "function FindProxyForURL(url, host) { return \"DIRECT\"; }",
    "created_at": "2014-01-01T05:20:00.12345Z",
    "description": "PAC file for Devops team",
    "name": "Devops team",
    "slug": "pac_devops",
    "updated_at": "2014-01-01T05:20:00.12345Z",
    "url": "https://pac.cloudflare-gateway.com/699d98642c564d2e855e9661899b7252/pac_devops"
  }
}
Returns Examples
{
  "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": "ed35569b41ce4d1facfe683550f54086",
    "contents": "function FindProxyForURL(url, host) { return \"DIRECT\"; }",
    "created_at": "2014-01-01T05:20:00.12345Z",
    "description": "PAC file for Devops team",
    "name": "Devops team",
    "slug": "pac_devops",
    "updated_at": "2014-01-01T05:20:00.12345Z",
    "url": "https://pac.cloudflare-gateway.com/699d98642c564d2e855e9661899b7252/pac_devops"
  }
}