# Web Cloud › Internet › Eligibility › Test API

> Part of the OVHcloud developer hub. Index of every page and section: https://developers.eu.ovhcloud.com/llms.txt
> The Web Cloud product's sections: https://developers.eu.ovhcloud.com/reference/web-cloud/llms.txt
> Everything in one file: https://developers.eu.ovhcloud.com/llms-full.txt

> 9 operations of the OVHcloud API. Calls carry `authorization: Bearer $OVH_TOKEN`; the EU host is shown, Canada and the United States answer on api.ca.ovhcloud.com and api.us.ovhcloud.com.

Page: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/

OpenAPI v1: https://api.eu.ovhcloud.com/1.0/__schemas/developer-hub-navigation/web-cloud/internet/eligibility/test.json?format=openapi3
OpenAPI v2: https://api.eu.ovhcloud.com/v2/__schemas/developer-hub-navigation/web-cloud/internet/eligibility/test.json?format=openapi3

## Operations

- `GET /connectivity/eligibility/test` — Get an eligibility test
- `POST /connectivity/eligibility/test/address` — Test the eligibility of an address
- `POST /connectivity/eligibility/test/address/partners` — Test the eligibility of an address for a partner
- `POST /connectivity/eligibility/test/building` — Test the eligibility of a building
- `POST /connectivity/eligibility/test/building/partners` — Test the eligibility of a building for a partner
- `POST /connectivity/eligibility/test/line` — Test the eligibility of a copper line
- `POST /connectivity/eligibility/test/line/partners` — Test the eligibility of a copper line for a partner
- `POST /connectivity/eligibility/test/otp` — Test the eligibility of an OTP
- `POST /connectivity/eligibility/test/otp/partners` — Test the eligibility of an OTP for a partner

## Get an eligibility test

`GET /1.0/connectivity/eligibility/test`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/#getEligibility

**Status:** Stable production version  
**Authentication:** none (public operation)

Returns the result of an eligibility test from its reference: the tested endpoint (address, copper or fiber details, portability) and the offers with their eligibility, estimated rates and reasons when not eligible.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `eligibilityReference` | query | string | yes | Eligibility reference |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | connectivity.eligibility.EligibilityTest | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `eligibilityReference` | string | read-only | Eligibility unique reference |
| `endpoint` | connectivity.eligibility.Endpoint | read-only | Endpoint information |
| `endpoint.address` | connectivity.eligibility.Address | read-only | Address |
| `endpoint.address.building` | string | read-only | Name of the building, if any |
| `endpoint.address.city` | string | read-only | City name |
| `endpoint.address.door` | string | read-only | Identifier of the door, if any |
| `endpoint.address.floor` | string | read-only | Identifier of the floor, if any |
| `endpoint.address.housingComplex` | string | read-only | Name of the housing complex, if any |
| `endpoint.address.inseeCode` | string | read-only | INSEE code |
| `endpoint.address.ownerName` | string | read-only | Owner name, this information can be restricted |
| `endpoint.address.stairs` | string | read-only | Identifier of the stair, if any |
| `endpoint.address.streetCode` | string | read-only | Street code, an unique identifier of the street, hidden for unlisted number |
| `endpoint.address.streetName` | string | read-only | Street name, hidden for unlisted number |
| `endpoint.address.streetNumber` | string | read-only | Street number, usually a number and an indication if applicable (B for bis, T for ter, etc...) and hidden for unlisted number |
| `endpoint.address.zipCode` | string | read-only | ZIP code |
| `endpoint.copperInfo` | connectivity.eligibility.CopperInfo | read-only | Copper information |
| `endpoint.copperInfo.availablePairs` | integer | read-only | Number of available pairs. This is given only for an eligibility test. |
| `endpoint.copperInfo.maxAvailablePairs` | integer | read-only | Number of maximun available pairs using desaturation. This is given only for an eligibility test. |
| `endpoint.copperInfo.nra` | string | read-only | NRA ("Nœud de raccordement abonné" in french) is an identifier of the building where is the Main Distribution Frames for the copper line. This is given only for an eligibility test. |
| `endpoint.copperInfo.sectionsLengths` | connectivity.eligibility.SectionLength[] | read-only | Sections lengths of the copper line. This is given only for an eligibility test. |
| `endpoint.copperInfo.status` | connectivity.eligibility.LineStatusEnum | read-only | Line status — one of `active`, `inactive` |
| `endpoint.copperInfo.underConstruction` | boolean | read-only | Is the line under construction ? This is given only for an eligibility test. |
| `endpoint.copperInfo.unlistedNumber` | boolean | read-only | Is the number unlisted ? ("sur liste rouge" in french) |
| `endpoint.fiberInfo` | connectivity.eligibility.FiberInfo | read-only | Fiber information |
| `endpoint.fiberInfo.buildingName` | string | read-only | Building name |
| `endpoint.fiberInfo.buildingReference` | string | read-only | Building unique identifier |
| `endpoint.fiberInfo.buildingType` | connectivity.eligibility.BuildingTypeEnum | read-only | Building type — one of `BUILDING`, `HOUSE` |
| `endpoint.fiberInfo.latitude` | string | read-only | Latitude |
| `endpoint.fiberInfo.longitude` | string | read-only | Longitude |
| `endpoint.fiberInfo.nro` | string | read-only | NRO ("Nœud de raccordement optique" in french) is an identifier of the building where is the Optical Distribution Frame (ODF) of the fiber |
| `endpoint.fiberInfo.operatorCode` | string | read-only | Operator code |
| `endpoint.fiberInfo.operatorName` | string | read-only | Operator name |
| `endpoint.fiberInfo.pmReference` | string | read-only | Reference of the mutualisation point (PM) |
| `endpoint.portability` | connectivity.eligibility.Portability | read-only | Portability details of the line number |
| `endpoint.portability.eligibility` | connectivity.eligibility.PortabilityEligibility | read-only | Portability eligibility |
| `endpoint.portability.quarantineEndDate` | string (date-time) | read-only | Date of the end of quarantine, if any |
| `endpoint.portability.type` | connectivity.eligibility.PortabilityTypeEnum | read-only | Portability type — one of `portin`, `portinback`, `portout`, `subsequent`, `subsquentportin` |
| `endpoint.reference` | string | read-only | Reference of the endpoint |
| `endpoint.referenceType` | connectivity.eligibility.EndpointReferenceTypeEnum | read-only | Endpoint reference type — one of `address`, `building`, `hexacle`, `lineNumber`, `otp` |
| `offers` | connectivity.eligibility.Offer[] | read-only | Offers information |
| `offers[].eligibility` | connectivity.eligibility.OfferEligibility | read-only | Offer eligibility |
| `offers[].eligibility.activationTypes` | connectivity.eligibility.ActivationTypeEnum[] | read-only | Activation type list, for copper only |
| `offers[].eligibility.eligible` | boolean | read-only | Is the endpoint eligible to this offer ? |
| `offers[].eligibility.estimatedDownloadRate` | number | read-only | Estimated download rate, for copper and non guaranteed offers only |
| `offers[].eligibility.estimatedUploadRate` | number | read-only | Estimated upload rate, for copper and non guaranteed offers only |
| `offers[].eligibility.multiOtp` | boolean | read-only | Is eligible to multiple Optical Termination Points (OTP) ? For fiber only |
| `offers[].eligibility.reasons` | connectivity.eligibility.Message[] | read-only | Reasons when not eligible, if any |
| `offers[].eligibility.underConditions` | connectivity.eligibility.Message[] | read-only | Warnings to consider when eligible, if any |
| `offers[].product` | connectivity.eligibility.OfferProduct | read-only | Offer product |
| `offers[].product.code` | string | read-only | Product code, an unique identifier for the product |
| `offers[].product.downloadRate` | number | read-only | Download rate in Mb |
| `offers[].product.grt` | string[] | read-only | GRT (Guaranteed Restoration Time) available list |
| `offers[].product.guaranteed` | boolean | read-only | Is the rates guaranteed ? |
| `offers[].product.name` | string | read-only | Name |
| `offers[].product.operator` | string | read-only | Offer product provider |
| `offers[].product.pairs` | integer | read-only | Number of copper pairs required, for copper only |
| `offers[].product.provider` | string | read-only | Offer product provider |
| `offers[].product.type` | connectivity.eligibility.OfferProductTypeEnum | read-only | Offer product type — one of `ADSL`, `FTTE`, `FTTH`, `FTTO`, `SDSL`, `VDSL` |
| `offers[].product.unbundlingType` | connectivity.eligibility.OfferProductUnbundlingTypeEnum | read-only | Offer product unbundling type — one of `full`, `partial` |
| `offers[].product.uploadRate` | number | read-only | Upload rate in Mb |

```json
{
  "eligibilityReference": "string",
  "endpoint": {
    "address": {
      "building": "string",
      "city": "string",
      "door": "string",
      "floor": "string",
      "housingComplex": "string",
      "inseeCode": "string",
      "ownerName": "string",
      "stairs": "string",
      "streetCode": "string",
      "streetName": "string",
      "streetNumber": "string",
      "zipCode": "string"
    },
    "copperInfo": {
      "availablePairs": 0,
      "maxAvailablePairs": 0,
      "nra": "string",
      "sectionsLengths": [
        {
          "diameter": 0,
          "length": 0
        }
      ],
      "status": "active",
      "underConstruction": true,
      "unlistedNumber": true
    },
    "fiberInfo": {
      "buildingName": "string",
      "buildingReference": "string",
      "buildingType": "BUILDING",
      "latitude": "string",
      "longitude": "string",
      "nro": "string",
      "operatorCode": "string",
      "operatorName": "string",
      "pmReference": "string"
    },
    "portability": {
      "eligibility": {
        "eligible": true,
        "reasons": [
          {
            "availabilityDate": "2024-01-01T12:00:00Z",
            "code": "2006",
            "message": "string"
          }
        ],
        "underConditions": [
          {
            "availabilityDate": "2024-01-01T12:00:00Z",
            "code": "2006",
            "message": "string"
          }
        ]
      },
      "quarantineEndDate": "2024-01-01T12:00:00Z",
      "type": "portin"
    },
    "reference": "string",
    "referenceType": "address"
  },
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/connectivity/eligibility/test" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/connectivity/eligibility/test")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/connectivity/eligibility/test");

print_r($result);
?>
```

## Test the eligibility of an address

`POST /1.0/connectivity/eligibility/test/address`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/#testAddressEligibility

**Status:** Stable production version  
**Authentication:** none (public operation)

Starts an eligibility test on an address, given by its street code and street number or by its Hexacle. Get them with the search/streets and search/streetNumbers/details calls. Returns an asynchronous task, pending until its result holds the eligibility reference, the endpoint and the eligible offers.

### Request body (required)

Type: `connectivity.eligibility.test.address.post`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `hexacle` | string |  | A Hexacle is a French unique identifier of the address |
| `productFamily` | connectivity.eligibility.ProductFamilyEnum |  | Product family to scope eligibility (defaults to ISP) — one of `ISP`, `OCC` |
| `streetAltCode` | string |  | A possible alternative identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) |
| `streetCode` | string |  | Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) |
| `streetNumber` | string |  | Street number |

```json
{
  "hexacle": "string",
  "productFamily": "ISP",
  "streetAltCode": "string",
  "streetCode": "string",
  "streetNumber": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.AsyncTask_connectivity.eligibility.EligibilityTest | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | read-only |  |
| `result` | connectivity.eligibility.EligibilityTest | read-only | Eligibility test results |
| `result.eligibilityReference` | string | read-only | Eligibility unique reference |
| `result.endpoint` | connectivity.eligibility.Endpoint | read-only | Endpoint information |
| `result.endpoint.address` | connectivity.eligibility.Address | read-only | Address |
| `result.endpoint.copperInfo` | connectivity.eligibility.CopperInfo | read-only | Copper information |
| `result.endpoint.fiberInfo` | connectivity.eligibility.FiberInfo | read-only | Fiber information |
| `result.endpoint.portability` | connectivity.eligibility.Portability | read-only | Portability details of the line number |
| `result.endpoint.reference` | string | read-only | Reference of the endpoint |
| `result.endpoint.referenceType` | connectivity.eligibility.EndpointReferenceTypeEnum | read-only | Endpoint reference type — one of `address`, `building`, `hexacle`, `lineNumber`, `otp` |
| `result.offers` | connectivity.eligibility.Offer[] | read-only | Offers information |
| `result.offers[].eligibility` | connectivity.eligibility.OfferEligibility | read-only | Offer eligibility |
| `result.offers[].product` | connectivity.eligibility.OfferProduct | read-only | Offer product |
| `status` | xdsl.AsyncTaskStatusEnum | read-only | AsyncTask status — one of `error`, `ok`, `pending` |

```json
{
  "error": "string",
  "result": {
    "eligibilityReference": "string",
    "endpoint": {
      "address": {
        "building": "string",
        "city": "string",
        "door": "string",
        "floor": "string",
        "housingComplex": "string",
        "inseeCode": "string",
        "ownerName": "string",
        "stairs": "string",
        "streetCode": "string",
        "streetName": "string",
        "streetNumber": "string",
        "zipCode": "string"
      },
      "copperInfo": {
        "availablePairs": 0,
        "maxAvailablePairs": 0,
        "nra": "string",
        "sectionsLengths": [
          {
            "diameter": 0,
            "length": 0
          }
        ],
        "status": "active",
        "underConstruction": true,
        "unlistedNumber": true
      },
      "fiberInfo": {
        "buildingName": "string",
        "buildingReference": "string",
        "buildingType": "BUILDING",
        "latitude": "string",
        "longitude": "string",
        "nro": "string",
        "operatorCode": "string",
        "operatorName": "string",
        "pmReference": "string"
      },
      "portability": {
        "eligibility": {
          "eligible": true,
          "reasons": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ],
          "underConditions": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ]
        },
  …
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/connectivity/eligibility/test/address" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: connectivity.eligibility.test.address.post
result = client.post("/connectivity/eligibility/test/address",
	hexacle = None, # A Hexacle is a French unique identifier of the address (type: string)
	productFamily = None, # Product family to scope eligibility (defaults to ISP) (type: connectivity.eligibility.ProductFamilyEnum)
	streetAltCode = None, # A possible alternative identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetCode = None, # Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetNumber = None, # Street number (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: connectivity.eligibility.test.address.post
$result = $ovh->post("/connectivity/eligibility/test/address", array(
	hexacle => null, // A Hexacle is a French unique identifier of the address (type: string)
	productFamily => null, // Product family to scope eligibility (defaults to ISP) (type: connectivity.eligibility.ProductFamilyEnum)
	streetAltCode => null, // A possible alternative identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetCode => null, // Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetNumber => null, // Street number (type: string)
));

print_r($result);
?>
```

## Test the eligibility of an address for a partner

`POST /1.0/connectivity/eligibility/test/address/partners`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/#testPartnersAddressEligibility

**Status:** Stable production version  
**IAM actions:** `account:apiovh:connectivity/eligibility/test/address/partners/create`

Starts an eligibility test on an address, given by its street code and street number or by its Hexacle. Reserved for partners. Returns an asynchronous task, pending until its result holds the eligibility reference, the endpoint and the eligible offers.

### Request body (required)

Type: `connectivity.eligibility.test.address.partners.post`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `hexacle` | string |  | A Hexacle is a French unique identifier of the address |
| `productFamily` | connectivity.eligibility.ProductFamilyEnum |  | Product family to scope eligibility (defaults to ISP) — one of `ISP`, `OCC` |
| `streetAltCode` | string |  | A possible alternative identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) |
| `streetCode` | string |  | Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) |
| `streetNumber` | string |  | Street number |

```json
{
  "hexacle": "string",
  "productFamily": "ISP",
  "streetAltCode": "string",
  "streetCode": "string",
  "streetNumber": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.AsyncTask_connectivity.eligibility.EligibilityTest | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | read-only |  |
| `result` | connectivity.eligibility.EligibilityTest | read-only | Eligibility test results |
| `result.eligibilityReference` | string | read-only | Eligibility unique reference |
| `result.endpoint` | connectivity.eligibility.Endpoint | read-only | Endpoint information |
| `result.endpoint.address` | connectivity.eligibility.Address | read-only | Address |
| `result.endpoint.copperInfo` | connectivity.eligibility.CopperInfo | read-only | Copper information |
| `result.endpoint.fiberInfo` | connectivity.eligibility.FiberInfo | read-only | Fiber information |
| `result.endpoint.portability` | connectivity.eligibility.Portability | read-only | Portability details of the line number |
| `result.endpoint.reference` | string | read-only | Reference of the endpoint |
| `result.endpoint.referenceType` | connectivity.eligibility.EndpointReferenceTypeEnum | read-only | Endpoint reference type — one of `address`, `building`, `hexacle`, `lineNumber`, `otp` |
| `result.offers` | connectivity.eligibility.Offer[] | read-only | Offers information |
| `result.offers[].eligibility` | connectivity.eligibility.OfferEligibility | read-only | Offer eligibility |
| `result.offers[].product` | connectivity.eligibility.OfferProduct | read-only | Offer product |
| `status` | xdsl.AsyncTaskStatusEnum | read-only | AsyncTask status — one of `error`, `ok`, `pending` |

```json
{
  "error": "string",
  "result": {
    "eligibilityReference": "string",
    "endpoint": {
      "address": {
        "building": "string",
        "city": "string",
        "door": "string",
        "floor": "string",
        "housingComplex": "string",
        "inseeCode": "string",
        "ownerName": "string",
        "stairs": "string",
        "streetCode": "string",
        "streetName": "string",
        "streetNumber": "string",
        "zipCode": "string"
      },
      "copperInfo": {
        "availablePairs": 0,
        "maxAvailablePairs": 0,
        "nra": "string",
        "sectionsLengths": [
          {
            "diameter": 0,
            "length": 0
          }
        ],
        "status": "active",
        "underConstruction": true,
        "unlistedNumber": true
      },
      "fiberInfo": {
        "buildingName": "string",
        "buildingReference": "string",
        "buildingType": "BUILDING",
        "latitude": "string",
        "longitude": "string",
        "nro": "string",
        "operatorCode": "string",
        "operatorName": "string",
        "pmReference": "string"
      },
      "portability": {
        "eligibility": {
          "eligible": true,
          "reasons": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ],
          "underConditions": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ]
        },
  …
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/connectivity/eligibility/test/address/partners" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: connectivity.eligibility.test.address.partners.post
result = client.post("/connectivity/eligibility/test/address/partners",
	hexacle = None, # A Hexacle is a French unique identifier of the address (type: string)
	productFamily = None, # Product family to scope eligibility (defaults to ISP) (type: connectivity.eligibility.ProductFamilyEnum)
	streetAltCode = None, # A possible alternative identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetCode = None, # Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetNumber = None, # Street number (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: connectivity.eligibility.test.address.partners.post
$result = $ovh->post("/connectivity/eligibility/test/address/partners", array(
	hexacle => null, // A Hexacle is a French unique identifier of the address (type: string)
	productFamily => null, // Product family to scope eligibility (defaults to ISP) (type: connectivity.eligibility.ProductFamilyEnum)
	streetAltCode => null, // A possible alternative identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetCode => null, // Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetNumber => null, // Street number (type: string)
));

print_r($result);
?>
```

## Test the eligibility of a building

`POST /1.0/connectivity/eligibility/test/building`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/#testBuildingEligibility

**Status:** Stable production version  
**Authentication:** none (public operation)

Starts an eligibility test on a building, for fiber only. Get the building identifier with the search/buildings calls. Set productFamily to scope the test (ISP by default). Returns an asynchronous task, pending until its result holds the eligibility reference, the endpoint and the eligible offers.

### Request body (required)

Type: `connectivity.eligibility.test.building.post`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `building` | string | yes | Building identifier, that can be found using /connectivity/eligibility/search/building* methods |
| `productFamily` | connectivity.eligibility.ProductFamilyEnum |  | Product family to scope eligibility (defaults to ISP) — one of `ISP`, `OCC` |

```json
{
  "building": "string",
  "productFamily": "ISP"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.AsyncTask_connectivity.eligibility.EligibilityTest | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | read-only |  |
| `result` | connectivity.eligibility.EligibilityTest | read-only | Eligibility test results |
| `result.eligibilityReference` | string | read-only | Eligibility unique reference |
| `result.endpoint` | connectivity.eligibility.Endpoint | read-only | Endpoint information |
| `result.endpoint.address` | connectivity.eligibility.Address | read-only | Address |
| `result.endpoint.copperInfo` | connectivity.eligibility.CopperInfo | read-only | Copper information |
| `result.endpoint.fiberInfo` | connectivity.eligibility.FiberInfo | read-only | Fiber information |
| `result.endpoint.portability` | connectivity.eligibility.Portability | read-only | Portability details of the line number |
| `result.endpoint.reference` | string | read-only | Reference of the endpoint |
| `result.endpoint.referenceType` | connectivity.eligibility.EndpointReferenceTypeEnum | read-only | Endpoint reference type — one of `address`, `building`, `hexacle`, `lineNumber`, `otp` |
| `result.offers` | connectivity.eligibility.Offer[] | read-only | Offers information |
| `result.offers[].eligibility` | connectivity.eligibility.OfferEligibility | read-only | Offer eligibility |
| `result.offers[].product` | connectivity.eligibility.OfferProduct | read-only | Offer product |
| `status` | xdsl.AsyncTaskStatusEnum | read-only | AsyncTask status — one of `error`, `ok`, `pending` |

```json
{
  "error": "string",
  "result": {
    "eligibilityReference": "string",
    "endpoint": {
      "address": {
        "building": "string",
        "city": "string",
        "door": "string",
        "floor": "string",
        "housingComplex": "string",
        "inseeCode": "string",
        "ownerName": "string",
        "stairs": "string",
        "streetCode": "string",
        "streetName": "string",
        "streetNumber": "string",
        "zipCode": "string"
      },
      "copperInfo": {
        "availablePairs": 0,
        "maxAvailablePairs": 0,
        "nra": "string",
        "sectionsLengths": [
          {
            "diameter": 0,
            "length": 0
          }
        ],
        "status": "active",
        "underConstruction": true,
        "unlistedNumber": true
      },
      "fiberInfo": {
        "buildingName": "string",
        "buildingReference": "string",
        "buildingType": "BUILDING",
        "latitude": "string",
        "longitude": "string",
        "nro": "string",
        "operatorCode": "string",
        "operatorName": "string",
        "pmReference": "string"
      },
      "portability": {
        "eligibility": {
          "eligible": true,
          "reasons": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ],
          "underConditions": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ]
        },
  …
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/connectivity/eligibility/test/building" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: connectivity.eligibility.test.building.post
result = client.post("/connectivity/eligibility/test/building",
	building = None, # Building identifier, that can be found using /connectivity/eligibility/search/building* methods (type: string)
	productFamily = None, # Product family to scope eligibility (defaults to ISP) (type: connectivity.eligibility.ProductFamilyEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: connectivity.eligibility.test.building.post
$result = $ovh->post("/connectivity/eligibility/test/building", array(
	building => null, // Building identifier, that can be found using /connectivity/eligibility/search/building* methods (type: string)
	productFamily => null, // Product family to scope eligibility (defaults to ISP) (type: connectivity.eligibility.ProductFamilyEnum)
));

print_r($result);
?>
```

## Test the eligibility of a building for a partner

`POST /1.0/connectivity/eligibility/test/building/partners`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/#testPartnersBuildingEligibility

**Status:** Stable production version  
**IAM actions:** `account:apiovh:connectivity/eligibility/test/building/partners/create`

Starts an eligibility test on a building, for fiber only. Reserved for partners. Get the building identifier with the search/buildings calls. Returns an asynchronous task, pending until its result holds the eligibility reference, the endpoint and the eligible offers.

### Request body (required)

Type: `connectivity.eligibility.test.building.partners.post`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `building` | string | yes | Building identifier, that can be found using /connectivity/eligibility/search/building* methods |
| `productFamily` | connectivity.eligibility.ProductFamilyEnum |  | Product family to scope eligibility (defaults to ISP) — one of `ISP`, `OCC` |

```json
{
  "building": "string",
  "productFamily": "ISP"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.AsyncTask_connectivity.eligibility.EligibilityTest | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | read-only |  |
| `result` | connectivity.eligibility.EligibilityTest | read-only | Eligibility test results |
| `result.eligibilityReference` | string | read-only | Eligibility unique reference |
| `result.endpoint` | connectivity.eligibility.Endpoint | read-only | Endpoint information |
| `result.endpoint.address` | connectivity.eligibility.Address | read-only | Address |
| `result.endpoint.copperInfo` | connectivity.eligibility.CopperInfo | read-only | Copper information |
| `result.endpoint.fiberInfo` | connectivity.eligibility.FiberInfo | read-only | Fiber information |
| `result.endpoint.portability` | connectivity.eligibility.Portability | read-only | Portability details of the line number |
| `result.endpoint.reference` | string | read-only | Reference of the endpoint |
| `result.endpoint.referenceType` | connectivity.eligibility.EndpointReferenceTypeEnum | read-only | Endpoint reference type — one of `address`, `building`, `hexacle`, `lineNumber`, `otp` |
| `result.offers` | connectivity.eligibility.Offer[] | read-only | Offers information |
| `result.offers[].eligibility` | connectivity.eligibility.OfferEligibility | read-only | Offer eligibility |
| `result.offers[].product` | connectivity.eligibility.OfferProduct | read-only | Offer product |
| `status` | xdsl.AsyncTaskStatusEnum | read-only | AsyncTask status — one of `error`, `ok`, `pending` |

```json
{
  "error": "string",
  "result": {
    "eligibilityReference": "string",
    "endpoint": {
      "address": {
        "building": "string",
        "city": "string",
        "door": "string",
        "floor": "string",
        "housingComplex": "string",
        "inseeCode": "string",
        "ownerName": "string",
        "stairs": "string",
        "streetCode": "string",
        "streetName": "string",
        "streetNumber": "string",
        "zipCode": "string"
      },
      "copperInfo": {
        "availablePairs": 0,
        "maxAvailablePairs": 0,
        "nra": "string",
        "sectionsLengths": [
          {
            "diameter": 0,
            "length": 0
          }
        ],
        "status": "active",
        "underConstruction": true,
        "unlistedNumber": true
      },
      "fiberInfo": {
        "buildingName": "string",
        "buildingReference": "string",
        "buildingType": "BUILDING",
        "latitude": "string",
        "longitude": "string",
        "nro": "string",
        "operatorCode": "string",
        "operatorName": "string",
        "pmReference": "string"
      },
      "portability": {
        "eligibility": {
          "eligible": true,
          "reasons": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ],
          "underConditions": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ]
        },
  …
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/connectivity/eligibility/test/building/partners" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: connectivity.eligibility.test.building.partners.post
result = client.post("/connectivity/eligibility/test/building/partners",
	building = None, # Building identifier, that can be found using /connectivity/eligibility/search/building* methods (type: string)
	productFamily = None, # Product family to scope eligibility (defaults to ISP) (type: connectivity.eligibility.ProductFamilyEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: connectivity.eligibility.test.building.partners.post
$result = $ovh->post("/connectivity/eligibility/test/building/partners", array(
	building => null, // Building identifier, that can be found using /connectivity/eligibility/search/building* methods (type: string)
	productFamily => null, // Product family to scope eligibility (defaults to ISP) (type: connectivity.eligibility.ProductFamilyEnum)
));

print_r($result);
?>
```

## Test the eligibility of a copper line

`POST /1.0/connectivity/eligibility/test/line`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/#testLineEligibility

**Status:** Stable production version  
**Authentication:** none (public operation)

Starts an eligibility test on a line number, for copper only. Returns an asynchronous task, pending until its result holds the eligibility reference, the endpoint and the eligible offers.

### Request body (required)

Type: `connectivity.eligibility.test.line.post`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `lineNumber` | string | yes | Line number |
| `status` | connectivity.eligibility.LineStatusEnum | yes | Line status — one of `active`, `inactive` |
| `streetCode` | string |  | Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) |
| `streetNumber` | string |  | Street number |

```json
{
  "lineNumber": "string",
  "status": "active",
  "streetCode": "string",
  "streetNumber": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.AsyncTask_connectivity.eligibility.EligibilityTest | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | read-only |  |
| `result` | connectivity.eligibility.EligibilityTest | read-only | Eligibility test results |
| `result.eligibilityReference` | string | read-only | Eligibility unique reference |
| `result.endpoint` | connectivity.eligibility.Endpoint | read-only | Endpoint information |
| `result.endpoint.address` | connectivity.eligibility.Address | read-only | Address |
| `result.endpoint.copperInfo` | connectivity.eligibility.CopperInfo | read-only | Copper information |
| `result.endpoint.fiberInfo` | connectivity.eligibility.FiberInfo | read-only | Fiber information |
| `result.endpoint.portability` | connectivity.eligibility.Portability | read-only | Portability details of the line number |
| `result.endpoint.reference` | string | read-only | Reference of the endpoint |
| `result.endpoint.referenceType` | connectivity.eligibility.EndpointReferenceTypeEnum | read-only | Endpoint reference type — one of `address`, `building`, `hexacle`, `lineNumber`, `otp` |
| `result.offers` | connectivity.eligibility.Offer[] | read-only | Offers information |
| `result.offers[].eligibility` | connectivity.eligibility.OfferEligibility | read-only | Offer eligibility |
| `result.offers[].product` | connectivity.eligibility.OfferProduct | read-only | Offer product |
| `status` | xdsl.AsyncTaskStatusEnum | read-only | AsyncTask status — one of `error`, `ok`, `pending` |

```json
{
  "error": "string",
  "result": {
    "eligibilityReference": "string",
    "endpoint": {
      "address": {
        "building": "string",
        "city": "string",
        "door": "string",
        "floor": "string",
        "housingComplex": "string",
        "inseeCode": "string",
        "ownerName": "string",
        "stairs": "string",
        "streetCode": "string",
        "streetName": "string",
        "streetNumber": "string",
        "zipCode": "string"
      },
      "copperInfo": {
        "availablePairs": 0,
        "maxAvailablePairs": 0,
        "nra": "string",
        "sectionsLengths": [
          {
            "diameter": 0,
            "length": 0
          }
        ],
        "status": "active",
        "underConstruction": true,
        "unlistedNumber": true
      },
      "fiberInfo": {
        "buildingName": "string",
        "buildingReference": "string",
        "buildingType": "BUILDING",
        "latitude": "string",
        "longitude": "string",
        "nro": "string",
        "operatorCode": "string",
        "operatorName": "string",
        "pmReference": "string"
      },
      "portability": {
        "eligibility": {
          "eligible": true,
          "reasons": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ],
          "underConditions": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ]
        },
  …
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/connectivity/eligibility/test/line" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: connectivity.eligibility.test.line.post
result = client.post("/connectivity/eligibility/test/line",
	lineNumber = None, # Line number (type: string)
	status = None, # Line status (type: connectivity.eligibility.LineStatusEnum)
	streetCode = None, # Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetNumber = None, # Street number (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: connectivity.eligibility.test.line.post
$result = $ovh->post("/connectivity/eligibility/test/line", array(
	lineNumber => null, // Line number (type: string)
	status => null, // Line status (type: connectivity.eligibility.LineStatusEnum)
	streetCode => null, // Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetNumber => null, // Street number (type: string)
));

print_r($result);
?>
```

## Test the eligibility of a copper line for a partner

`POST /1.0/connectivity/eligibility/test/line/partners`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/#testPartnersLineEligibility

**Status:** Stable production version  
**IAM actions:** `account:apiovh:connectivity/eligibility/test/line/partners/create`

Starts an eligibility test on a line number, for copper only. Reserved for partners. Returns an asynchronous task, pending until its result holds the eligibility reference, the endpoint and the eligible offers.

### Request body (required)

Type: `connectivity.eligibility.test.line.partners.post`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `lineNumber` | string | yes | Line number |
| `status` | connectivity.eligibility.LineStatusEnum | yes | Line status — one of `active`, `inactive` |
| `streetCode` | string |  | Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) |
| `streetNumber` | string |  | Street number |

```json
{
  "lineNumber": "string",
  "status": "active",
  "streetCode": "string",
  "streetNumber": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.AsyncTask_connectivity.eligibility.EligibilityTest | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | read-only |  |
| `result` | connectivity.eligibility.EligibilityTest | read-only | Eligibility test results |
| `result.eligibilityReference` | string | read-only | Eligibility unique reference |
| `result.endpoint` | connectivity.eligibility.Endpoint | read-only | Endpoint information |
| `result.endpoint.address` | connectivity.eligibility.Address | read-only | Address |
| `result.endpoint.copperInfo` | connectivity.eligibility.CopperInfo | read-only | Copper information |
| `result.endpoint.fiberInfo` | connectivity.eligibility.FiberInfo | read-only | Fiber information |
| `result.endpoint.portability` | connectivity.eligibility.Portability | read-only | Portability details of the line number |
| `result.endpoint.reference` | string | read-only | Reference of the endpoint |
| `result.endpoint.referenceType` | connectivity.eligibility.EndpointReferenceTypeEnum | read-only | Endpoint reference type — one of `address`, `building`, `hexacle`, `lineNumber`, `otp` |
| `result.offers` | connectivity.eligibility.Offer[] | read-only | Offers information |
| `result.offers[].eligibility` | connectivity.eligibility.OfferEligibility | read-only | Offer eligibility |
| `result.offers[].product` | connectivity.eligibility.OfferProduct | read-only | Offer product |
| `status` | xdsl.AsyncTaskStatusEnum | read-only | AsyncTask status — one of `error`, `ok`, `pending` |

```json
{
  "error": "string",
  "result": {
    "eligibilityReference": "string",
    "endpoint": {
      "address": {
        "building": "string",
        "city": "string",
        "door": "string",
        "floor": "string",
        "housingComplex": "string",
        "inseeCode": "string",
        "ownerName": "string",
        "stairs": "string",
        "streetCode": "string",
        "streetName": "string",
        "streetNumber": "string",
        "zipCode": "string"
      },
      "copperInfo": {
        "availablePairs": 0,
        "maxAvailablePairs": 0,
        "nra": "string",
        "sectionsLengths": [
          {
            "diameter": 0,
            "length": 0
          }
        ],
        "status": "active",
        "underConstruction": true,
        "unlistedNumber": true
      },
      "fiberInfo": {
        "buildingName": "string",
        "buildingReference": "string",
        "buildingType": "BUILDING",
        "latitude": "string",
        "longitude": "string",
        "nro": "string",
        "operatorCode": "string",
        "operatorName": "string",
        "pmReference": "string"
      },
      "portability": {
        "eligibility": {
          "eligible": true,
          "reasons": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ],
          "underConditions": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ]
        },
  …
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/connectivity/eligibility/test/line/partners" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: connectivity.eligibility.test.line.partners.post
result = client.post("/connectivity/eligibility/test/line/partners",
	lineNumber = None, # Line number (type: string)
	status = None, # Line status (type: connectivity.eligibility.LineStatusEnum)
	streetCode = None, # Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetNumber = None, # Street number (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: connectivity.eligibility.test.line.partners.post
$result = $ovh->post("/connectivity/eligibility/test/line/partners", array(
	lineNumber => null, // Line number (type: string)
	status => null, // Line status (type: connectivity.eligibility.LineStatusEnum)
	streetCode => null, // Unique identifier of the street (you can get it with POST /connectivity/eligibility/search/streets) (type: string)
	streetNumber => null, // Street number (type: string)
));

print_r($result);
?>
```

## Test the eligibility of an OTP

`POST /1.0/connectivity/eligibility/test/otp`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/#testOTPEligibility

**Status:** Stable production version  
**Authentication:** none (public operation)

Starts an eligibility test on an Optical Termination Panel (OTP) identifier, for fiber only. Returns an asynchronous task, pending until its result holds the eligibility reference, the endpoint and the eligible offers.

### Request body (required)

Type: `connectivity.eligibility.test.otp.post`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `otp` | string | yes | OTP (Optical Termination Panel) identifier |

```json
{
  "otp": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.AsyncTask_connectivity.eligibility.EligibilityTest | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | read-only |  |
| `result` | connectivity.eligibility.EligibilityTest | read-only | Eligibility test results |
| `result.eligibilityReference` | string | read-only | Eligibility unique reference |
| `result.endpoint` | connectivity.eligibility.Endpoint | read-only | Endpoint information |
| `result.endpoint.address` | connectivity.eligibility.Address | read-only | Address |
| `result.endpoint.copperInfo` | connectivity.eligibility.CopperInfo | read-only | Copper information |
| `result.endpoint.fiberInfo` | connectivity.eligibility.FiberInfo | read-only | Fiber information |
| `result.endpoint.portability` | connectivity.eligibility.Portability | read-only | Portability details of the line number |
| `result.endpoint.reference` | string | read-only | Reference of the endpoint |
| `result.endpoint.referenceType` | connectivity.eligibility.EndpointReferenceTypeEnum | read-only | Endpoint reference type — one of `address`, `building`, `hexacle`, `lineNumber`, `otp` |
| `result.offers` | connectivity.eligibility.Offer[] | read-only | Offers information |
| `result.offers[].eligibility` | connectivity.eligibility.OfferEligibility | read-only | Offer eligibility |
| `result.offers[].product` | connectivity.eligibility.OfferProduct | read-only | Offer product |
| `status` | xdsl.AsyncTaskStatusEnum | read-only | AsyncTask status — one of `error`, `ok`, `pending` |

```json
{
  "error": "string",
  "result": {
    "eligibilityReference": "string",
    "endpoint": {
      "address": {
        "building": "string",
        "city": "string",
        "door": "string",
        "floor": "string",
        "housingComplex": "string",
        "inseeCode": "string",
        "ownerName": "string",
        "stairs": "string",
        "streetCode": "string",
        "streetName": "string",
        "streetNumber": "string",
        "zipCode": "string"
      },
      "copperInfo": {
        "availablePairs": 0,
        "maxAvailablePairs": 0,
        "nra": "string",
        "sectionsLengths": [
          {
            "diameter": 0,
            "length": 0
          }
        ],
        "status": "active",
        "underConstruction": true,
        "unlistedNumber": true
      },
      "fiberInfo": {
        "buildingName": "string",
        "buildingReference": "string",
        "buildingType": "BUILDING",
        "latitude": "string",
        "longitude": "string",
        "nro": "string",
        "operatorCode": "string",
        "operatorName": "string",
        "pmReference": "string"
      },
      "portability": {
        "eligibility": {
          "eligible": true,
          "reasons": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ],
          "underConditions": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ]
        },
  …
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/connectivity/eligibility/test/otp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: connectivity.eligibility.test.otp.post
result = client.post("/connectivity/eligibility/test/otp",
	otp = None, # OTP (Optical Termination Panel) identifier (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: connectivity.eligibility.test.otp.post
$result = $ovh->post("/connectivity/eligibility/test/otp", array(
	otp => null, // OTP (Optical Termination Panel) identifier (type: string)
));

print_r($result);
?>
```

## Test the eligibility of an OTP for a partner

`POST /1.0/connectivity/eligibility/test/otp/partners`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/eligibility/test/#testPartnersOtpEligibility

**Status:** Stable production version  
**IAM actions:** `account:apiovh:connectivity/eligibility/test/otp/partners/create`

Starts an eligibility test on an Optical Termination Panel (OTP) identifier, for fiber only. Reserved for partners. Returns an asynchronous task, pending until its result holds the eligibility reference, the endpoint and the eligible offers.

### Request body (required)

Type: `connectivity.eligibility.test.otp.partners.post`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `otp` | string | yes | OTP (Optical Termination Panel) identifier |

```json
{
  "otp": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.AsyncTask_connectivity.eligibility.EligibilityTest | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | read-only |  |
| `result` | connectivity.eligibility.EligibilityTest | read-only | Eligibility test results |
| `result.eligibilityReference` | string | read-only | Eligibility unique reference |
| `result.endpoint` | connectivity.eligibility.Endpoint | read-only | Endpoint information |
| `result.endpoint.address` | connectivity.eligibility.Address | read-only | Address |
| `result.endpoint.copperInfo` | connectivity.eligibility.CopperInfo | read-only | Copper information |
| `result.endpoint.fiberInfo` | connectivity.eligibility.FiberInfo | read-only | Fiber information |
| `result.endpoint.portability` | connectivity.eligibility.Portability | read-only | Portability details of the line number |
| `result.endpoint.reference` | string | read-only | Reference of the endpoint |
| `result.endpoint.referenceType` | connectivity.eligibility.EndpointReferenceTypeEnum | read-only | Endpoint reference type — one of `address`, `building`, `hexacle`, `lineNumber`, `otp` |
| `result.offers` | connectivity.eligibility.Offer[] | read-only | Offers information |
| `result.offers[].eligibility` | connectivity.eligibility.OfferEligibility | read-only | Offer eligibility |
| `result.offers[].product` | connectivity.eligibility.OfferProduct | read-only | Offer product |
| `status` | xdsl.AsyncTaskStatusEnum | read-only | AsyncTask status — one of `error`, `ok`, `pending` |

```json
{
  "error": "string",
  "result": {
    "eligibilityReference": "string",
    "endpoint": {
      "address": {
        "building": "string",
        "city": "string",
        "door": "string",
        "floor": "string",
        "housingComplex": "string",
        "inseeCode": "string",
        "ownerName": "string",
        "stairs": "string",
        "streetCode": "string",
        "streetName": "string",
        "streetNumber": "string",
        "zipCode": "string"
      },
      "copperInfo": {
        "availablePairs": 0,
        "maxAvailablePairs": 0,
        "nra": "string",
        "sectionsLengths": [
          {
            "diameter": 0,
            "length": 0
          }
        ],
        "status": "active",
        "underConstruction": true,
        "unlistedNumber": true
      },
      "fiberInfo": {
        "buildingName": "string",
        "buildingReference": "string",
        "buildingType": "BUILDING",
        "latitude": "string",
        "longitude": "string",
        "nro": "string",
        "operatorCode": "string",
        "operatorName": "string",
        "pmReference": "string"
      },
      "portability": {
        "eligibility": {
          "eligible": true,
          "reasons": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ],
          "underConditions": [
            {
              "availabilityDate": null,
              "code": null,
              "message": null
            }
          ]
        },
  …
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/connectivity/eligibility/test/otp/partners" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: connectivity.eligibility.test.otp.partners.post
result = client.post("/connectivity/eligibility/test/otp/partners",
	otp = None, # OTP (Optical Termination Panel) identifier (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: connectivity.eligibility.test.otp.partners.post
$result = $ovh->post("/connectivity/eligibility/test/otp/partners", array(
	otp => null, // OTP (Optical Termination Panel) identifier (type: string)
));

print_r($result);
?>
```
