ISNIC RPP Interface Specification
Introduction
This work is currently 🚧 experimental 🚧 see the following drafts:
That means things can change and break at any given time.
To get access to RPP first create a contact and add ip addresses or subnets and request access to the RPP sandbox. If you comply with requirements ISNIC will then migrate your contact over to the sandbox environment. Next you will need to perform lost password on the sandbox. Then you can issue a RPP API-KEY for access on the sandbox. When the minimum required testing against sandbox is done you contact ISNIC again to request access to the production environment. Finally you can issue a RPP API-KEY for production access.
We are building this RPP interface to serve our resellers so please send any comments, bug reports or questions to api-support@isnic.is.
Versions
| Version | OpenAPI | Initial Release | End-of-life |
|---|---|---|---|
| https://rpp.isnic.is/v0 | openapi_v0.yaml | 2026-10-05 | TBD |
Environments
curl -u "YOURNIC-IS:API-KEY" -X OPTIONS https://rpp.isnic.is/v0
Production
The RPP server is currently running at https://rpp.isnic.is/v0.
Sandbox
The RPP server is running at https://rpp.sandbox.isnic.is/v0.
Web interface at https://www.sandbox.isnic.is (See version of this page for upcoming changes).
Domains on sandbox are quietly marked deleted when they expire. Host objects are quietly marked deleted 1 year after creation if not connected to any domain. Contacts are cleaned up if they are not connected to any objects anymore. Even though data on sandbox is purged please do not use personal identifiable information.
Requirements for access
- Written contract with ISNIC or paid at least one domain registration or annual renewal fee
- Show competency in our sandbox environment by performing the operations:
Changelog
Show complete changelog.
| Version | Date | Type | Description |
|---|---|---|---|
| 0.0.1 | 2026-10-05 | add | v0: domain availability implemented according to draft-ietf-rpp-core-00 |
| 0.0.2 | 2026-10-08 | add | v0: domain renew implemented according to draft-ietf-rpp-core-00 |
Domain renew
A non standard header ISNIC-cardId is required containing the ID of the creditcard or prepaid account to be billed for the domain renewal, use the web ui to find the correct cardId for your account.
v0: Show example - Renew domain
C: POST /v0/domainNames/xn--dmi-yla.is/renewProcesses HTTP/1.1
C: Host: rpp.isnic.is
C: Authorization: Basic <base64 of YOURNIC-IS:API-KEY>
C: RPP-Cltrid: ABC-12345
C:
C: {
C: "expiryDate": "2026-10-08",
C: "renewalPeriod": {
C: "unit": "y",
C: "value": 1
C: }
C: }
S: HTTP/1.1 201 Created S: RPP-Cltrid: ABC-12345 S: RPP-Svtrid: XYZ-12345 S: RPP-code: 01000 S: S: { S: "expiryDate": "2027-10-08" S: }
Domain availability
We reccomend that you verify that the response includes the RPP-code header and it contains 01000 to distinguish between a correct response with http status code 404 and some other response like us deprecating an endpoint.
Note: that this function is rate limited at 7200 requests per 30 min.
v0: Show example - Check domain available
C: HEAD /v0/domainNames/idontexist123.is/availability HTTP/1.1 C: Host: rpp.isnic.is C: Authorization: Basic <base64 of YOURNIC-IS:API-KEY> C: RPP-Cltrid: ABC-12345
S: HTTP/1.1 200 OK S: RPP-Cltrid: ABC-12345 S: RPP-Svtrid: XYZ-12345 S: RPP-code: 01000 S: Content-Length: 0
v0: Show example - Check domain in use
C: HEAD /v0/domainNames/isnic.is/availability HTTP/1.1 C: Host: rpp.isnic.is C: Authorization: Basic <base64 of YOURNIC-IS:API-KEY> C: RPP-Cltrid: ABC-12345
S: HTTP/1.1 404 Not Found S: RPP-Cltrid: ABC-12345 S: RPP-Svtrid: XYZ-12345 S: RPP-code: 01000 S: Content-Length: 0