Search
K
Cipherscale API

Resources

Network resource definition and access control

Create Network Resource

Creates a new network resource that defines access points for users and devices. Resources can be private networks, SaaS applications, or internet access points, each with specific protocols and access controls.

post
https://public-api.cipherscale.com/qa/tenants/resources

Body

application/json

CreateResource

addressesarray[object]required

Array of network addresses with their associated protocols. Protocol IDs can be obtained from the “List Network Protocols” endpoint or created using the “Create Network Protocol” endpoint.

Example:{"address":"192.168.1.100","protocols":["550e8400-e29b-41d4-a716-446655440000","550e8400-e29b-41d4-a716-446655440001"]}

Show Child Parameters
namestringrequired

Name of the network resource

Example:Internal Web Server

typestringrequired

Type of network resource

Allowed values:PRIVATESAASINTERNET

Example:PRIVATE

descriptionstring

Optional description of the resource

Example:Internal web server for company applications

Response

application/json

Successfully created the resource

Resource

Complete network resource information with addresses and gateways

idstring(uuid)required

Unique identifier for the resource

Example:550e8400-e29b-41d4-a716-446655440000

createdAtstring(date-time)required

Timestamp when the resource was created

Example:2023-01-15T14:30:00Z

updatedAtstring(date-time)required

Timestamp when the resource was last updated

Example:2023-01-15T14:30:00Z

namestringrequired

Human-readable name for the resource

Example:Internal Web Server

typestringrequired

Type of the network resource

Allowed values:PRIVATESAASINTERNET

Example:PRIVATE

loadBalancingModestringrequired

Load balancing configuration for this resource

Allowed values:MANUALAUTOMATIC

Default:MANUAL

Example:MANUAL

statusstring

Current operational status of the resource

Allowed values:ONLINEOFFLINE

Example:ONLINE

descriptionstring

Detailed description of the resource’s purpose

Example:Internal web server for company applications

addressesarray[object]required

Array of network addresses associated with this resource

Example:{"id":"550e8400-e29b-41d4-a716-446655440001","address":"192.168.1.100","isIp":true,"type":"PRIVATE","protocols":[{"id":"550e8400-e29b-41d4-a716-446655440000","name":"HTTP/HTTPS","type":"PREDEFINED","networkProtocols":[{"protocol":"TCP","port":"80"},{"protocol":"TCP","port":"443"}]}]}

Show Child Parameters
gatewaysarray[object]required

Network gateway configuration and status information

Show Child Parameters
post/tenants/resources

Body

{ "name": "Internal Web Server", "type": "PRIVATE", "description": "Internal web server for company applications", "addresses": [ { "address": "192.168.1.100", "protocols": [ "550e8400-e29b-41d4-a716-446655440000", "550e8400-e29b-41d4-a716-446655440001" ] } ] }
 
application/json

List Network Resources

Retrieves a paginated list of all network resources for the tenant with advanced filtering and sorting capabilities. Supports filtering by resource type, gateway associations, protocols, and other criteria to help manage complex network topologies.
Filter Operators: The API supports various filter operators for precise querying: - eq - Equal to (default) - ne - Not equal to - gt - Greater than - gte - Greater than or equal to - lt - Less than - lte - Less than or equal to - ilike - Case-insensitive pattern matching (supports wildcards) - in - Value is in the provided list - nin - Value is not in the provided list
Filter Format: Use the format filter[field][operator]=value. For example: - filter[type][eq]=PRIVATE - Resources with type PRIVATE - filter[name][ilike]=%web% - Resources with name containing “web” - filter[gateways.id][in]=id1,id2,id3 - Resources connected to specific gateways

get
https://public-api.cipherscale.com/qa/tenants/resources

Query Parameters

sortstring

Sort order in format “field:direction”. Sortable fields: id, name. Direction: asc, desc

Example:-name

limitnumber

Number of items to return per page. Use together with “offset” to paginate through results. If not provided, a default is used.

offsetnumber

Number of items to skip before starting to return results. Combine with “limit”. Example: to fetch page 3 with limit 20, set offset=40.

filter[policies.id][eq]string

Filter resources by policy ID (UUID format)

filter[gateways.id][eq]string

Filter resources by gateway ID (UUID format)

filter[addresses.protocols.id][eq]string

Filter resources by protocol ID in addresses (UUID format)

filter[type][eq]string

Filter resources by type

Allowed values:PRIVATESAASINTERNET

filter[name][eq]string

Filter resources by name

filter[id][eq]string

Filter resources by ID (UUID format)

filter[name][ilike]string

Filter resources by name using case-insensitive pattern matching

filter[type][in]string

Filter resources by type - accepts comma-separated list of types

page[offset]number

Number of resources to skip (minimum: 0). Use with “page[limit]”. For page N (0-based), compute as N × page[limit].

Example:0

page[limit]number

Number of resources to return per page (minimum: 1). Use with “page[offset]” for pagination.

Example:10

Response

application/json

Successfully retrieved resources

PaginatedResponse

Paginated response containing data and pagination metadata

dataarray

Array of items for the current page

totalinteger

Total number of items across all pages for the given filters. Use this with “limit” to compute total pages: totalPages = ceil(total / limit).

pageinteger

Current page index (0-based). For offset-based pagination, page = floor(offset / limit). For page[] style, this equals the N used in page[offset] = N × page[limit].

limitinteger

Number of items per page returned in this response. Mirrors the query “limit” or “page[limit]” parameter used for the request.

hasNextboolean

Whether there are more pages available

hasPreviousboolean

Whether there are previous pages available

get/tenants/resources
 
application/json

Update Network Resource

Modifies the configuration of an existing network resource including its name, description, and other properties. Changes may affect access policies and user permissions.

patch
https://public-api.cipherscale.com/qa/tenants/resources/{id}

Path Parameters

idstring(uuid)required

The unique identifier (UUID) of the resource to update

Body

application/json

UpdateResource

Data for updating an existing network resource

namestringrequired

Human-readable name for the resource

Example:Internal Web Server

descriptionstring

Detailed description of the resource’s purpose

Example:Internal web server for company applications

Response

Successfully updated the resource

patch/tenants/resources/{id}

Body

{ "name": "Internal Web Server", "description": "Internal web server for company applications" }
 

Get Resource Details

Retrieves comprehensive information about a specific network resource including its configuration, associated addresses, protocols, gateway connections, and load balancing settings.

get
https://public-api.cipherscale.com/qa/tenants/resources/{id}

Path Parameters

idstring(uuid)required

The unique identifier (UUID) of the resource

Response

application/json

Successfully retrieved the resource

Resource

Complete network resource information with addresses and gateways

idstring(uuid)required

Unique identifier for the resource

Example:550e8400-e29b-41d4-a716-446655440000

createdAtstring(date-time)required

Timestamp when the resource was created

Example:2023-01-15T14:30:00Z

updatedAtstring(date-time)required

Timestamp when the resource was last updated

Example:2023-01-15T14:30:00Z

namestringrequired

Human-readable name for the resource

Example:Internal Web Server

typestringrequired

Type of the network resource

Allowed values:PRIVATESAASINTERNET

Example:PRIVATE

loadBalancingModestringrequired

Load balancing configuration for this resource

Allowed values:MANUALAUTOMATIC

Default:MANUAL

Example:MANUAL

statusstring

Current operational status of the resource

Allowed values:ONLINEOFFLINE

Example:ONLINE

descriptionstring

Detailed description of the resource’s purpose

Example:Internal web server for company applications

addressesarray[object]required

Array of network addresses associated with this resource

Example:{"id":"550e8400-e29b-41d4-a716-446655440001","address":"192.168.1.100","isIp":true,"type":"PRIVATE","protocols":[{"id":"550e8400-e29b-41d4-a716-446655440000","name":"HTTP/HTTPS","type":"PREDEFINED","networkProtocols":[{"protocol":"TCP","port":"80"},{"protocol":"TCP","port":"443"}]}]}

Show Child Parameters
gatewaysarray[object]required

Network gateway configuration and status information

Show Child Parameters
get/tenants/resources/{id}
 
application/json