Publishing Simple Reassignment Data Via ARIN’s Reg-RWS API

By Jon Worley - Technical Services Manager

ISPs can automate their interactions with ARIN using our Registration RESTful Service or Reg-RWS API. This Application Programming Interface (API) allows you to make calls to create/update/delete customer reassignment information. This how-to guide covers only simple reassignments, which are recommended for general use. You can learn more about the difference between simple and detailed reassignments on our website. All examples use ARIN’s Operational Test & Evaluation (OT&E) environment, which is a monthly copy of production data.

Getting Started

To use the Reg-RWS API, you must have a reallocation or direct allocation registered in ARIN’s database. You must also have an ARIN Online account which is authorized to manage those resources. If you need assistance associating your account with your resources, contact ARIN’s Registration Services Help Desk either via the Ask ARIN feature from within your ARIN Online account or via phone M-F 7:00 AM-7:00 PM ET at 703.227.0660. Once your account is authorized, create an API key (choose “Your Account” > “Settings” and select “Manage API Keys” from the action menu).

A web-based RESTful client is a useful tool to learn the API. You are welcome to go straight to coding software to use the API, but it may be helpful to start interacting manually so you can learn the API. Advanced REST Client for Chrome is a recommended option.

Sending a GET Command

Before we begin creating new records, it’s a good idea to learn the basics by retrieving one of your own network records via the API. While logged in to your ARIN Online account, choose “IP Addresses” > “Search” and select one of the networks you see. To retrieve that network record via the Reg-RWS API, send a GET call with the following URL:

https://reg.ote.arin.net/rest/net/NET-198-51-100-0-1?apikey=[API Key]

Our examples will use an IP address reserved for documentation. Make sure you substitute your own information. This should return a net payload. If so, congratulations! You’ve made your first successful Reg-RWS call. If not, contact us for assistance.

Creating a Recipient Customer Record

Once you’ve mastered the GET command, it’s time to move on to creating a recipient customer record. The recipient customer record is the first step in publishing reassignment information. You’ll need the customer’s name and street address. To create a recipient customer record, send a POST command to the following URL:

https://reg.ote.arin.net/rest/net/NET-198-51-100-0-1/customer?apikey=[API Key]

You’ll need to supply a customer payload with the customer’s information. Here’s a sample:

<customer xmlns=”http://www.arin.net/regrws/core/v1″ >

<customerName>CUSTOMERNAME</customerName>

<iso3166-1>

<name>UNITED STATES</name>

<code2>US</code2>

<code3>USA</code3>

<e164>1</e164>

</iso3166-1>

<handle></handle>

<streetAddress>

<line number = “1”>Line 1</line>

</streetAddress>

<city>Chantilly</city>

<iso3166-2>VA</iso3166-2>

<postalCode>20151</postalCode>

<comment>

<line number = “1”>Line 1</line>

</comment>

<parentOrgHandle></parentOrgHandle>

<registrationDate></registrationDate>

<privateCustomer>false</privateCustomer>

</customer>

You can either use the sample payload or replace it with your own information. You should get a customer payload back very similar to the one you sent, but with some additional system-supplied values (e.g. registration date) added on. The most important field to note is the customer ID. That’s how you’ll associate this customer’s information with a network range in the next step.

Creating a Reassignment

Once you’ve successfully created a recipient customer record, it’s time to publish a reassignment with that customer’s information along with the net range assigned to them. You’ll need to send a network payload using the PUT method and the following URL:

https://reg.ote.arin.net/reg/net/NET-198-51-100-0-1/reassign?apikey=[API Key]

Sample payload:

<net xmlns=”http://www.arin.net/regrws/core/v1″ >

<version>4</version>

<comment></comment>

<registrationDate></registrationDate>

<orgHandle></orgHandle>

<handle></handle>

<netBlocks>

<netBlock>

<type>S</type>

<description></description>

<startAddress>198.51.100.0</startAddress>

<endAddress>198.51.100.255</endAddress>

<cidrLength>24</cidrLength>

</netBlock>

</netBlocks>

<customerHandle>C07018091</customerHandle>

<parentNetHandle>NET-198-51-100-0-1</parentNetHandle>

<netName>NETNAME</netName>

<originASes>

</originASes>

<pocLinks>

</pocLinks>

</net>

Assuming the request is successful, you’ll get a net payload back with a few additional system-generated values such as a registration date. Congratulations – you’ve published a simple reassignment!

Deleting a Simple Reassignment

To delete the simple reassignment you just created, send a DELETE call to this URL:

https://reg.ote.arin.net/rest/net/NET-198-51-100-0-2?apikey=[API Key]

Assuming the request succeeds, you’ve deleted the simple reassignment. There’s one additional step: deleting the associated customer record. It’s not automatically deleted. We have an automated process that cleans up these records, but we always appreciate it when you delete it first. To delete the customer record, send a DELETE call to this URL:

https://reg.ote.arin.net/rest/customer/C07018091?apikey=[API Key]

Once you’ve confirmed deletion, give yourself a pat on the back. You now know the basic calls to create and delete simple reassignments to customers. You can add these calls to any IP Address Management (IPAM) software you’re using to automate interaction with ARIN, or code your own software.

POST WRITTEN BY:

Jon Worley

Technical Services Manager