API reference · Your application
Remove an address you added
/v1/application/networks/removePOST /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.
Permanently 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
| Status | Meaning | Body |
|---|---|---|
| 200 | Success. | ApplicationNetworksChange |
| 400 | Refused: the signed request is badly built. | Problem |
| 401 | Refused: not authenticated. | Problem |
| 403 | Refused: not allowed. | Problem |
| 404 | Refused: not found, or not yours. | Problem |
| 409 | Refused: conflicts with the current state. | Problem |
| 422 | Refused: the request breaks a rule. | Problem |
| 429 | Refused: a limit was reached. | Problem |
| 503 | No 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.
| Error | Code | Status |
|---|---|---|
| Invalid credentials | invalid_credentials | 401 |
| Malformed signed request | malformed_signed_request | 400 |
| Insufficient scope | insufficient_scope | 403 |
| Source address not allowed | source_ip_not_allowed | 403 |
| Rate limited | rate_limited | 429 |
| Replay detected | replay_detected | 409 |
| Validation failed | validation_failed | 422 |
| Address cannot be removed | network_not_removable | 409 |
| Not found | resource_not_found | 404 |
| Service unavailable | dependency_unavailable | 503 |
| Request timeout | request_timeout | 504 |
| Internal error | internal_error | 500 |
Types
ApplicationNetworksChange
| Field | Type | Notes |
|---|---|---|
changedalways present | boolean | false when the address was already allowed (add) or already absent (remove); repeating either call is safe. |
networksalways present | list of ApplicationNetwork | The current list of addresses the application may call from. A separate list call may take a few seconds to reflect a change. |
partnerNetworksRemainingalways present | integer | How many more addresses your application may add, up to 10 Partner-added addresses. |
ApplicationNetwork
| Field | Type | Notes |
|---|---|---|
cidralways present | string | An address the application may call from, in CIDR form. Addresses added by a Partner are stored as /32 (IPv4) or /128 (IPv6). |
addedByalways present | string | anis if Anis added the address; partner if your application added it. You can remove only addresses marked partner. Values: anis, partner |