Skip to main content

REST API Methods

User data methods

 
Initialize user data database (batch data creation)
    Type: POST
    URL: <domain>/init/
    Data:
    {
        'profiles': [
            {
                'cat_ids': [<cat_id>,],
                'app_ids': [<app_id>,],
                'profile': {
                    'page_id': <page_id>,
                    'id': <id>
                }
            }, ...
        ],
        'nets': [{'ip': <ipv4>, 'profile_id': <profile_id>, 'prefix_len': <prefix_len4>}, ...],
        'nets6': [{'ip': <ipv6>, 'profile_id': <profile_id>, 'prefix_len': <prefix_len6>}, ...],
        'blockpages': [{'id': <page_id>, 'type': <blockpage_type>}, ...],
        'napts': [
            {
                'ip': <ipv4>,
                "profile_id": <profile_id>,
                "lower_port_bound": <lower_port_bound>,
                "upper_port_bound": <upper_port_bound>
            },
        ]
    }
    Result: 204 No body

    Profile methods

     
    Fetch all profiles
      Type: GET
      URL: <domain>/profiles
      Result: 200 OK
      Add a profile
        Type: POST
        URL: <domain>/profiles
        Data:
        {
            "profile": {
                "id": int,
                "page_id": int
            },
            "cat_ids": [int, ],
            "app_ids": [int, ],
        }
        Result: 201 Created
        Fetch a specific profile
          Type: GET
          URL: <domain>/profiles/<id>
          Result: 200 OK
          Update a specific profile
            Type: PATCH URL: <domain>/profiles Data:
            {
              "app_ids": [int, ],
              "cat_ids": [int, ],
              "profile": {
                "plan_id": int,
                "provider_id": int,
                "white_list_only": bool,
                "hide_block_reason": bool,
                "empty_dns_answer": bool,
                "page_id": int,
                "tls": bool
              }
            }
            Result: 200 OK

            Blockpage methods

             
            Get all blockpages
              Type: GET
              URL: <domain>/blockpage
              Result: 200 OK
              Create a blockpage
                Type: POST
                URL: <domain>/blockpage
                Data:
                {
                  "type": int,
                  "id": int
                }
                Result: 200 OK
                Get a specific blockpage
                  Type: GET
                  URL: <domain>/blockpage/<page_id> Result: 200 OK
                  Update a blockpage
                    Type: PATCH
                    URL: <domain>/blockpage/<page_id>
                    Data:
                    {
                      "type": int
                    }
                    Result: 200 OK
                    Delete a blockpage
                      Type: DELETE
                      URL: <domain>/blockpage/<page_id> Result: 204 No Content, no body

                      Lists methods

                       
                      Create an allow- or denylist
                        Type: POST URL: <domain>/profile/<profile_id>/bw_list Data:
                        {
                          "type": "string", //"allow" or "deny" only
                          "domains": ["string", "string", ]
                        }
                        Result: 201 Created
                        Create an allow- or denylist with multiple entries
                          Type: POST URL: <domain>/profile/<profile_id>/bw_list/batch Data:
                          {
                            "type": "string", //"allow" or "deny" only
                            "domains": ["string", "string", ]
                          }
                          Result: 201 Created
                          Update a domain in an allow- or denylist
                            Type: PATCH URL: <domain>/profile/<profile_id>/bw_list/<domain> Data:
                            {
                              "type": "string", //"allow" or "deny" only
                              "domain": "string",
                              "profile_id": int
                            }
                            Result: 200 OK

                            Delete a domain from an allow- or denylist:

                              Type: DELETE URL: <domain>/profile/<profile_id>/bw_list/<domain> Result: 204 No Content, no body

                              IPv4 network methods

                               
                              Create an IPv4 address entry
                                Type: POST
                                URL: <domain>/net
                                Data:
                                {
                                  "ip": "string", //IPv4 address in canonical form
                                  "profile_id": int,
                                  "prefix_len": int
                                }
                                Result: 201 Created
                                Get an IPv4 address entry
                                  Type: GET
                                  URL: <domain>/net/<int_ip>
                                  Result: 200 OK
                                  Update an IPv4 address entry
                                    Type: PATCH
                                    URL: <domain>/net/<int_ip>
                                    Data:
                                    {
                                      "ip": "string", //IPv4 address in canonical form
                                      "profile_id": int,
                                      "prefix_len": int
                                    }
                                    Result: 200 OK
                                    Delete an IPv4 address
                                      Type: DELETE
                                      URL: <domain>/net/<int_ip>
                                      Result: 204 No Content, no body

                                      IPv6 network methods

                                       
                                      Create an IPv6 address entry
                                        Type: POST
                                        URL: <domain>/net6
                                        Data:
                                        {
                                          "ip": "string", //IPv6 address in canonical form
                                          "prefix_len": int,
                                          "profile_id": int
                                        }
                                        Result: 201 Created
                                        Get an IPv6 address entry
                                          Type: GET
                                          URL: <domain>/net6/<ipv6>
                                          Result: Dictionary with IPv6 and profile_id data
                                          Update an IPv6 address entry
                                            Type: PATCH
                                            URL: <domain>/net6/<ipv6>
                                            Data:
                                            {
                                              "ip": "string", //IPv6 address in canonical form
                                              "prefix_len": int,
                                              "profile_id": int
                                            }
                                            Result: 200 OK
                                            Delete an IPv6 address
                                              Type: DELETE
                                              URL: <domain>/net6/<ipv6>
                                              Result: 204 No Content, no body

                                              IPv4 NAT methods

                                               
                                              Create an IPv4 NAT entry
                                                Type: POST
                                                URL: <domain>/napt/
                                                Data:
                                                {
                                                  "ip": "string", //IPv4 address in canonical form
                                                  "lower_port_bound": int,
                                                  "upper_port_bound": int,
                                                  "profile_id": int
                                                }
                                                Result: 201 Created
                                                Create multiple IPv4 NAT entries
                                                  Type: POST
                                                  URL: <domain>/napt/batch
                                                  Data:
                                                  [
                                                    {
                                                    	"ip": "string", //IPv4 address in canonical form
                                                    	"lower_port_bound": int,
                                                    	"upper_port_bound": int,
                                                    	"profile_id": int
                                                    },
                                                    
                                                  ]
                                                  Result: 201 Created
                                                  Get all IPv4 NAT entries by IP
                                                    Type: GET
                                                    URL: <domain>/napt/<int_ip>
                                                    Result: 200 OK
                                                    Get a specific IPv4 NAT entry
                                                      Type: GET
                                                      URL: <domain>/napt/<int_ip>/<lower_port_bound>/<upper_port_bound>
                                                      Result: 200 OK
                                                      Update an IPv4 NAT entry
                                                        Type: PATCH
                                                        URL: <domain>/napt/<int_ip>/<lower_port_bound>/<upper_port_bound>
                                                        Data:
                                                        {
                                                          "ip": "string", //IPv4 address in canonical form
                                                          "lower_port_bound": int,
                                                          "upper_port_bound": int,
                                                          "profile_id": int
                                                        }
                                                        Result: 200 OK
                                                        Delete an IPv4 NAT entry
                                                          Type: DELETE
                                                          URL: <domain>/napt/<int_ip>/<lower_port_bound>/<upper_port_bound>
                                                          Result: 204 No Content, no body
                                                          Delete multiple IPv4 NAT entries
                                                            Type: DELETE
                                                            URL: <domain>/napt/batch
                                                            Data:
                                                            [
                                                              {
                                                              	"ip": "string", //IPv4 address in canonical form
                                                              	"lower_port_bound": int,
                                                              	"upper_port_bound": int,
                                                              	"profile_id": int
                                                              },
                                                              
                                                            ]
                                                            Result: 204 No Content, no body

                                                            AppBlocker methods

                                                            Get a list of all available AppBlocker categories
                                                              Type: GET
                                                              URL: <domain>/app_aware/application/
                                                              Result: 200 OK