API reference · Your application

Remove an address you added

POST/v1/application/networks/remove

POST /v1/application/networks/remove removes one address your application added. The change applies from your next request. Staging only — testing endpoints, not available in production. Production answers 404 resource_not_found.

PermissionNone
AuthenticationSigned change
Anis’s answerSigned
Staff-set limits it counts towardAll requests
.NET SDKPermanently excluded from all SDKs; send a signed HTTP request.
  • No particular permission is required, but your application must have at least one effective permission. network_not_removable (409) means Anis added the address, or it is the last network your application has. Only Partner-added addresses can be removed, and the list can never be empty; the first address comes from Anis at onboarding.
  • An address already absent returns changed: false; repeating the call is safe.
  • The answer includes the current list. A separate list call may take a few seconds to show the change.

Request

Signed with your key, with a one-time nonce and a digest of the body.

Headers: Signature-Input, Signature, Content-Digest, Nonce, X-Anis-Date. The SDKs set all of them for you.

Body: {"address":"<your-public-ipv4-or-ipv6-address>"} — send one address without a prefix or range. The request must come from an address still allowed and use a signed request with an active key.

Responses

StatusMeaningBody
200Success.ApplicationNetworksChange
400Refused: the signed request is badly built.Problem
401Refused: not authenticated.Problem
403Refused: not allowed.Problem
404Refused: not found, or not yours.Problem
409Refused: conflicts with the current state.Problem
422Refused: the request breaks a rule.Problem
429Refused: a limit was reached.Problem
503No decision: a dependency was unavailable.Problem

Every answer of this call is signed by Anis — success and every refusal. Require the signature and verify it before you act on the answer; an answer without one is a failure, never an answer (how).

Refusals

Every refusal of this call is a signed problem. Branch on its code; each links to what it means and what to do.

ErrorCodeStatus
Invalid credentialsinvalid_credentials401
Malformed signed requestmalformed_signed_request400
Insufficient scopeinsufficient_scope403
Source address not allowedsource_ip_not_allowed403
Rate limitedrate_limited429
Replay detectedreplay_detected409
Validation failedvalidation_failed422
Address cannot be removednetwork_not_removable409
Not foundresource_not_found404
Service unavailabledependency_unavailable503
Request timeoutrequest_timeout504
Internal errorinternal_error500

Types

ApplicationNetworksChange

FieldTypeNotes
changedalways presentbooleanfalse when the address was already allowed (add) or already absent (remove); repeating either call is safe.
networksalways presentlist of ApplicationNetworkThe current list of addresses the application may call from. A separate list call may take a few seconds to reflect a change.
partnerNetworksRemainingalways presentintegerHow many more addresses your application may add, up to 10 Partner-added addresses.

ApplicationNetwork

FieldTypeNotes
cidralways presentstringAn address the application may call from, in CIDR form. Addresses added by a Partner are stored as /32 (IPv4) or /128 (IPv6).
addedByalways presentstringanis if Anis added the address; partner if your application added it. You can remove only addresses marked partner. Values: anis, partner