Skip to content

Bulk Transfer

The following methods allow you to manage domain bulk transfer requests. The domain:bulk scope in the token is required for all methods.

Warning

The methods related to bulk-transfer are not currently available on the test platform (pubtest).

Bulk transfer request statuses

The possible statuses of a bulk transfer request are:

Status Description
SUBMITTED Request submitted
DOC_WAITING Waiting for documentation
DOC_OK Documentation verified
VERIFIED Request verified
APPROVED Request approved
REJECTED Request rejected
CANCELLED Request cancelled
EXPIRING Request expiring
EXPIRED Request expired
COMPLETED Request completed

Domain statuses in bulk transfer

The possible statuses of domains included in a bulk transfer request are:

Status Description
SUBMITTED Domain submitted in the request
VERIFIED Domain verified
APPROVED Domain approved
REJECTED Domain rejected
EXPIRED Domain expired
FAILED Domain transfer failed
TRANSFERRED Domain transferred

Search bulk transfer requests

1.0 | domain:bulk | admin |

GET https://api.nic.it/v1/domains/bulkTransfers

Allows you to get the paginated list of the Registrar's bulk transfer requests. Example:

GET /v1/domains/bulkTransfers HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "elements": [
        {
            "id": 12345,
            "source": {
                "applicant": "Mario Rossi",
                "applicantCF": "RSSMRA80A01G702K",
                "admin": "admin@source-registrar.it",
                "registrar": "SRC-REG"
            },
            "destination": {
                "registrar": "DST-REG"
            },
            "status": "SUBMITTED",
            "created": "2024-05-10T09:30:00+02:00",
            "lastupdate": "2024-05-10T09:30:00+02:00"
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}
curl "https://api.nic.it/v1/domains/bulkTransfers" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
http https://api.nic.it/v1/domains/bulkTransfers \
    "Authorization: Bearer token..."

Search results are paginated.

Create a bulk transfer request

1.0 | domain:bulk | admin |

POST https://api.nic.it/v1/domains/bulkTransfers

Allows you to create a new bulk transfer request. The request body must contain:

Field Required Description
source.applicant Yes Name of the applicant for the source Registrar
source.applicantCF Yes Tax code of the applicant for the source Registrar
source.admin No Administrative reference of the source Registrar
destination.registrar Yes Tag of the destination Registrar
domains Yes List of domains to transfer

Example:

POST /v1/domains/bulkTransfers HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: api.nic.it
Authorization: Bearer token....

{
    "source": {
        "applicant": "Mario Rossi",
        "applicantCF": "RSSMRA80A01G702K",
        "admin": "admin@source-registrar.it"
    },
    "destination": {
        "registrar": "DST-REG"
    },
    "domains": [
        "bulk-transfer-test-1.it",
        "bulk-transfer-test-2.it"
    ]
}
HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": 12345,
    "source": {
        "applicant": "Mario Rossi",
        "applicantCF": "RSSMRA80A01G702K",
        "admin": "admin@source-registrar.it",
        "registrar": "SRC-REG"
    },
    "destination": {
        "registrar": "DST-REG"
    },
    "status": "SUBMITTED",
    "created": "2024-05-10T09:30:00+02:00",
    "lastupdate": "2024-05-10T09:30:00+02:00"
}
curl "https://api.nic.it/v1/domains/bulkTransfers" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token..." \
-d '{
    "source": {
        "applicant": "Mario Rossi",
        "applicantCF": "RSSMRA80A01G702K",
        "admin": "admin@source-registrar.it"
    },
    "destination": {
        "registrar": "DST-REG"
    },
    "domains": [
        "bulk-transfer-test-1.it",
        "bulk-transfer-test-2.it"
    ]
}'
http POST https://api.nic.it/v1/domains/bulkTransfers \
    "Authorization: Bearer token..." \
    source:='{"applicant":"Mario Rossi","applicantCF":"RSSMRA80A01G702K","admin":"admin@source-registrar.it"}' \
    destination:='{"registrar":"DST-REG"}' \
    domains:='["bulk-transfer-test-1.it","bulk-transfer-test-2.it"]'

Get a bulk transfer request

1.0 | domain:bulk | admin |

GET https://api.nic.it/v1/domains/bulkTransfers/{bulkTransferId}

Allows you to get the data of a bulk transfer request by the numeric id assigned by the Registry. Example:

GET /v1/domains/bulkTransfers/12345 HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": 12345,
    "source": {
        "applicant": "Mario Rossi",
        "applicantCF": "RSSMRA80A01G702K",
        "admin": "admin@source-registrar.it",
        "registrar": "SRC-REG"
    },
    "destination": {
        "registrar": "DST-REG"
    },
    "status": "APPROVED",
    "approvalDate": "2024-05-11T10:15:00+02:00",
    "created": "2024-05-10T09:30:00+02:00",
    "lastupdate": "2024-05-11T10:15:00+02:00"
}
curl "https://api.nic.it/v1/domains/bulkTransfers/12345" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
http https://api.nic.it/v1/domains/bulkTransfers/12345 \
    "Authorization: Bearer token..."

Get the domains of a bulk transfer request

1.0 | domain:bulk | admin |

GET https://api.nic.it/v1/domains/bulkTransfers/{bulkTransferId}/domains

Allows you to get the paginated list of domains included in a bulk transfer request. Example:

GET /v1/domains/bulkTransfers/12345/domains HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "elements": [
        {
            "id": 111,
            "domain": "bulk-transfer-test-1.it",
            "status": "APPROVED"
        },
        {
            "id": 112,
            "domain": "bulk-transfer-test-2.it",
            "status": "VERIFIED"
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}
curl "https://api.nic.it/v1/domains/bulkTransfers/12345/domains" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
http https://api.nic.it/v1/domains/bulkTransfers/12345/domains \
    "Authorization: Bearer token..."

Results are paginated.

Get the events of a bulk transfer request

1.0 | domain:bulk | admin |

GET https://api.nic.it/v1/domains/bulkTransfers/{bulkTransferId}/events

Allows you to get the paginated list of events associated with a bulk transfer request. Example:

GET /v1/domains/bulkTransfers/12345/events HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "elements": [
        {
            "type": "submitted",
            "description": "Bulk transfer request submitted",
            "created": "2024-05-10T09:30:00+02:00"
        },
        {
            "type": "approved",
            "description": "Bulk transfer request approved",
            "created": "2024-05-11T10:15:00+02:00"
        }
    ],
    "page": {
        "number": 0,
        "size": 20
    }
}
curl "https://api.nic.it/v1/domains/bulkTransfers/12345/events" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
http https://api.nic.it/v1/domains/bulkTransfers/12345/events \
    "Authorization: Bearer token..."

Results are paginated.

Approve a bulk transfer request

1.0 | domain:bulk | admin |

PUT https://api.nic.it/v1/domains/bulkTransfers/{bulkTransferId}/approve

Allows you to approve a bulk transfer request. The operation can be performed only by the destination Registrar and only when the bulk transfer request is in VERIFIED status. The request body must contain the applicant data:

Field Required Description
applicant Yes Name of the applicant
applicantCF Yes Tax code of the applicant
admin No Legal representative (optional if it matches the applicant)

Example:

PUT /v1/domains/bulkTransfers/12345/approve HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: api.nic.it
Authorization: Bearer token....

{
    "applicant": "Mario Rossi",
    "applicantCF": "RSSMRA80A01G702K",
    "admin": "admin@destination-registrar.it"
}
curl -X PUT "https://api.nic.it/v1/domains/bulkTransfers/12345/approve" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token..." \
-d '{
    "applicant": "Mario Rossi",
    "applicantCF": "RSSMRA80A01G702K",
    "admin": "admin@destination-registrar.it"
}'
http PUT https://api.nic.it/v1/domains/bulkTransfers/12345/approve \
    "Authorization: Bearer token..." \
    applicant="Mario Rossi" \
    applicantCF="RSSMRA80A01G702K" \
    admin="admin@destination-registrar.it"

Cancel a bulk transfer request

1.0 | domain:bulk | admin |

PUT https://api.nic.it/v1/domains/bulkTransfers/{bulkTransferId}/cancel

Allows you to cancel a bulk transfer request. The operation can be performed only when the request is in VERIFIED status. Example:

PUT /v1/domains/bulkTransfers/12345/cancel HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": 12345,
    "source": {
        "applicant": "Mario Rossi",
        "applicantCF": "RSSMRA80A01G702K",
        "admin": "admin@source-registrar.it",
        "registrar": "SRC-REG"
    },
    "destination": {
        "registrar": "DST-REG"
    },
    "status": "CANCELLED",
    "created": "2024-05-10T09:30:00+02:00",
    "lastupdate": "2024-05-10T11:45:00+02:00"
}
curl -X PUT "https://api.nic.it/v1/domains/bulkTransfers/12345/cancel" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
http PUT https://api.nic.it/v1/domains/bulkTransfers/12345/cancel \
    "Authorization: Bearer token..."

Get data for the bulk transfer PDF document

1.0 | domain:bulk | admin |

GET https://api.nic.it/v1/domains/bulkTransfers/{bulkTransferId}/pdf-data

Allows you to get the data used to generate the PDF document for the bulk transfer request. Example:

GET /v1/domains/bulkTransfers/12345/pdf-data HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json

{
    "source": {
        "applicant": "Mario Rossi",
        "applicantCF": "RSSMRA80A01G702K",
        "admin": "admin@source-registrar.it",
        "registrar": "SRC-REG",
        "org": "Source Registrar Srl",
        "regcode": "12345678901"
    },
    "destination": {
        "applicant": "Mario Rossi",
        "applicantCF": "RSSMRA80A01G702K",
        "admin": "admin@destination-registrar.it",
        "registrar": "DST-REG",
        "org": "Destination Registrar Srl",
        "regcode": "10987654321"
    }
}
curl "https://api.nic.it/v1/domains/bulkTransfers/12345/pdf-data" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
http https://api.nic.it/v1/domains/bulkTransfers/12345/pdf-data \
    "Authorization: Bearer token..."