ARIN IRR RESTful API User Guide
ARIN provides a way to automate creation and maintenance of Internet Routing Registry (IRR) records using an application programming interface (API) to ARIN’s database. (For an overview of ARIN’s IRR and additional information on how to submit objects and perform queries, visit the Internet Routing Registry page.)
You can use Representational State Transfer (REST) commands to add, update, or delete IRR objects. These commands (also known as REST calls) are entered in a script or configured on the back end of a custom software program and are then submitted to the ARIN database to create, view, update, or delete records.
RESTful commands are structured to include the following:
- the command method (such as
GET
,POST
, andPUT
) - a URL, or address of the RESTful server
- other information, including your API key
- (Optional) payloads
The command structure and payload formats are described in more detail in the following sections.
IRR REST Commands: Format and Example
IRR REST commands (also referred to as “calls”) generally have the format of method /URL/<object>/<objectID>/<objectName>?apikey=<api-key>
where:
method
is one of the following:GET
retrieves information about a recordPOST
creates a new recordPUT
modifies an existing recordDELETE
deletes a record
URL
is the address of ARIN’s IRR RESTful server,https://reg.arin.net/rest/irr
object
is the type of IRR object:- route
- route6
- aut-num
- as-set
- route-set
<objectID>
is the identifying information for the object. This can contain multiple parts divided by the/
character (for example, the IP address block, in CIDR format, of a route would have a/
character in between the IPv4 address and prefix length, or block size).<objectName>
is the name you have given the object<api-key>
is your API key that was configured using the Settings > Security Info > Manage API Keys option in ARIN Online. Visit API Keys for more information.
Note: The commands to create as-set
and route-set
objects are slightly different in that they append &orgHandle=ORGHANDLE
to the end of the command; this is explained in the description of these commands.
To give an example of a typical command, the following command creates a route6
object:
POST https://reg.arin.net/rest/irr/route/2001:db8::/32/AS65536?apikey=APIKEY
REST commands also require headers and sometimes, when you’re creating an object, require a payload or a message body that contains the information of the object you’re creating in RPSL or XML format. Commands that require a payload are noted in this document.
Headers
IRR REST commands require these headers be used in your scripts or REST client software.
For all calls, the header must indicate either:
Accept: application/rpsl
orAccept: application/xml
If the call requires a payload, the header must include the Content-Type
line (as shown in the following examples).
RPSL Header Example
Accept: application/rpsl
Content-Type: application/rpsl
XML Header Example
Accept: application/xml
Content-Type: application/xml
Payloads
Some REST calls require you to format and send information to ARIN with your command in a formatted “payload” file, or message body. IRR REST commands accept payloads in the following formats:
- Routing Policy Specification Language (RPSL): Visit RFC 2622 for specifics of this format. RPSL is accepted only for IRR REST commands.
- Extensible Markup Language (XML): This language consists of tags that identify data in the payloads, and is the language accepted for all of ARIN’s REST commands (including the suite of REST commands known as Reg-RWS that are used for tasks such as updating registration information for IP addresses and ASNs or reporting transferred resources).
Allowable Characters in Payloads
RPSL payloads allow the following encoding:
- ASCII
- UTF-8 in the
descr:
fields (also supported by the Internet Routing Registry Daemon (IRRd) database server software)
XML payloads support ASCII encoding only; however, comment fields which support free-form text (e.g., aut-num payloads) allow some UTF-8 encoding (characters for accented letters only).
If you are converting from email templates previously used with ARIN’s IRR system, you may want to format payloads in RPSL format (which is what email templates used). If you are developing new scripts to connect to ARIN’s API, you may want to use XML format for payloads.
Payload Examples
Examples of the payload required for the route-set
object:
RPSL Payload Example
route-set: RS-ARIZONA
members: 2001:db8::/32
descr: Example Corp LLC Arizona 1
descr: Phoenix AZ 33333
descr: USA
tech-c: EXAMPLETECH-ARIN
admin-c: EXAMPLEADMIN-ARIN
remarks: This is an example.
mnt-by: MNT-EXAMPLECORP
source: ARIN
XML Payload Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<routeSet xmlns="http://www.arin.net/regrws/core/v1" >
<creationDate>2021-03-11T13:47:20Z</creationDate>
<description>
<line number="0">Example Corp LLC Arizona 1</line>
<line number="1">Phoenix AZ 33333</line>
<line number="2">United States</line>
</description>
<lastModifiedDate>2021-03-11T13:47:20Z</lastModifiedDate>
<orgHandle>EXAMPLECORP</orgHandle>
<pocLinks>
<pocLinkRef description="Tech" function="T" handle="EXAMPLETECH-ARIN"/>
<pocLinkRef description="Admin" function="AD" handle="EXAMPLEADMIN-ARIN"/>
</pocLinks>
<remarks>
<line number="0">This is an example.</line>
</remarks>
<source>ARIN</source>
<name>RS-ARIZONA</name>
<mpMembers>
<mpMember name="2001:db8::/32"/>
</mpMembers>
</routeSet>
Note the following when constructing payloads:
RPSL payloads:
- The
mnt-by
field is the prefixMNT
and the Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in theroute
object. It is in the formatMNT-OrgID
; for example,MNT-EXAMPLECORP
. Themnt-by
field for new IRR records created using IRR-online or IRR REST commands no longer has any relationship to legacy Maintainer Objects that were migrated from ARIN’s previous IRR system in June 2020.
All payloads:
- The
source
field value must beARIN
. No other values are valid in this field.
Automation and Batch Processing
Multiple REST calls can be grouped together to automate creating, updating, and deleting IRR objects with a single script, or scripts can be set up to automatically send individual REST calls to ARIN. For example, you might configure scripts on the back end of your custom network software that send REST commands to ARIN whenever route objects are created, when the name of a route is changed, or when a route is deleted. Currently, only one action is supported in a single REST call. Batch processing, or performing multiple actions with a single REST call, is not yet implemented.
Objects
The following sections list the types of objects and how to create, view, edit, and delete the object.
Object Permissions
Viewing, editing, and deleting of some objects is limited depending on the method used to originally create the object; refer to this table.
route and route6 Objects
route
objects are created for IPv4 routes and route6
objects are created for IPv6 routes. The only difference between these objects (aside from the type of IP address) is the payload content.
Creating a route Object
This call creates a route
object. These objects specify the IPv4 address block and the ASN of the autonomous system from which the route originates.
Method
POST
URL
/rest/irr/route/IPADDRESS/PREFIXLENGTH/ORIGINAS?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload in RPSL or XML format with the fields shown in the following tables.
Field | Definition |
---|---|
route | The IPv4 address and prefix length, in CIDR format, of the route to be originated. Together with the origin attribute, constitutes the primary key of the route object. |
origin | The ASN from which the route originates. |
descr | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. |
admin-c | Admin POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
tech-c | Tech POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
mnt-by | The prefix MNT and the Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the route object. It is in the format MNT-OrgID ; for example, MNT-EXAMPLECORP . |
source: ARIN | Do not use any other value; all objects must have this line. |
Field | Definition |
---|---|
route | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | Ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | Ignored by system. |
route | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | ignored by system. |
orgHandle | The Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the route object. |
pocLinks | Admin (AD), Tech (T), or Routing (R) POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. Use the pocLinkRef tag for each individual POC, as shown in the payload example. |
source | Must be ARIN . |
netHandle | Name of the network. |
originAS | The ASN from which the route originates. |
prefix | The IPv4 address and prefix length, in CIDR format, of the route to be originated. Together with the originAS attribute, constitutes the primary key of the route object. |
autoLinkedRoaHandle | This field cannot be set on create. Route/Route6 objects can only be autoLinked on ROA creation, not Route/Route6 creation. This field is only included in the list response, and only to allow a customer to keep track of what is auto linked / auto managed. |
version | Ignored by system. |
Command Example
POST https://reg.arin.net/rest/irr/route/192.0.2.0/24/AS65536?apikey=API-1234-5678-2222-3333
Payload Examples
RPSL Payload Example
route: 192.0.2.0/24
origin: AS65536
descr: Example Corp LLC Arizona 1
descr: Phoenix AZ 33333
descr: USA
admin-c: EXAMPLEADMIN-ARIN
tech-c: EXAMPLETECH-ARIN
mnt-by: MNT-EXAMPLECORP
source: ARIN
XML Payload Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<route xmlns="http://www.arin.net/regrws/core/v1" >
<creationDate>2021-05-26T17:39:16Z</creationDate>
<description>
<line number="0">Example Corp LLC Arizona 1</line>
<line number="1">Phoenix AZ 33333</line>
<line number="2">USA</line>
</description>
<lastModifiedDate>2021-05-26T17:51:30Z</lastModifiedDate>
<orgHandle>EXAMPLECORP</orgHandle>
<pocLinks>
<pocLinkRef description="Tech" function="T" handle="EXAMPLETECH-ARIN"/>
<pocLinkRef description="Admin" function="AD" handle="EXAMPLEADMIN-ARIN"/>
</pocLinks>
<source>ARIN</source>
<netHandle>NET-192-0-2-0</netHandle>
<originAS>65536</originAS>
<prefix>192.0.2.0/24</prefix>
<autoLinkedRoaHandle>2caa8088924f205f01924f289120001a</autoLinkedRoaHandle>
</route>
Returns
200 OK
response and RPSL or XML of the created object.
Creating a route6 Object
This call creates a route6
object. These objects specify the IPv6 address block and the ASN of the autonomous system from which the route originates.
Method
POST
URL
/rest/irr/route/IPADDRESS/PREFIXLENGTH/ORIGINAS?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload in RPSL or XML format with the fields shown in the following tables.
Field | Definition |
---|---|
route6 | The IPv6 address and prefix length, in CIDR format, of the route to be originated. Together with the origin attribute, constitutes the primary key of the route6 object. |
origin | The ASN from which the route originates. |
descr | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. |
admin-c | Admin POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
tech-c | Tech POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
mnt-by | The prefix MNT and the Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the route6 object. It is in the format MNT-OrgID ; for example, MNT-EXAMPLECORP . |
source: ARIN | Do not use any other value; all objects must have this line. |
Field | Definition |
---|---|
route | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | Ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | Ignored by system. |
route | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | ignored by system. |
orgHandle | The Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the route6 object. |
pocLinks | Admin (AD), Tech (T), or Routing (R) POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. Use the pocLinkRef tag for each individual POC, as shown in the payload example. |
source | Must be ARIN . |
netHandle | Name of the network. |
originAS | The ASN from which the route originates. |
prefix | The IPv6 address and prefix length, in CIDR format, of the route to be originated. Together with the originAS attribute, constitutes the primary key of the route6 object. |
autoLinkedRoaHandle | This field cannot be set on create. Route/Route6 objects can only be autoLinked on ROA creation, not Route/Route6 creation. This field is only included in the list response, and only to allow a customer to keep track of what is auto linked / auto managed. |
version | Ignored by system. |
Command Example
POST https://reg.arin.net/rest/irr/route/2001:db8::/32/AS65536?apikey=API-1234-5678-2222-3333
Payload Examples
RPSL Payload Example
route6: 2001:db8::/32
origin: AS65536
descr: Example Corp LLC Arizona 1
descr: Phoenix AZ 33333
descr: USA
admin-c: EXAMPLEADMIN-ARIN
tech-c: EXAMPLETECH-ARIN
mnt-by: MNT-EXAMPLECORP
source: ARIN
XML Payload Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<route xmlns="http://www.arin.net/regrws/core/v1" >
<creationDate>2021-05-26T19:17:45Z</creationDate>
<description>
<line number="0">Example Corp LLC Arizona 1</line>
<line number="1">Phoenix AZ 33333</line>
<line number="2">USA</line>
</description>
<lastModifiedDate>2021-05-26T19:17:45Z</lastModifiedDate>
<orgHandle>EXAMPLECORP</orgHandle>
<pocLinks>
<pocLinkRef description="Tech" function="T" handle="EXAMPLETECH-ARIN"/>
<pocLinkRef description="Routing" function="R" handle="EXAMPLEROUT-ARIN"/>
<pocLinkRef description="Admin" function="AD" handle="EXAMPLEADMIN-ARIN"/>
</pocLinks>
<source>ARIN</source>
<netHandle>NET6-2001-DB8-1</netHandle>
<originAS>AS65536</originAS>
<prefix>2001:db8::/32</prefix>
<autoLinkedRoaHandle>2caa8088924f205f01924f289120001a</autoLinkedRoaHandle>
</route>
Viewing a route or route6 Object
This call gets information about a route
or route6
object. (Note the Object Permissions.)
Method
GET
URL
/rest/irr/route/IPADDRESS/PREFIXLENGTH/ORIGINAS?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
XML
Accept: application/xml
Content
None
Command Example
GET https://reg.arin.net/rest/irr/route/192.0.2.0/24/AS65536?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the object.
Viewing a List of route Objects for a NET
This call retrieves a list of all routes for a NET. The payload returns a list of all routes identified by the key-value pair prefix and origin for a given NET handle for the direct NET. It does not provide subnets. To be included, a route must be both visible and authorized in the IRR system.
Method
GET
URL
/rest/net/NETHANDLE/routes&apikey=APIKEY
Header
XML
Accept: application/xml
Content-Type: application/xml
RPSL: Not available (XML only)
Content
None
Command Example
GET https://reg.arin.net/rest/net/NET-192-0-2-0/routes?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and XML payload containing a list of routes. The response includes the following fields for each route:
Field | Definition |
---|---|
entry=“type” | The type of object (simple or advanced), which determines how the object can be viewed, updated or deleted; visit Object Permissions for more information. |
orgHandle | Org ID under which the route is configured. |
originAS | ASN authorized to announce the route. |
prefix | IP address from which the route originates. |
Example Return Payload
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<collection
xmlns="http://www.arin.net/regrws/core/v1"
xmlns:ns2="http://www.arin.net/regrws/messages/v1"
xmlns:ns3="http://www.arin.net/regrws/shared-ticket/v1"
xmlns:ns4="http://www.arin.net/regrws/ttl/v1"
xmlns:ns5="http://www.arin.net/regrws/rpki/v1">
<routeRef entry="ADVANCED">
<orgHandle>EXAMPLECORP</orgHandle>
<originAS>AS65535</originAS>
<prefix>192.0.2.0/24</prefix>
</routeRef>
<routeRef entry="ADVANCED">
<orgHandle>EXAMPLECORP</orgHandle>
<originAS>AS65536</originAS>
<prefix>192.0.2.0/28</prefix>
</routeRef>
<routeRef entry="ADVANCED">
<orgHandle>EXAMPLECORP</orgHandle>
<originAS>AS65537</originAS>
<prefix>192.0.2.0/32</prefix>
</routeRef>
</collection>
Viewing a List of route Objects for Reassignments of a NET
This call retrieves a list of all routes for a NET and its downstream (reassignment) NETs. The payload returns a list of all routes identified by the key-value pair prefix and origin for a given NET handle for the NET and reassignments of the NET. To be included, a route must be both visible and authorized in the IRR system.
Method
GET
URL
/rest/net/NETHANDLE/routes?reassignments=true&apikey=APIKEY
/rest/net/NETHANDLE/routes&reassignments=true?apikey=APIKEY
Header
XML
Accept: application/xml
Content-Type: application/xml
RPSL: Not available (XML only)
Content
None
Command Example
GET https://reg.arin.net/rest/net/NET-192-0-2-0/routes?reassignments=true&apikey=API-1234-5678-2222-3333
Returns
200 OK
response and XML payload containing a list of routes. The response includes the following fields for each route:
Field | Definition |
---|---|
entry=“type” | The type of object (simple or advanced), which determines how the object can be viewed, updated or deleted; visit Object Permissions for more information. |
orgHandle | Org ID under which the route is configured. |
originAS | ASN authorized to announce the route. |
prefix | IP address from which the route originates. |
Example Return Payload
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<collection
xmlns="http://www.arin.net/regrws/core/v1"
xmlns:ns2="http://www.arin.net/regrws/messages/v1"
xmlns:ns3="http://www.arin.net/regrws/shared-ticket/v1"
xmlns:ns4="http://www.arin.net/regrws/ttl/v1"
xmlns:ns5="http://www.arin.net/regrws/rpki/v1">
<routeRef entry="SIMPLE">
<orgHandle>EXAMPLECORP</orgHandle>
<originAS>AS65536</originAS>
<prefix>192.0.2.0/24</prefix>
</routeRef>
<routeRef entry="SIMPLE">
<orgHandle>EXAMPLECORP</orgHandle>
<originAS>AS65536</originAS>
<prefix>192.0.2.0/25</prefix>
</routeRef>
<routeRef entry="SIMPLE">
<orgHandle>EXAMPLECORP</orgHandle>
<originAS>AS65540</originAS>
<prefix>192.0.2.0/26</prefix>
</routeRef>
<routeRef entry="ADVANCED">
<orgHandle>DWNSTRMEXAMPLECORP-1</orgHandle>
<originAS>AS65542</originAS>
<prefix>192.0.2.0/28</prefix>
</routeRef>
<routeRef entry="ADVANCED">
<orgHandle>DWNSTRMEXAMPLECORP-2</orgHandle>
<originAS>AS65543</originAS>
<prefix>192.0.2.0/30</prefix>
</routeRef>
<routeRef entry="ADVANCED">
<orgHandle>DWNSTRMEXAMPLECORP-3</orgHandle>
<originAS>AS65545</originAS>
<prefix>192.0.2.0/32</prefix>
</routeRef>
</collection>
Viewing a List of route Objects for an Org ID
This call retrieves a list of all routes for an Org ID. The payload returns a list of all routes identified by the key-value pair prefix and origin for a given Org ID. To be included, a route must be both visible and authorized in the IRR system.
Method
GET
URL
/rest/org/ORGHANDLE/routes?apikey=APIKEY
Header
XML
Accept: application/xml
Content-Type: application/xml
RPSL: Not available (XML only)
Content
None
Command Example
GET https://reg.arin.net/rest/org/EXAMPLECORP/routes?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and XML payload containing a list of routes. The response includes the following fields for each route:
Field | Definition |
---|---|
entry=“type” | The type of object (simple or advanced), which determines how the object can be viewed, updated or deleted; visit Object Permissions for more information. |
orgHandle | Org ID under which the route is configured. |
originAS | ASN authorized to announce the route. |
prefix | IP address from which the route originates. |
Example Return Payload
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<collection
xmlns="http://www.arin.net/regrws/core/v1"
xmlns:ns2="http://www.arin.net/regrws/messages/v1"
xmlns:ns3="http://www.arin.net/regrws/shared-ticket/v1"
xmlns:ns4="http://www.arin.net/regrws/ttl/v1"
xmlns:ns5="http://www.arin.net/regrws/rpki/v1">
<routeRef entry="ADVANCED">
<orgHandle>EXAMPLECORP</orgHandle>
<originAS>AS65535</originAS>
<prefix>192.0.2.0/24</prefix>
</routeRef>
<routeRef entry="ADVANCED">
<orgHandle>EXAMPLECORP</orgHandle>
<originAS>AS65536</originAS>
<prefix>198.51.100.0/24</prefix>
</routeRef>
<routeRef entry="SIMPLE">
<orgHandle>EXAMPLECORP</orgHandle>
<originAS>AS65537</originAS>
<prefix>233.252.0.0/24</prefix>
</routeRef>
</collection>
Modifying a route Object
This call modifies an existing route
object. (Note the Object Permissions.)
Method
PUT
URL
/rest/irr/route/IPADDRESS/PREFIXLENGTH/ORIGINAS?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload as described in Creating a route Object.
Command Example
PUT https://reg.arin.net/rest/irr/route/192.0.2.0/24/AS65536?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the object.
Modifying a route6 Object
This call modifies an existing route6
object. (Note the Object Permissions.)
Method
PUT
URL
/rest/irr/route/IPADDRESS/PREFIXLENGTH/ORIGINAS?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload as described in Creating a route6 Object.
Command Example
PUT https://reg.arin.net/rest/irr/route/2001:db8::/32/AS65536?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the object.
Deleting a route or route6 object
This call deletes a route
or route6
object. (Note the Object Permissions.)
Method
DELETE
URL
/rest/irr/route/IPADDRESS/PREFIXLENGTH/ORIGINAS?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
XML
Accept: application/xml
Content
None
Command Example
DELETE https://reg.arin.net/rest/irr/route/192.0.2.0/24/AS65536?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the deleted object.
aut-num Objects
Creating an aut-num Object
This call creates an aut-num
object. These objects specify an ASN and define its routing policies using the fields in the record.
Method
POST
URL
/rest/irr/aut-num/ASN?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload in RPSL or XML format with the fields shown in the following tables.
Field | Definition |
---|---|
aut-num: | The ASN for the routing policy. |
as-name: | An alphanumeric identifier for the aut-num object. |
descr: | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. |
admin-c: | Admin POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
tech-c: | Tech POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
mnt-by: | The prefix MNT and the Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the aut-num object. It is in the format MNT-OrgID ; for example, MNT-EXAMPLECORP . |
source: ARIN | Do not use any other value; all objects must have this line. |
member-of: | The as-set (one or more) to which the object belongs. The as-set objects that are listed also need to include the maintainer associated with this aut-num in their object record for the cross reference to work. |
import: | Indicates the ASNs of the peers from which your AS will receive routing information and describes the routing information you’ll accept. For example, you can configure your routing to import a set of routes from a specific ASN that matches a filter, such as an IPv4 address. You can also specify actions to set or modify route attributes (such as assigning a preference to a route). More information is available in Section 6.1 of RFC 2622. (The mp-import field extends this function for IPv6.) |
export: | Describes export policies (for example, exporting or announcing a set of routes or routes that match a filter) to specified ASes. More information is available in Section 6.2 of RFC 2622. (The mp-export field extends this function for IPv6.) |
default: | Specifies the default routing policy (for example, if the AS should default to another AS for routing and under which conditions, such as if a specific filter is matched). More information is available in Section 6.5 of RFC 2622. (The mp-default field extends this function for IPv6.) |
mp-import: | Describes import policies as in the “import” field, but extends RPSL to allow “multi-protocol” routing policy. More information is available in Section 2.5 of RFC 4012. |
mp-export: | Describes export policies as in the “export” field, but extends RPSL to allow “multi-protocol” routing policy. More information is available in Section 2.5 of RFC 4012. |
mp-default: | Specifies the default routing policy as in the “default” field, but extends RPSL to allow “multi-protocol” routing policy. More information is available in Section 2.5 of RFC 4012. |
Field | Definition |
---|---|
autnum | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | Ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | Ignored by system. |
autnum | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | ignored by system. |
orgHandle | The Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the aut-num object. |
pocLinks | Admin (AD), Tech (T), or Routing (R) POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. Use the pocLinkRef tag for each individual POC, as shown in the payload example. |
source | Must be ARIN . |
netHandle | Name of the network. |
asName | An alphanumeric identifier for the aut-num object. |
asNumber | The ASN for the routing policy. |
default | Specifies the default routing policy (for example, if the AS should default to another AS for routing and under which conditions, such as if a specific filter is matched). More information is available in Section 6.5 of RFC 2622. (The mpDefault field extends this function for IPv6.) |
memberOf | The as-set (one or more) to which the object belongs. The as-set objects that are listed also need to include the maintainer associated with this aut-num in their object record for the cross reference to work. |
export | Describes export policies (for example, exporting or announcing a set of routes or routes that match a filter) to specified ASes. More information is available in Section 6.2 of RFC 2622. (The mpExport field extends this function for IPv6.) |
import | Indicates the ASNs of the peers from which your AS will receive routing information and describes the routing information you’ll accept. For example, you can configure your routing to import a set of routes from a specific ASN that matches a filter, such as an IPv4 address. You can also specify actions to set or modify route attributes (such as assigning a preference to a route). More information is available in Section 6.1 of RFC 2622. (The mp-import field extends this function for IPv6.) |
mpDefault | Specifies the default routing policy as in the “default” field, but extends RPSL to allow “multi-protocol” routing policy. More information is available in Section 2.5 of RFC 4012. |
mpExport | Describes export policies as in the “export” field, but extends RPSL to allow “multi-protocol” routing policy. More information is available in Section 2.5 of RFC 4012. |
mpImport | Describes import policies as in the “import” field, but extends RPSL to allow “multi-protocol” routing policy. More information is available in Section 2.5 of RFC 4012. |
Command Example
POST https://reg.arin.net/rest/irr/aut-num/AS65536?apikey=API-1234-5678-2222-3333
Payload Examples
RPSL Payload Example
aut-num: AS65536
as-name: AS-ARIZ-NODE1
descr: Example Corp LLC Arizona 1
descr: Phoenix AZ 33333
descr: United States
import: from AS65540 accept ANY
export: to AS65550 announce ANY
admin-c: EXAMPLEADMIN-ARIN
tech-c: EXAMPLETECH-ARIN
mnt-by: MNT-EXAMPLECORP
source: ARIN
XML Payload Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<autnum xmlns="http://www.arin.net/regrws/core/v1" >
<creationDate>2021-03-11T13:47:20Z</creationDate>
<description>
<line number="0">Example Corp LLC Arizona 1</line>
<line number="1">Phoenix AZ 33333</line>
<line number="2">United States</line>
</description>
<lastModifiedDate>2021-03-11T13:47:20Z</lastModifiedDate>
<orgHandle>EXAMPLECORP</orgHandle>
<pocLinks>
<pocLinkRef description="Tech" function="T" handle="EXAMPLETECH-ARIN"/>
<pocLinkRef description="Admin" function="AD" handle="EXAMPLEADMIN-ARIN"/>
</pocLinks>
<remarks>
<line number="0">This is a comment.</line>
</remarks>
<source>ARIN</source>
<asName>AS-ARIZ-NODE1</asName>
<asNumber>AS65536</asNumber>
<default>
<line number="0">to AS2 7.7.7.2 at 7.7.7.1</line>
</default>
<export>
<line number="0">to AS65550 announce ANY</line>
</export>
<import>
<line number="0">from AS65540 accept ANY</line>
</import>
<mpDefault>
<line number="0">to AS2 7.7.7.2 at 7.7.7.1</line>
</mpDefault>
<mpExport>
<line number="0">to AS65539 announce AS64496</line>
</mpExport>
<mpImport>
<line number="0">from AS64496 accept ANY</line>
</mpImport>
</autnum>
Returns
200 OK
response and RPSL or XML of the created object.
Viewing an aut-num Object
This call gets information about an aut-num
object. (Note the Object Permissions.)
Method
GET
URL
/rest/irr/aut-num/ASN?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
XML
Accept: application/xml
Content
None
Command Example
GET https://reg.arin.net/rest/irr/aut-num/AS65536?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the object.
Viewing a List of aut-num Objects for an Org ID
This call returns all aut-num
objects for a given Org ID.
Method
GET
URL
/rest/org/ORGHANDLE/aut-nums?apikey=APIKEY
Header
XML
Accept: application/xml
Content-Type: application/xml
RPSL: Not available (XML only)
Content
None
Command Example
GET https://reg.arin.net/rest/org/EXAMPLECORP/aut-nums?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and XML payload containing a list of aut-num
objects. The response includes the following fields for each aut-num
:
Field | Definition |
---|---|
asNumber | ASN for the aut-num object |
entry=“type” | The type of object (simple or advanced), which determines how the object can be viewed, updated or deleted; visit Object Permissions for more information. |
Example Return Payload
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<collection
xmlns="http://www.arin.net/regrws/core/v1"
xmlns:ns2="http://www.arin.net/regrws/messages/v1"
xmlns:ns3="http://www.arin.net/regrws/shared-ticket/v1"
xmlns:ns4="http://www.arin.net/regrws/ttl/v1"
xmlns:ns5="http://www.arin.net/regrws/rpki/v1">
<autNumRef entry="ADVANCED">
<asNumber>AS65535</asNumber>
</autNumRef>
<autNumRef entry="ADVANCED">
<asNumber>AS65536</asNumber>
</autNumRef>
<autNumRef entry="SIMPLE">
<asNumber>AS65537</asNumber>
</autNumRef>
<autNumRef entry="SIMPLE">
<asNumber>AS65538</asNumber>
</autNumRef>
</collection>
Modifying an aut-num Object
This call modifies an existing aut-num
object. (Note the Object Permissions.)
Method
PUT
URL
/rest/irr/aut-num/ASN?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload as described in Creating an aut-num Object.
Command Example
PUT https://reg.arin.net/rest/irr/aut-num/AS65536?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the modified object.
Deleting an aut-num Object
This call deletes an aut-num
object. (Note the Object Permissions.)
Method
DELETE
URL
/rest/irr/aut-num/ASN?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
XML
Accept: application/xml
Content
None
Command Example
DELETE https://reg.arin.net/aut-num/AS65536?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the deleted object.
as-set Objects
Creating an as-set Object
This call creates an as-set
object. These objects specify a set of ASNs through which traffic can be routed. The members of the set can also include other as-set
names.
Method
POST
URL
/rest/irr/as-set?apikey=APIKEY&orgHandle=ORGHANDLE
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload in RPSL or XML format with the fields shown in the following tables:
Field | Definition |
---|---|
as-set: | A name you give to a group of ASNs. Begins with AS- . |
descr: | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. |
admin-c: | Admin POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
tech-c: | Tech POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
mnt-by: | The prefix MNT and the Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the route object. It is in the format MNT-OrgID ; for example, MNT-EXAMPLECORP . |
source: ARIN | Do not use any other value; all objects must have this line. |
remarks: | Any additional information the creator of the objects wants to provide (this information will also be published in the IRR database). |
members: | Members of this set of ASNs; can be a list of ASNs or multiple as-set objects. |
mbrs-by-ref: | The Org IDs, preceded by MNT- , whose aut-num objects can be included in this set. Those aut-num objects must themselves contain this as-set in their member-of field. If this field contains “ANY,” any aut-num referring to the set (in its member-of field) will be included as a member of the set. If this field is left blank, the set is defined explicitly by the members field. |
Field | Definition |
---|---|
asSet | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | Ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | Ignored by system. |
asSet | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | ignored by system. |
orgHandle | The Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the as-set object. |
pocLinks | Admin (AD), Tech (T), or Routing (R) POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. Use the pocLinkRef tag for each individual POC, as shown in the payload example. |
remarks | Any additional information the creator of the objects wants to provide (this information will also be published in the IRR database). |
source | Must be ARIN . |
members | Members of this set of ASNs; can be a list of ASNs or multiple as-set objects. Add each member using the member tag, as shown in the XML payload example. |
mbrsByRef | The Org IDs, preceded by MNT- , whose aut-num objects can be included in this set. Those aut-num objects must themselves contain this as-set in their memberOf field. If this field contains “ANY,” any aut-num referring to the set (in its memberOf field) will be included as a member of the set. If this field is left blank, the set is defined explicitly by the members field. Add each memberByRef using the memberByRef tag as shown in the XML payload example. |
name | A name you give to a group of ASNs. Begins with AS- . |
Command Example
POST https://reg.arin.net/rest/irr/as-set?apikey=API-1234-5678-2222-3333&orgHandle=EXAMPLECORP
Payload Example
RPSL Payload Example
as-set: AS-EXAMPLE-ARIZ
mnt-by: MNT-EXAMPLECORP
descr: Peers in AZ network
tech-c: EXAMPLETECH-ARIN
admin-c: EXAMPLEADMIN-ARIN
remarks: This is an example.
members: AS-PHOENIX
members: AS-MESA
members: AS-SEDONA
source: ARIN
XML Payload Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<asSet xmlns="http://www.arin.net/regrws/core/v1" >
<creationDate>2021-05-27T18:24:28Z</creationDate>
<description>
<line number="0">peers in AZ network</line>
</description>
<lastModifiedDate>2021-05-27T18:24:28Z</lastModifiedDate>
<orgHandle>EXAMPLECORP</orgHandle>
<pocLinks>
<pocLinkRef description="Tech" function="T" handle="EXAMPLETECH"/>
<pocLinkRef description="Routing" function="R" handle="EXAMPLEROUT"/>
<pocLinkRef description="Admin" function="AD" handle="EXAMPLEADMIN"/>
</pocLinks>
<source>ARIN</source>
<members>
<member name="AS-PHOENIX"/>
<member name="AS-MESA"/>
<member name="AS-SEDONA"/>
</members>
<name>AS-EXAMPLE-ARIZ</name>
</asSet>
Returns
200 OK
response and RPSL or XML of the created object.
Viewing an as-set Object
This call gets information about an as-set
object. (Note the Object Permissions.)
Method
GET
URL
/rest/irr/as-set/AS-SETNAME?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
XML
Accept: application/xml
Content
None
Command Example
GET https://reg.arin.net/rest/irr/as-set/AS-EXAMPLE-ARIZ?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the object.
Viewing a List of as-set Objects for an Org ID
This call returns all as-set
objects for a given Org ID. To be included, an as-set
must be both visible and authorized in the IRR system.
Method
GET
URL
/rest/org/ORGHANDLE/as-sets?apikey=APIKEY
Header
XML
Accept: application/xml
Content-Type: application/xml
RPSL: Not available (XML only)
Content
None
Command Example
GET https://reg.arin.net/rest/org/EXAMPLECORP/as-sets?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and XML payload containing a list of as-set
objects. The response includes the following fields for each object:
Field | Definition |
---|---|
name | Name of the as-set |
entry=“type”: | The type of object (simple or advanced), which determines how the object can be viewed, updated or deleted; visit Object Permissions for more information. |
Example Return Payload
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<collection
xmlns="http://www.arin.net/regrws/core/v1"
xmlns:ns2="http://www.arin.net/regrws/messages/v1"
xmlns:ns3="http://www.arin.net/regrws/shared-ticket/v1"
xmlns:ns4="http://www.arin.net/regrws/ttl/v1"
xmlns:ns5="http://www.arin.net/regrws/rpki/v1">
<asSetRef name="AS-PHOENIX" entry="SIMPLE"/>
<asSetRef name="AS-MESA" entry="SIMPLE"/>
</collection>
Modifying an as-set Object
This call modifies an as-set
object. (Note the Object Permissions.)
Method
PUT
URL
/rest/irr/as-set/AS-SETNAME?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload as described in Creating an as-set Object.
Command Example
PUT https://reg.arin.net/rest/irr/as-set/AS-EXAMPLE-ARIZ?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the modified object.
Deleting an as-set Object
This call deletes an as-set
object. (Note the Object Permissions.)
Method
DELETE
URL
/rest/irr/as-set/AS-SETNAME?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
XML
Accept: application/xml
Content
None
Command Example
DELETE https://reg.arin.net/as-set/AS-EXAMPLE-ARIZ?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the deleted object.
route-set Objects
Creating a route-set Object
This call creates a route-set
object. These objects group a list of individual IPv4 address prefixes (called members
), IPv6 address prefixes (mp-members
), and other objects referred to in the mbrs-by-ref
field. The route-set
can then be referred to in other IRR objects.
Method
POST
URL
/rest/irr/route-set?apikey=APIKEY&orgHandle=ORGHANDLE
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload in RPSL or XML format with the fields shown in the following tables:
Field | Definition |
---|---|
route-set: | A name you give to the route-set. Begins with RS- or with an AS that is managed by your organization followed by a colon and RS- (for example, AS65536:RS-ARIZ-SE-5). |
descr: | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. |
admin-c: | Admin POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
tech-c: | Tech POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. |
mnt-by: | The prefix MNT and the Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the route-set object. It is in the format MNT-OrgID ; for example, MNT-EXAMPLECORP . |
source: ARIN | Do not use any other value; all objects must have this line. |
remarks: | Any additional information the creator of the objects wants to provide (this information will also be published in the IRR database). |
members: | Members of the set; ARIN accepts IPv4 address prefixes or other route-set names. |
mp-members: | Members of the set; IPv4 and IPv6 address prefixes or other route-set names. |
mbrs-by-ref: | The Org IDs, preceded by MNT- , whose route or route6 objects should be included in this set. Those route/route6 objects must then contain this rs-set in their member-of field. |
Field | Definition |
---|---|
routeSet | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | Ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | Ignored by system. |
routeSet | Use xmlns="http://www.arin.net/regrws/core/v1". |
creationDate | ignored by system. |
description | In the description, enter any information you think needs to be here. This could be your name and address, your ISP’s name, or a network name or location. Use line numbers for each line of information, as shown in the payload example. |
lastModifiedDate | ignored by system. |
orgHandle | The Org ID of the organization that configures (maintains) the IRR object and manages the resource that is specified in the route-set object. |
pocLinks | Admin (AD), Tech (T), or Routing (R) POC for the organization that is maintaining the object. This field is the exact POC Handle as shown in Whois/RDAP for the Org ID. Use the pocLinkRef tag for each individual POC, as shown in the payload example. |
remarks | Any additional information the creator of the objects wants to provide (this information will also be published in the IRR database). |
source | Must be ARIN . |
members | Members of the set; ARIN accepts IPv4 address prefixes or other route-set names. Add each member using the member tag, as shown in the XML payload example. |
mpMembers | Members of the set; IPv4 and IPv6 address prefixes or other route-set names. Add each member using the mpMember tag, as shown in the XML payload example. |
membersByRef | The Org IDs, preceded by MNT- , whose route or route6 objects should be included in this set. Those route/route6 objects must then contain this rs-set in their memberOf field. Add each member using the memberByRef tag, as shown in the XML payload example. |
name | A name you give to the route-set. Begins with RS- or with an AS that is managed by your organization followed by a colon and RS- (for example, AS65536:RS-ARIZ-SE-5). |
Command Example
POST https://reg.arin.net/rest/irr/route-set?apikey=API-1234-5678-2222-3333&orgHandle=EXAMPLECORP
Payload Examples
RPSL Payload Example
route-set: RS-ARIZONA-SOUTH
mnt-by: MNT-EXAMPLECORP
descr: set of Southern AZ routes
tech-c: EXAMPLETECH-ARIN
admin-c: EXAMPLEADMIN-ARIN
remarks: This is an example.
members: 192.0.2.0/24
mp-members: 2001:db8::/32
source: ARIN
XML Payload Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<routeSet xmlns="http://www.arin.net/regrws/core/v1" >
<creationDate>2021-05-27T18:42:51Z</creationDate>
<description>
<line number="0">set of Southern AZ routes</line>
</description>
<lastModifiedDate>2021-05-27T18:43:10Z</lastModifiedDate>
<orgHandle>EXAMPLECORP</orgHandle>
<pocLinks>
<pocLinkRef description="Tech" function="T" handle="EXAMPLETECH-ARIN"/>
<pocLinkRef description="Routing" function="R" handle="EXAMPLEROUT-ARIN"/>
<pocLinkRef description="Admin" function="AD" handle="EXAMPLEADMIN-ARIN"/>
</pocLinks>
<source>ARIN</source>
<members>
<member name="192.0.2.0/24"/>
</members>
<membersByRef>
<memberByRef name="MNT-OTHEREXAMPLECORP"/>
</membersByRef>
<name>RS-ARIZONA-SOUTH</name>
<mpMembers>
<mpMember name="2001:db8::/32"/>
</mpMembers>
</routeSet>
Returns
200 OK
response and RPSL or XML of the created object.
Viewing a route-set Object
This call gets information about a route-set
object. (Note the Object Permissions.)
Method
GET
URL
/rest/irr/route-set/RS-SETNAME?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
XML
Accept: application/xml
Content
None
Command Example
GET https://reg.arin.net/rest/irr/route-set/RS-ARIZONA-SOUTH?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the object.
Viewing a List of route-set Objects for an Org ID
This call returns all route-set
objects for a given Org ID. To be included, a route-set
must be both visible and authorized in the IRR system.
Method
GET
URL
/rest/org/ORGHANDLE/route-sets?apikey=APIKEY
Header
XML
Accept: application/xml
Content-Type: application/xml
RPSL: Not available (XML only)
Content
None
Command Example
GET https://reg.arin.net/rest/org/EXAMPLECORP/route-sets?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and XML payload containing a list of route-set objects. The response includes the following fields for each object:
Field | Definition |
---|---|
name | Name of the route-set |
entry=“type” | The type of object (simple or advanced), which determines how the object can be viewed, updated or deleted; visit Object Permissions for more information. |
Example Return Payload
<collection
xmlns="http://www.arin.net/regrws/core/v1"
xmlns:ns2="http://www.arin.net/regrws/messages/v1"
xmlns:ns3="http://www.arin.net/regrws/shared-ticket/v1"
xmlns:ns4="http://www.arin.net/regrws/ttl/v1"
xmlns:ns5="http://www.arin.net/regrws/rpki/v1">
<routeSetRef name="RS-ARIZONA-NORTH" entry="SIMPLE"/>
<routeSetRef name="RS-ARIZONA-SOUTH" entry="SIMPLE"/>
</collection>
Modifying a route-set Object
This call modifies a route-set
object. (Note the Object Permissions.)
Method
PUT
URL
/rest/irr/route-set/RS-SETNAME?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
Content-Type: application/rpsl
XML
Accept: application/xml
Content-Type: application/xml
Content
Payload as described in Creating a route-set Object.
Command Example
PUT https://reg.arin.net/rest/irr/route-set/RS-ARIZONA-SOUTH?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the modified object.
Deleting a route-set Object
This call deletes a route-set
object. (Note the Object Permissions.)
Method
DELETE
URL
/rest/irr/route-set/RS-SETNAME?apikey=APIKEY
Header
RPSL
Accept: application/rpsl
XML
Accept: application/xml
Content
None
Command Example
DELETE https://reg.arin.net/route-set/RS-ARIZONA-SOUTH?apikey=API-1234-5678-2222-3333
Returns
200 OK
response and RPSL or XML of the deleted object.
Error Codes
This list includes some of the error codes that may be returned if you send an incorrect command or payload. A message is returned with additional information on the error; the following table provides some additional information on errors that may be returned. (Tip: Use your browser’s search feature to find a specific message.)
400 Bad Request
Some of the causes of a 400 Bad Request
response are provided in the following sections:
- E_AUTHENTICATION: The API key specified was missing or invalid.
- E_BAD_REQUEST: An
aut-num
object with the specified ASN already exists. - E_ENTITY_VALIDATION:
- The payload entity failed to validate; refer to the component messages for details.
- Changing the value of the
mnt-by
field is not supported. Themnt-by
value in the call does not match themnt-by
value of the existing record or the Org Handle (Org ID) of the organization that maintains the resource. - Prefix: Unable to create a route with this prefix. Make sure that your organization, as specified in the
mnt-by
field (MNT-OrgID
) in your payload, manages the IP address block specified in your request. - Each specified
tech-c
must match a Tech or Routing Point of Contact (POC) associated with the Org ID (as shown in Whois/RDAP) that is specified as a maintainer in themnt-by
field. One or moretech-c
fields are not valid Tech POCs for the specified organization. - A route object with the specified prefix and origin already exists.
- Changing the origin of a
route
object is not supported. You cannot modify aroute
orroute6
object to change the ASN origination; you need to delete the object and submit a newroute
orroute6
object with the desired new ASN. - Duplicate entries are not allowed. Duplicate members in the
member-of
attribute are not supported. - The ASN in the request URL path must match the ASN in the RPSL payload.
- The specified
admin-c
must be the Admin POC of the Org ID specified as the maintainer in themnt-by
field. The specifiedadmin-c
does not match the Admin POC listed in Whois/RDAP for the specified organization. - The specified prefix is off-bit. The route contains an address that is not valid with the mask (prefix length), or block size, specified (
/xx
). For example, 2001:db8::/20 would be off-bit, but 2001:db8::/32 would be valid.
- E_SCHEMA_VALIDATION:
- Something is wrong with your payload; for example, information is missing from your payload, a value is incorrect in your payload, or your payload has an extra line space. A message may be returned that provides more specific information.
- The RPSL payload must specify
source: ARIN
. - ARIN does not support use of the
notify
field in RESTful payloads.
Other Error Responses
- 405 Method Not Allowed
- E_BAD_REQUEST: Method not allowed. Ensure that the proper HTTP method has been used for this request. The wrong method (e.g.,
PUT
,POST
) is specified, or the URL contains incorrect information.
- E_BAD_REQUEST: Method not allowed. Ensure that the proper HTTP method has been used for this request. The wrong method (e.g.,
- 406 Not Acceptable
- E_BAD_REQUEST: No match for accept header. The
Accept
header must be set to the following media type:application/rpsl
orapplication/xml
. Make sure this header is included correctly in your call.
- E_BAD_REQUEST: No match for accept header. The
- 415 Unsupported Media Type
- E_BAD_REQUEST: Cannot consume content type. The
Content-Type
header for this request must be set to the following media type:application/rpsl
orapplication/xml
. Make sure this header is included correctly in your call if you are sending a payload.
- E_BAD_REQUEST: Cannot consume content type. The
- 500 Internal Server Error
- E_UNSPECIFIED: An error occurred while attempting to process your request.
- 503 Service Unavailable
- E_UNSUPPORTED_OPERATION: Operation not supported. Viewing, editing, and deleting of some objects is limited depending on the method used to originally create the object; refer to the table in the Object Permissions section.
- exception.rpslParse: The RPSL payload you provided cannot be parsed. The system does not understand the format of the
aut-num
payload that you sent. Refer to aut-num Objects for the correct payload format. - java.lang.IllegalStateException: Cannot validate payload with unsupported media type. You do not have the required
accept
orcontent-type
headers of application/rpsl or application/xml in your request. - exception.multipleMntBy: Specify only one maintainer in the
mnt-by
field. - exception.asZeroException: The specified origin
AS0
is not supported.
Internet Routing Registry (IRR)
- ARIN IRR-online User Guide
- ARIN IRR RESTful API User Guide
- Implementation Notes for ARIN's Web-Based IRR
- Internet Routing Registry FAQ
Related
Registration Services Help Desk
7:00 AM to 7:00 PM ET
Phone: +1.703.227.0660
Fax: +1.703.997.8844