Admin API reference

INTRODUCTION

Nimble’s Admin API allows you to perform a number of key account functions, including:

  • Create, list, update, and delete pipelines

  • View account status and remaining credits

  • View account-level and pipeline-level usage reports

  • Manage authenticated IPs

Authentication

Get authentication token

post

This API uses JWT/Bearer authentication:

To generate a token, make a request with the following body/payload: { "username": "string", "password": "string" }

Apply the received token in your following API request, by adding the header: authorization: Bearer [token]

auth.Token TTL time is 72 HRs.

Body
usernamestringRequired
passwordstringRequired
Responses
200

OK

application/json
post
/v1/account/login

Get new authentication token

post

This API uses basic authentication: To generate a token, make a request without a body while authorized with your old token auth.Token TTL time is 72 HRs.

Authorizations
AuthorizationstringRequired
Responses
200

OK

application/json
post
/v1/account/login/refresh

Generate a new API key

post

This API uses JWT/Bearer authentication: To generate an API-KEY, make a request with the following body/payload: { "key_name": "string"}

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
key_namestringRequiredExample: my_key
Responses
post
/api/v1/account/api-key

Authenticated IPs

List account rules

get

Authenticated IPs allow the use of Nimble pipelines without username or password in your proxy settings

Authorizations
AuthorizationstringRequired
Responses
200

OK

application/json
get
/v1/account/authenticatedips

Create a rule

put

An authenticated IP can only be used with a single account. Authenticated IP will identify the target account in your proxy requests, replacing the need for using username or password

Authorizations
AuthorizationstringRequired
Body
ip_addressesstring[]Required
Responses
200

OK

application/json
put
/v1/account/authenticatedips

Delete a rule

delete

Delete an authenticated IP rule

Authorizations
AuthorizationstringRequired
Body
ip_addressstringRequired
Responses
200

OK

No content

delete
/v1/account/authenticatedips

No content

Pipelines

List all Pipelines

get

List all account pipelines

Authorizations
AuthorizationstringRequired
Responses
200

OK

application/json
get
/v1/account/pipelines

Create a new Pipeline

post
  • Pipeline name - Use A-Z, a-z, 0-9 (can include space '.', '-', '_'). Up to 50 characters.
  • Target country - Default target country for the pipeline. Will apply to all request that do not specify a target country. Use ISO country code of 2-letter country code i.e. US, DE, BR.
  • Session settings configuration: When using rotating type, fallback is required in case a session_id is provided in order to set the behavior in case ip is not available When using fixed_interval type, rotation_time_in_seconds is required in order to set the interval of ip rotation and fallback is required as well for the same reason as above. replace_ip fallback will replace the session's ip to a new one and will keep using it as if it was selected in the first place. keep_asn fallback will find a new ip within the same asn and will keep using it as if it was selected in the first place. fail_request fallback will fail the request.
Authorizations
AuthorizationstringRequired
Body
namestring · min: 2 · max: 50Required

in swagger indicate wat's optional

allow_ipv6booleanOptional

Sets the default behavior of the project to allow the use of ipv6 from peers.

optimization_enginestring[] · max: 1Optional
pipeline_passwordstring · min: 8 · max: 12Optional
pipeline_typestring · enumRequiredPossible values:
session_settingsall ofOptional

Sets the default behavior of the project's session

Responses
post
/v1/account/pipelines

Get a single Pipeline

get
Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline Name

Responses
200

OK

application/json
get
/v1/account/pipelines/{pipelineName}

Update a pipeline

patch

Change pipeline's target country, session settings, Ipv6, project quota limit and status

  • Session settings configuration: When using rotating type, fallback is required in case a session_id is provided in order to set the behavior in case ip is not available When using fixed_interval type, rotation_time_in_seconds is required in order to set the interval of ip rotation and fallback is required as well for the same reason as above. replace_ip fallback will replace the session's ip to a new one and will keep using it as if it was selected in the first place. keep_asn fallback will find a new ip within the same asn and will keep using it as if it was selected in the first place. fail_request fallback will fail the request.
Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline Name

Body
allow_ipv6booleanOptional

Sets the default behavior of the project to allow the use of ipv6 from peers.

optimization_enginestring[] · max: 1Optional
pipeline_passwordstring · min: 8 · max: 12Optional
session_settingsall ofOptional

Sets the default behavior of the project's session

statusstringOptional
Responses
200

OK

application/json
patch
/v1/account/pipelines/{pipelineName}

List pipeline rules

get

Authenticated IPs allow the use of Nimble pipelines without username or password in your proxy settings

Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline name

Responses
200

OK

application/json
get
/v1/account/pipelines/{pipelineName}/authenticatedips/portrange

Create a pipeline rule

put

An authenticated port range can only be used with a single pipeline. Authenticated port will identify the target pipeline in your proxy requests, replacing the need for using username or password

Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline name

Body
port_range_endintegerRequired
port_range_startintegerRequired
Responses
200

OK

application/json
put
/v1/account/pipelines/{pipelineName}/authenticatedips/portrange

Delete a rule

delete

Delete a pipeline port range rule

Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline name

Responses
200

OK

No content

delete
/v1/account/pipelines/{pipelineName}/authenticatedips/portrange

No content

Change pipeline password

put

New password will be automatically generated for the Pipeline

Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline Name

Responses
200

OK

application/json
put
/v1/account/pipelines/{pipelineName}/password

Summary of daily Pipeline usage

get

Returns a daily summary of requests and response size (GB)

Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline Name

Query parameters
fromDatestringOptional

From Date (DD/MM/YYYY)

toDatestringOptional

To Date (DD/MM/YYYY)

Responses
200

OK

application/json
get
/v1/account/pipelines/{pipelineName}/reports/daily-usage

Last 100 proxy requests made for specific pipeline

get
Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline Name

Responses
200

OK

application/json
get
/v1/account/pipelines/{pipelineName}/reports/detailed-requests

Sets daily quota limit for a pipeline

post

Sets a daily limit to prevent pipeline from over spending. Two limit types are available:

  • "gb" for limiting the transferred data by GBs
  • "credit" for limiting the amount of used credits
Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline Name

Body
amountnumberOptional
typestringRequired
Responses
200

OK

No content

post
/v1/account/pipelines/{pipelineName}/spendlimit

No content

Deletes the pipelines quota daily limit

delete
Authorizations
AuthorizationstringRequired
Path parameters
pipelineNamestringRequired

Pipeline Name

Responses
200

OK

No content

delete
/v1/account/pipelines/{pipelineName}/spendlimit

No content

Account Status

Get account status

get
Authorizations
AuthorizationstringRequired
Responses
200

OK

application/json
get
/v1/account/remaining-credits

Summary of daily account usage

get

Returns a daily summary of requests and response size (GB)

Authorizations
AuthorizationstringRequired
Query parameters
fromDatestringOptional

From Date (DD/MM/YYYY)

toDatestringOptional

To Date (DD/MM/YYYY)

Responses
200

OK

application/json
get
/v1/account/reports/daily-usage

Last 100 proxy requests made (entire Account)

get
Authorizations
AuthorizationstringRequired
Responses
200

OK

application/json
get
/v1/account/reports/detailed-requests

Global Preferences

Sets custom timeout to an allowed port

post
  • Sets custom timeout to an allowed port, to allow ports contact Nimble admin (the value can range between 10 and 30 seconds)
  • Port must be allowed in order to set a custom timeout
Authorizations
AuthorizationstringRequired
Body
portintegerRequired
timeout_in_secsinteger · min: 10 · max: 30Required
Responses
200

OK

No content

post
/v1/account/timeout

No content

Removes custom timeout to an allowed port

delete

Removes custom timeout to an allowed port

Authorizations
AuthorizationstringRequired
Body
portintegerRequired
Responses
200

OK

No content

delete
/v1/account/timeout

No content

Gets a custom timeout for a specific port

get

Gets a custom timeout for a specific port

Authorizations
AuthorizationstringRequired
Path parameters
portstringRequired

Port to query its timeout

Responses
200

OK

No content

get
/v1/account/timeout/{port}

No content

Location

List of supported cities

get

Gets the list of supported cities in either JSON or HTML table. When using HTML table, addCountriesAndUsStates boolean can be used to add the rest of the supported countries and US states.

Authorizations
AuthorizationstringRequired
Query parameters
tablebooleanOptional

table

addCountriesAndUsStatesbooleanOptional

addCountriesAndUsStates

Responses
200

OK

application/json
Responsestring[]
get
/v1/location/cities

Last updated