Objective
The APIs available on https://api.us.ovhcloud.com/ allow you to purchase, manage, update and configure OVHcloud products without using a graphical interface such as the Control Panel.
Learn how to use OVHcloud APIs and how to pair them with your applications.
Requirements
-
You have an active OVHcloud account and know its credentials.
-
You are on the OVHcloud API web page.
Instructions
OVHcloud is providing you with services for which you are responsible, with regard to their configuration and management. You are therefore responsible for ensuring they function correctly.
Simple Use
Sign in to OVHcloud APIs
On the OVHcloud API page, click Explore the OVHcloud API
to view the list of APIs.
To use the APIs on your products, you must sign in to this site using your OVHcloud credentials.
- Click
Login
in the upper right. - Enter your OVHcloud credentials.
- Set the validity time for the login
If your OVHcloud account is protected by two-factor authentication, you will also need to enter the code generated by SMS or OTP mobile application or U2F key.
Explore available products on APIs
Once logged in, you will see a list of OVHcloud products that can be managed with APIs. This list is sorted alphabetically.
For example, to view the domain name APIs, click /domain in the list.
After you click the product, a list of the product’s APIs appears below.
Run API
There are four types of APIs available that use what are called HTTP methods:
GET
The GET method is used to retrieve data from a resource.
For example, to retrieve a list of your domain names, use the following API:
POST
The POST method is used to send additional data to the resource.
For example, to add a record to your DNS zone, use the following API:
PUT
The PUT method is used to replace the current data in the resource with the data in the query.
For example, if you have mistakenly set a record in your DNS zone, use the following API:
DELETE
The DELETE method is used to delete the called resource.
For example, if you do not want to keep the DNS record that you added to your DNS zone, use the following API:
API parameters
After you click the API you want, the Parameters section allows you to assign variables for its application.
For example, when adding a TXT record to your DNS zone, you will optimise the following settings:
Once you have set the parameters, you can launch the API by clicking Execute
.
The Result
tab displayed will give you the API execution report.
The PHP
and Python
tabs contain the elements to be added to your script according to the language used.
Advanced usage: pair OVHcloud APIs with an application
Create your app keys
Any application that wants to communicate with the OVHcloud API must be declared in advance.
To do this, click the following link: https://api.us.ovhcloud.com/createToken/.
Fill in your OVHcloud customer ID, password, and application name. The name will be useful later if you want to allow others to use it.
You can also add a description of the application and a validity period.
The Rights
field allows you to restrict the use of the application to certain APIs.
In order to allow all OVHcloud APIs for an HTTP method, put an asterisk (*
) into the field, as in the following example where the GET method is allowed for all APIs:
After you click Create keys
, you will be issued three keys:
- the application key, called AK. For example:
7kbG7Bk7S9Nt7ZSV
- your secret application key, not to be disclosed, called AS. For example:
EXEgWIz07P0HYwtQDs7cNIqCiQaWSuHF
- a secret “consumer key“, not to be disclosed, called CK. For example:
MtSwSrPpNjqfVSmJhLbPyr2i45lSwPU1
In this case, the CK key is attached to your account.
The CK token can be used for rights delegation.
First API Usage
Once you have obtained your three keys (AK, AS, CK), you can sign API requests. The signature is calculated as follows:
"$1$" + SHA1_HEX(AS+"+"+CK+"+"+METHOD+"+"+QUERY+"+"+BODY+"+"+TSTAMP)
To simplify the development of your applications, OVHcloud provides API wrappers in multiple languages. Using them will help you to avoid worrying about signing requests, so that you can focus on developing your application.
- Perl : https://api.us.ovhcloud.com/wrappers/OvhApi-perl-1.1.zip
- Python : https://github.com/ovh/python-ovh
- PHP : https://github.com/ovh/php-ovh
- Node.js : https://github.com/ovh/node-ovh
- Swift : https://github.com/ovh/swift-ovh
- C# : https://github.com/ovh/csharp-ovh
Here is an example of how to use the /me
section to manage your OVHcloud account:
import ovh
# Instantiate. Visit https://ca.api.ovh.com/createToken/?GET=/me
# to get your credentials
client = ovh.Client(
endpoint='ovh-eu',
application_key='<application key>',
application_secret='<application secret>',
consumer_key='<consumer key>',
)
# Print nice welcome message
print("Welcome", client.get('/me')['firstname'])