ViRb3 / wgcf
8,251 Go🚤 Cross-platform, unofficial CLI for Cloudflare Warp
wgcf Specification
Located in openapi-spec.yml on branch HEAD
3.x (YAML)
YAML
13.9 KB
Raw YAML Specification
components:
schemas:
Account:
type: "object"
properties:
account_type:
type: "string"
created:
type: "string"
id:
type: "string"
license:
type: "string"
premium_data:
type: "number"
quota:
type: "number"
referral_count:
type: "number"
referral_renewal_countdown:
type: "number"
role:
type: "string"
updated:
type: "string"
warp_plus:
type: "boolean"
usage:
type: "number"
required:
- "account_type"
- "created"
- "id"
- "license"
- "premium_data"
- "quota"
- "referral_count"
- "referral_renewal_countdown"
- "role"
- "updated"
- "warp_plus"
BoundDevice:
type: "object"
properties:
activated:
type: "string"
active:
type: "boolean"
created:
type: "string"
id:
type: "string"
model:
type: "string"
name:
type: "string"
role:
type: "string"
type:
type: "string"
required:
- "activated"
- "active"
- "created"
- "id"
- "role"
- "type"
NetworkAddress:
type: "object"
properties:
v4:
type: "string"
v6:
type: "string"
required:
- "v4"
- "v6"
Endpoint:
type: "object"
properties:
host:
type: "string"
v4:
type: "string"
v6:
type: "string"
required:
- "host"
- "v4"
- "v6"
Peer:
type: "object"
properties:
endpoint:
$ref: "#/components/schemas/Endpoint"
public_key:
type: "string"
required:
- "endpoint"
- "public_key"
Config:
type: "object"
properties:
client_id:
type: "string"
interface:
type: "object"
properties:
addresses:
$ref: "#/components/schemas/NetworkAddress"
required:
- "addresses"
peers:
type: "array"
items:
$ref: "#/components/schemas/Peer"
services:
type: "object"
properties:
http_proxy:
type: "string"
required:
- "http_proxy"
required:
- "client_id"
- "interface"
- "peers"
- "services"
SourceDevice:
type: "object"
properties:
created:
type: "string"
enabled:
type: "boolean"
fcm_token:
type: "string"
id:
type: "string"
install_id:
type: "string"
key:
type: "string"
locale:
type: "string"
model:
type: "string"
name:
type: "string"
place:
type: "number"
tos:
type: "string"
type:
type: "string"
updated:
type: "string"
waitlist_enabled:
type: "boolean"
warp_enabled:
type: "boolean"
required:
- "created"
- "enabled"
- "fcm_token"
- "id"
- "install_id"
- "key"
- "locale"
- "model"
- "name"
- "place"
- "tos"
- "type"
- "updated"
- "waitlist_enabled"
- "warp_enabled"
IPv4Network:
type: "object"
properties:
address:
type: "string"
netmask:
type: "string"
required:
- "address"
- "netmask"
IPv6Network:
type: "object"
properties:
address:
type: "string"
prefix:
type: "number"
required:
- "address"
- "prefix"
GetAccount_200_Response:
$ref: "#/components/schemas/Account"
GetBoundDevices_200_Response:
$ref: "#/components/schemas/BoundDevice"
GetClientConfig_200_Response:
type: "object"
properties:
captive_portal:
type: "array"
items:
type: "object"
properties:
name:
type: "string"
networks:
type: "array"
items:
type: "object"
properties:
address:
type: "string"
required:
- "address"
required:
- "name"
- "networks"
denylist:
type: "array"
items:
type: "object"
properties:
android-packages:
type: "array"
items:
type: "string"
name:
type: "string"
networks:
type: "object"
properties:
v4:
type: "array"
items:
$ref: "#/components/schemas/IPv4Network"
v6:
type: "array"
items:
$ref: "#/components/schemas/IPv6Network"
required:
- "v4"
- "v6"
visible:
type: "boolean"
required:
- "name"
- "visible"
premium_data_bytes:
type: "number"
referral_reward_bytes:
type: "number"
required:
- "captive_portal"
- "denylist"
- "premium_data_bytes"
- "referral_reward_bytes"
GetSourceDevice_200_Response:
allOf:
- $ref: "#/components/schemas/SourceDevice"
- type: "object"
properties:
account:
$ref: "#/components/schemas/Account"
config:
$ref: "#/components/schemas/Config"
required:
- "account"
- "config"
Register_200_Response:
allOf:
- $ref: "#/components/schemas/SourceDevice"
- type: "object"
properties:
account:
$ref: "#/components/schemas/Account"
config:
$ref: "#/components/schemas/Config"
token:
type: "string"
required:
- "account"
- "config"
- "token"
Register_Request:
type: "object"
properties:
fcm_token:
type: "string"
install_id:
type: "string"
key:
type: "string"
locale:
type: "string"
model:
type: "string"
tos:
type: "string"
type:
type: "string"
required:
- "fcm_token"
- "install_id"
- "key"
- "locale"
- "model"
- "tos"
- "type"
ResetAccountLicense_200_Response:
type: "object"
properties:
license:
type: "string"
required:
- "license"
UpdateAccount_200_Response:
type: "object"
properties:
created:
type: "string"
id:
type: "string"
premium_data:
type: "number"
quota:
type: "number"
referral_count:
type: "number"
referral_renewal_countdown:
type: "number"
role:
type: "string"
updated:
type: "string"
warp_plus:
type: "boolean"
required:
- "created"
- "id"
- "premium_data"
- "quota"
- "referral_count"
- "referral_renewal_countdown"
- "role"
- "updated"
- "warp_plus"
UpdateAccount_Request:
type: "object"
properties:
license:
type: "string"
required:
- "license"
UpdateBoundDevice_200_Response:
$ref: "#/components/schemas/BoundDevice"
UpdateBoundDevice_Request:
type: "object"
properties:
active:
type: "boolean"
name:
type: "string"
UpdateSourceDevice_200_Response:
allOf:
- $ref: "#/components/schemas/SourceDevice"
- type: "object"
properties:
account:
$ref: "#/components/schemas/Account"
config:
$ref: "#/components/schemas/Config"
required:
- "account"
- "config"
UpdateSourceDevice_Request:
type: "object"
properties:
key:
type: "string"
required:
- "key"
info:
title: "Cloudflare WARP API"
version: "536"
openapi: "3.0.1"
paths:
/{apiVersion}/client_config:
get:
operationId: "GetClientConfig"
responses:
200:
content:
application/json:
schema:
$ref: "#/components/schemas/GetClientConfig_200_Response"
description: ""
summary: "GetClientConfig"
parameters:
- in: "path"
name: "apiVersion"
required: true
schema:
type: "string"
/{apiVersion}/reg:
parameters:
- in: "path"
name: "apiVersion"
required: true
schema:
type: "string"
post:
operationId: "Register"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Register_Request"
responses:
200:
content:
application/json:
schema:
$ref: "#/components/schemas/Register_200_Response"
description: ""
summary: "Register"
/{apiVersion}/reg/{sourceDeviceId}:
get:
operationId: "GetSourceDevice"
responses:
200:
content:
application/json:
schema:
$ref: "#/components/schemas/GetSourceDevice_200_Response"
description: ""
summary: "GetSourceDevice"
parameters:
- in: "path"
name: "apiVersion"
required: true
schema:
type: "string"
- in: "path"
name: "sourceDeviceId"
required: true
schema:
type: "string"
patch:
operationId: "UpdateSourceDevice"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateSourceDevice_Request"
responses:
200:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateSourceDevice_200_Response"
description: ""
summary: "UpdateSourceDevice"
/{apiVersion}/reg/{sourceDeviceId}/account:
get:
operationId: "GetAccount"
responses:
200:
content:
application/json:
schema:
$ref: "#/components/schemas/GetAccount_200_Response"
description: ""
summary: "GetAccount"
parameters:
- in: "path"
name: "sourceDeviceId"
required: true
schema:
type: "string"
- in: "path"
name: "apiVersion"
required: true
schema:
type: "string"
put:
operationId: "UpdateAccount"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateAccount_Request"
responses:
200:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateAccount_200_Response"
description: ""
summary: "UpdateAccount"
/{apiVersion}/reg/{sourceDeviceId}/account/devices:
get:
operationId: "GetBoundDevices"
responses:
200:
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/GetBoundDevices_200_Response"
description: ""
summary: "GetBoundDevices"
parameters:
- in: "path"
name: "sourceDeviceId"
required: true
schema:
type: "string"
- in: "path"
name: "apiVersion"
required: true
schema:
type: "string"
/{apiVersion}/reg/{sourceDeviceId}/account/license:
parameters:
- in: "path"
name: "sourceDeviceId"
required: true
schema:
type: "string"
- in: "path"
name: "apiVersion"
required: true
schema:
type: "string"
post:
operationId: "ResetAccountLicense"
responses:
200:
content:
application/json:
schema:
$ref: "#/components/schemas/ResetAccountLicense_200_Response"
description: ""
summary: "ResetAccountLicense"
/{apiVersion}/reg/{sourceDeviceId}/account/reg/{boundDeviceId}:
parameters:
- in: "path"
name: "sourceDeviceId"
required: true
schema:
type: "string"
- in: "path"
name: "apiVersion"
required: true
schema:
type: "string"
- in: "path"
name: "boundDeviceId"
required: true
schema:
type: "string"
patch:
operationId: "UpdateBoundDevice"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateBoundDevice_Request"
responses:
200:
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/UpdateBoundDevice_200_Response"
description: ""
summary: "UpdateBoundDevice"
delete:
operationId: "DeleteBoundDevice"
responses:
204:
description: ""
summary: "DeleteBoundDevice"