{"openapi":"3.0.0","info":{"title":"OVHcloud API specification","description":"Specification for OVHcloud API","version":"1.0","contact":{"name":"OVH","email":"api@ml.ovh.net"}},"servers":[{"url":"https://api.eu.ovhcloud.com/v2"}],"components":{"schemas":{"any":{"description":"Can be anything (text, int, bool, json, html, etc.)","example":"This is a content of any type !"},"commercialCatalog.Blob":{"type":"object","description":"Describes additional information of an offer, kept for transition from legacy model","properties":{"content":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContent"}],"description":"Blob content","readOnly":true}}},"commercialCatalog.BlobContent":{"type":"object","description":"Describes blob content","properties":{"technical":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnical"}],"description":"Technical information","readOnly":true}}},"commercialCatalog.BlobContentTechnical":{"type":"object","description":"Hardware and capacity characteristics of a commercial offer. Every field is optional: only the ones that make sense for the kind of product being described are set.","properties":{"bandwidth":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalNetwork"}],"description":"Public network bandwidth included with the offer","nullable":true,"readOnly":true},"connection":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalConnection"}],"description":"Characteristics of the network link the product is delivered on","nullable":true,"readOnly":true},"connectionPerSeconds":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalPerSeconds"}],"description":"How many new connections per second the product is rated for","nullable":true,"readOnly":true},"cpu":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalCPU"}],"description":"Processor the product runs on: model, core count and frequency","nullable":true,"readOnly":true},"ephemeralLocalStorage":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalEphemeralStorage"}],"description":"Storage attached directly to the host, which does not survive the product being stopped or moved","nullable":true,"readOnly":true},"gpu":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalGPU"}],"description":"Graphics or compute accelerator included with the offer","nullable":true,"readOnly":true},"memory":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalMemory"}],"description":"Amount and type of RAM included with the offer","nullable":true,"readOnly":true},"name":{"type":"string","description":"Commercial name of the hardware configuration this describes","nullable":true,"readOnly":true},"nodes":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalNodes"}],"description":"How many nodes the offer is made of, for products delivered as a cluster","nullable":true,"readOnly":true},"nvme":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalNvme"}],"description":"NVMe storage included with the offer, when it is listed separately from the main disks","nullable":true,"readOnly":true},"os":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalOS"}],"description":"Operating system the product ships with","nullable":true,"readOnly":true},"requestPerSeconds":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalPerSeconds"}],"description":"How many requests per second the product is rated for","nullable":true,"readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalStorage"}],"description":"Disks included with the offer, and how they are arranged","nullable":true,"readOnly":true},"throughput":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalThroughput"}],"description":"Data throughput the product is rated for","nullable":true,"readOnly":true},"volume":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalVolume"}],"description":"Block storage volume included with the offer","nullable":true,"readOnly":true},"vrack":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalNetwork"}],"description":"Private network (vRack) bandwidth included with the offer","nullable":true,"readOnly":true}}},"commercialCatalog.BlobContentTechnicalCPU":{"type":"object","description":"Describes a CPU technical details","properties":{"brand":{"type":"string","description":"CPU Brand","nullable":true,"readOnly":true},"cores":{"type":"integer","description":"Number of cores","readOnly":true},"frequency":{"type":"number","description":"Frequency of CPU in GHz","nullable":true,"readOnly":true},"maxFrequency":{"type":"number","description":"Maximum frequency of CPU in GHz","nullable":true,"readOnly":true},"model":{"type":"string","description":"Displayable name","nullable":true,"readOnly":true},"threads":{"type":"integer","description":"Number of threads","nullable":true,"readOnly":true},"type":{"type":"string","description":"Type of CPU","nullable":true,"readOnly":true}}},"commercialCatalog.BlobContentTechnicalConnection":{"type":"object","description":"Describes connection information","properties":{"clients":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalConnectionClients"}],"description":"Connection information per client","readOnly":true},"total":{"type":"integer","description":"Total of allowed connections","readOnly":true}}},"commercialCatalog.BlobContentTechnicalConnectionClients":{"type":"object","description":"Describes connection information for concurrent clients","properties":{"concurrency":{"type":"integer","description":"Number of allowed concurrent clients","readOnly":true},"number":{"type":"integer","description":"Number of allowed concurrent connections per client","readOnly":true}}},"commercialCatalog.BlobContentTechnicalDisk":{"type":"object","description":"One kind of disk included with an offer","properties":{"capacity":{"type":"number","description":"Capacity of a single disk of this kind, counted in sizeUnit. Read it as gigabytes when sizeUnit is not set.","readOnly":true},"interface":{"type":"string","description":"How the disk is attached, for example SATA or NVMe. Null when the offer does not state it.","nullable":true,"readOnly":true},"iops":{"type":"integer","description":"Disk operations per second this kind of disk is rated for. Null when the offer does not state it.","nullable":true,"readOnly":true},"maximumCapacity":{"type":"number","description":"Largest capacity this kind of disk can be extended to, counted in sizeUnit. Null when it cannot be extended.","nullable":true,"readOnly":true},"number":{"type":"integer","description":"How many disks of this kind are included. Null when the offer does not state it.","nullable":true,"readOnly":true},"sizeUnit":{"type":"string","description":"Unit that capacity and maximumCapacity are expressed in. Null means gigabytes.","nullable":true,"readOnly":true},"technology":{"type":"string","description":"Storage technology of the disk, for example SSD or HDD. Null when the offer does not state it.","nullable":true,"readOnly":true}}},"commercialCatalog.BlobContentTechnicalEphemeralStorage":{"type":"object","description":"Describes ephemeral storage information","properties":{"disks":{"type":"array","description":"Disk properties","items":{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalDisk"},"readOnly":true}}},"commercialCatalog.BlobContentTechnicalGPU":{"type":"object","description":"Describes GPU information","properties":{"memory":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalMemory"}],"description":"GPU memory size","readOnly":true},"model":{"type":"string","description":"GPU model","readOnly":true},"number":{"type":"integer","description":"GPU number","readOnly":true},"performance":{"type":"number","description":"GPU performance","nullable":true,"readOnly":true}}},"commercialCatalog.BlobContentTechnicalMemory":{"type":"object","description":"Amount and type of RAM included with an offer","properties":{"interface":{"type":"string","description":"Memory technology used, for example DDR4 or DDR5. Null when the offer does not state it.","nullable":true,"readOnly":true},"size":{"type":"number","description":"How much RAM is included, counted in sizeUnit. Read it as gigabytes when sizeUnit is not set.","readOnly":true},"sizeUnit":{"type":"string","description":"Unit that size is expressed in. Null means gigabytes.","nullable":true,"readOnly":true}}},"commercialCatalog.BlobContentTechnicalNetwork":{"type":"object","description":"Network bandwidth included with an offer, whether public or private","properties":{"guaranteed":{"type":"boolean","description":"Whether the stated bandwidth is held under load, rather than reached only when capacity is free","nullable":true,"readOnly":true},"isMax":{"type":"boolean","description":"Whether level should be read as a ceiling the product may reach, rather than a rate it always gets","nullable":true,"readOnly":true},"level":{"type":"number","description":"Bandwidth included with the offer, counted in unit","nullable":true,"readOnly":true},"max":{"type":"number","description":"Highest bandwidth the product can reach in a burst, counted in maxUnit. Null when it cannot exceed level.","nullable":true,"readOnly":true},"maxUnit":{"type":"string","description":"Unit that max is expressed in","nullable":true,"readOnly":true},"unit":{"type":"string","description":"Unit that level is expressed in","nullable":true,"readOnly":true},"unlimited":{"type":"boolean","description":"Whether traffic is uncapped, so no volume limit applies however much is transferred","nullable":true,"readOnly":true}}},"commercialCatalog.BlobContentTechnicalNodes":{"type":"object","description":"Describes node information","properties":{"number":{"type":"integer","description":"Number of nodes","readOnly":true}}},"commercialCatalog.BlobContentTechnicalNvme":{"type":"object","description":"Describes NVME storage information","properties":{"disks":{"type":"array","description":"Disk properties","items":{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalDisk"},"readOnly":true}}},"commercialCatalog.BlobContentTechnicalOS":{"type":"object","description":"Operating system an offer ships with","properties":{"family":{"type":"string","description":"Operating system family installed on the product, for example Linux or Windows","readOnly":true}}},"commercialCatalog.BlobContentTechnicalPerSeconds":{"type":"object","description":"A per-second capacity figure of an offer, such as connections or requests it can serve","properties":{"total":{"type":"integer","description":"How many are handled per second, counted in unit","readOnly":true},"unit":{"type":"string","description":"Unit that total is expressed in","nullable":true,"readOnly":true}}},"commercialCatalog.BlobContentTechnicalStorage":{"type":"object","description":"Disks included with an offer, and how they are arranged","properties":{"disks":{"type":"array","description":"Each kind of disk included with the offer, with its capacity and technology","items":{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalDisk"},"readOnly":true},"raid":{"type":"string","description":"RAID arrangement the disks are delivered in, which determines usable capacity and redundancy. Null when the disks are not arranged in RAID.","nullable":true,"readOnly":true}}},"commercialCatalog.BlobContentTechnicalThroughput":{"type":"object","description":"Data throughput an offer is rated for","properties":{"level":{"type":"integer","description":"Throughput tier of the offer. A higher tier means more data can move through the product per second.","readOnly":true}}},"commercialCatalog.BlobContentTechnicalVolume":{"type":"object","description":"Describes volume information","properties":{"capacity":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalVolumeCapacity"}],"description":"Disk capacity details","readOnly":true},"iops":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.BlobContentTechnicalVolumeIops"}],"description":"Input/Output operations per second details","readOnly":true}}},"commercialCatalog.BlobContentTechnicalVolumeCapacity":{"type":"object","description":"Describes volume capacity","properties":{"max":{"type":"integer","description":"Maximum volume capacity in GB","readOnly":true}}},"commercialCatalog.BlobContentTechnicalVolumeIops":{"type":"object","description":"Disk operation rate a volume offer is rated for","properties":{"guaranteed":{"type":"boolean","description":"Whether the rated level is held under load, rather than reached only when capacity is free","readOnly":true},"level":{"type":"integer","description":"Rate of disk operations per second the volume is rated for, counted in unit","readOnly":true},"max":{"type":"integer","description":"Highest rate the volume can reach in a burst, counted in maxUnit. Null when it cannot exceed its rated level.","nullable":true,"readOnly":true},"maxUnit":{"type":"string","description":"Unit that max is expressed in","nullable":true,"readOnly":true},"unit":{"type":"string","description":"Unit that level is expressed in","nullable":true,"readOnly":true}}},"commercialCatalog.Catalog":{"type":"object","description":"Identifies the catalog that generated an offer","properties":{"id":{"type":"integer","description":"Identifier of the catalog","readOnly":true},"name":{"type":"string","description":"Catalog name","readOnly":true}}},"commercialCatalog.CommercialProduct":{"type":"object","description":"Product sold by the offer it is attached to","properties":{"code":{"type":"string","description":"Product code","readOnly":true},"descriptions":{"type":"array","description":"Description of the commercial product","items":{"$ref":"#/components/schemas/commercialCatalog.Description"},"readOnly":true}}},"commercialCatalog.CommercialRatingValue":{"type":"object","description":"Defines the applicable rating values","properties":{"invoiceLabels":{"type":"array","description":"Label of the invoice","items":{"$ref":"#/components/schemas/commercialCatalog.InvoiceLabel"},"readOnly":true},"ratingValue":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.RatingValue"}],"description":"Rating value to link the offer to","readOnly":true}}},"commercialCatalog.CompositeOfferCommercialOffer":{"type":"object","description":"Describes offers composition","properties":{"commercialOffer":{"type":"string","description":"Offer embedded in the composite offer, represented by its id","readOnly":true},"max":{"type":"integer","description":"Maximum number of commercial offers which may compose the composite offer. min = max means the quantity is forced.","nullable":true,"readOnly":true},"min":{"type":"integer","description":"Minimum number of commercial offers which may compose the composite offer","readOnly":true},"resourceDeliveryQuantity":{"type":"integer","description":"Number of services the commercial offer is delivered as within the composite offer. Defaults to 1.","readOnly":true}}},"commercialCatalog.CurrencyCodeEnum":{"type":"string","description":"Currency code following ISO4217 format","enum":["AUD","CAD","CZK","EUR","GBP","INR","LTL","MAD","PLN","SGD","TND","USD","XOF"]},"commercialCatalog.Description":{"type":"object","description":"Commercial wording of an offer in one language. The catalog returns one entry per language it is translated into.","properties":{"language":{"allOf":[{"$ref":"#/components/schemas/common.LanguageEnum"}],"description":"Language this wording is written in","readOnly":true},"longLabel":{"type":"string","description":"Full commercial description of the offer, for a product page or a detailed view","readOnly":true},"shortLabel":{"type":"string","description":"Brief commercial name of the offer, for a list or a summary line","readOnly":true}}},"commercialCatalog.Engagement":{"type":"object","description":"Describes engagement information","properties":{"autoReactivation":{"type":"boolean","description":"Whether the engagement reactivates itself","readOnly":true},"validDuration":{"type":"string","description":"Engagement duration following ISO8601 format","format":"duration","readOnly":true}}},"commercialCatalog.InvoiceLabel":{"type":"object","description":"Translated invoice label","properties":{"label":{"type":"string","description":"Invoice label","readOnly":true},"language":{"allOf":[{"$ref":"#/components/schemas/common.LanguageEnum"}],"description":"Label language","readOnly":true}}},"commercialCatalog.Legacy":{"type":"object","description":"Describes legacy information, used for transition between offer models","properties":{"blobs":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.Blob"}],"description":"Contains content from previous model","nullable":true,"readOnly":true},"catalog":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.Catalog"}],"description":"Catalog used to generate the offer","nullable":true,"readOnly":true},"plan":{"type":"string","description":"Previous model identifier","readOnly":true}}},"commercialCatalog.MerchantEnum":{"type":"string","description":"Merchants where offers are available","enum":["ASIA","AU","CA","DE","ES","FR","GB","IE","IN","IT","MA","NL","PL","PT","QC","SG","SN","TN","US","WE","WS"]},"commercialCatalog.Offer":{"type":"object","description":"Defines a commercial catalog offer","properties":{"code":{"type":"string","description":"Unique code for the offer","readOnly":true},"commercialRatingValues":{"type":"array","description":"Applicable commercial rating values","items":{"$ref":"#/components/schemas/commercialCatalog.CommercialRatingValue"},"readOnly":true},"descriptions":{"type":"array","description":"Offer description","items":{"$ref":"#/components/schemas/commercialCatalog.Description"},"readOnly":true},"engagements":{"type":"array","description":"List of engagements available to subscribe the offer to","items":{"$ref":"#/components/schemas/commercialCatalog.Engagement"},"readOnly":true},"id":{"type":"string","description":"Unique identifier of the offer","readOnly":true},"legacy":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.Legacy"}],"description":"Offer information based on previous model used for migration to the new model","nullable":true,"readOnly":true},"nature":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.OfferNatureEnum"}],"description":"Offer nature","readOnly":true},"offers":{"type":"array","description":"Sub offers when type is composite","nullable":true,"items":{"$ref":"#/components/schemas/commercialCatalog.CompositeOfferCommercialOffer"},"readOnly":true},"product":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.OfferCommercialProduct"}],"description":"Product linked to the offer","nullable":true,"readOnly":true},"technicalRequirements":{"type":"array","description":"List of technical requirements of the product linked to the offer","items":{"$ref":"#/components/schemas/commercialCatalog.TechnicalRequirement"},"readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.OfferTypeEnum"}],"description":"Offer type","readOnly":true},"validity":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.Validity"}],"description":"Offer validity information","readOnly":true},"version":{"type":"integer","description":"Offer version, increase on update","readOnly":true}}},"commercialCatalog.OfferCommercialProduct":{"type":"object","description":"Object to link a commercial product to an commercial offer","properties":{"commercialProduct":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.CommercialProduct"}],"description":"Commercial product to be linked","readOnly":true},"max":{"type":"integer","description":"Maximum number of product to be included in the offer","nullable":true,"readOnly":true},"min":{"type":"integer","description":"Minimum number of product to be included in the offer","readOnly":true}}},"commercialCatalog.OfferNatureEnum":{"type":"string","description":"Nature of a commercial catalog offer. It represents the commercial purpose of the offer. REGULAR represents an offer with standard pricing on product consumption. BILLING_PLAN represents an offer which allows savings on product consumption. STRUCTURAL represents an offer to hold a list of offers and information to share across them, which can't be purchased by itself.","enum":["BILLING_PLAN","PACK","REGULAR","STRUCTURAL"]},"commercialCatalog.OfferStateEnum":{"type":"string","description":"Offer state. DEPRECATED means that offer is not sold anymore but services are still active.","enum":["ACTIVE","DEPRECATED"]},"commercialCatalog.OfferTypeEnum":{"type":"string","description":"Type of a commercial catalog offer. An atomic offer is a basic commercial offer, for example C3-8 instance offer with 1 month commitment. A composite offer is a kind of offer composed by multiple atomic offers.","enum":["ATOMIC","COMPOSITE"]},"commercialCatalog.Price":{"type":"object","description":"Price to apply on billing computation","properties":{"amount":{"type":"integer","description":"Price amount in microcentimes","readOnly":true},"currencyCode":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.CurrencyCodeEnum"}],"description":"Price currency","readOnly":true}}},"commercialCatalog.RatingValue":{"type":"object","description":"Price or percentage to apply","properties":{"prices":{"type":"array","description":"Price list","nullable":true,"items":{"$ref":"#/components/schemas/commercialCatalog.Price"},"readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/commercialCatalog.RatingValueTypeEnum"}],"description":"Type of type rating value","readOnly":true}}},"commercialCatalog.RatingValueTypeEnum":{"type":"string","description":"Rating value type","enum":["PRICE"]},"commercialCatalog.TechnicalRequirement":{"type":"object","description":"Technical requirement of the product linked to the offer","properties":{"default":{"type":"string","description":"Value by default","nullable":true,"readOnly":true},"name":{"type":"string","description":"Name of the configuration field","readOnly":true},"values":{"type":"array","description":"List of possible values the technical requirement may have","nullable":true,"items":{"type":"string"},"readOnly":true}}},"commercialCatalog.Validity":{"type":"object","description":"Describes offer validity","properties":{"eolDate":{"type":"string","description":"End-of-life datetime of the offer upon which nor offer or service is active","nullable":true,"format":"date-time","readOnly":true},"eosDate":{"type":"string","description":"End-of-sale datetime of the offer upon which offer is not sold anymore but associated service stays active","nullable":true,"format":"date-time","readOnly":true},"startDate":{"type":"string","description":"Start datetime of the offer upon which offer and service is available","format":"date-time","readOnly":true}}},"common.LanguageEnum":{"type":"string","description":"Language and locale, as a language-country code","enum":["cs_CZ","de_DE","en_AS","en_AU","en_CA","en_GB","en_IE","en_IN","en_SG","en_US","en_WW","es_ES","es_SA","fi_FI","fr_CA","fr_FR","fr_MA","fr_SN","fr_TN","it_IT","lt_LT","nl_NL","pl_PL","pt_PT"]},"duration":{"type":"string","description":"Duration (e.g., P1Y2M3DT4H6M9S)","example":"P1Y2M3DT4H6M9S"},"email":{"type":"string","description":"Email address (e.g., api@ml.ovh.net)","format":"email","example":"api@ml.ovh.net"},"internationalPhoneNumber":{"type":"string","description":"International phone number","format":"phone-number"},"ip":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipBlock":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","format":"ip-block","example":"192.0.2.0/24"},"ipInterface":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4Block":{"type":"string","description":"IPv4 CIDR notation (e.g., 192.0.2.0/24)","format":"ipv4-block","example":"192.0.2.0/24"},"ipv6":{"type":"string","description":"IPv6 address (e.g., 2001:41d0:1:1994::1)","format":"ipv6","example":"2001:41d0:1:1994::1"},"ipv6Block":{"type":"string","description":"IPv6 CIDR notation (e.g., 2001:41d0::/128)","format":"ipv6-block","example":"2001:41d0::/128"},"macAddress":{"type":"string","description":"MAC address (e.g., 00:00:5e:00:53:01)","format":"mac-address","example":"00:00:5e:00:53:01"},"phoneNumber":{"type":"string","description":"Phone number","format":"phone-number"},"time":{"type":"string","description":"Time (e.g., 15:04:05)","format":"time","example":"15:04:05"}},"securitySchemes":{"oAuth2AuthCode":{"type":"oauth2","description":"Oauth2","x-client-id":"1bb9c7df371741c0","x-client-secret":"a5b4de870aca620d10fbf63cd18d205b","flows":{"authorizationCode":{"authorizationUrl":"https://auth.eu.ovhcloud.com/oauth2/authorize","tokenUrl":"https://auth.eu.ovhcloud.com/oauth2/token","scopes":{"account/all":"Manage your account","all":"Manage your whole account and all your services","services/all":"Manage your services lifecycle and billing"}}}}}},"paths":{"/commercialCatalog/offers":{"get":{"operationId":"getAllCatalogOffers","summary":"List all offers","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"header","name":"X-Pagination-Cursor","description":"Pagination cursor","schema":{"type":"string"}},{"in":"header","name":"X-Pagination-Size","description":"Pagination size","schema":{"type":"integer"}},{"in":"query","name":"merchants","description":"Offer merchant","schema":{"type":"array","items":{"$ref":"#/components/schemas/commercialCatalog.MerchantEnum"}}},{"in":"query","name":"nature","description":"Offer nature","schema":{"$ref":"#/components/schemas/commercialCatalog.OfferNatureEnum"}},{"in":"query","name":"productCode","description":"Commercial product code","schema":{"type":"string"}},{"in":"query","name":"state","description":"Offer state","schema":{"type":"array","items":{"$ref":"#/components/schemas/commercialCatalog.OfferStateEnum"}}},{"in":"query","name":"technicalRequirements","description":"Offer config fields","schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"type","description":"Offer type","schema":{"$ref":"#/components/schemas/commercialCatalog.OfferTypeEnum"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/commercialCatalog.Offer"}}}}}},"x-developer-hub-navigation":[["Offers & Services","Commercial Catalog"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/v2/commercialCatalog/offers\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/v2/commercialCatalog/offers\");\n\nprint_r($result);\n?>"}],"x-response-identifier":"id","x-expanded-response":"CommercialCatalogOffer"}},"/commercialCatalog/offers/{id}":{"get":{"operationId":"getCatalogOffer","summary":"Get details of an offer","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"id","description":"Id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/commercialCatalog.Offer"}}}}},"x-developer-hub-navigation":[["Offers & Services","Commercial Catalog"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/v2/commercialCatalog/offers/{id}\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/v2/commercialCatalog/offers/{id}\");\n\nprint_r($result);\n?>"}],"x-response-identifier":"id"}}}}
