NAV Navigation
Shell HTTP JavaScript Node.js Ruby Python Java Go PHP

Developer Portal v1.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Welcome to Woot! developer portal! Here, you can find documentation on official APIs that can be consumed programmatically to access live deals sold on Woot!, an Amazon company. Reach out to the below contact to see how you can become eligible for affiliates traffic pay-cut.

Throttling Limits

Rate
The rate at which tokens are added to the Token Bucket. This value indicates the average number of requests per second over an extended period of time
Burst
The capacity of the Token Bucket
Quota
The total number of requests you can perform in a given time period. This limit resets at UTC 00:00:00 every day
1 request per second 10 requests 1000 requests per day

Authorization

Issued secret key must be passed in header of every request made. Request header name is: x-api-key

Contact

Request an API key via the forums


Base URLs:

Authentication

Default

GetOffer

Code samples

# You can also use wget
curl -X GET https://developer.woot.com/{basePath}/offers/{offerid} \
  -H 'Accept: application/json' \
  -H 'x-api-key: API_KEY'

GET https://developer.woot.com/{basePath}/offers/{offerid} HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'x-api-key':'API_KEY'
};

fetch('https://developer.woot.com/{basePath}/offers/{offerid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'x-api-key':'API_KEY'
};

fetch('https://developer.woot.com/{basePath}/offers/{offerid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'x-api-key' => 'API_KEY'
}

result = RestClient.get 'https://developer.woot.com/{basePath}/offers/{offerid}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'x-api-key': 'API_KEY'
}

r = requests.get('https://developer.woot.com/{basePath}/offers/{offerid}', headers = headers)

print(r.json())

URL obj = new URL("https://developer.woot.com/{basePath}/offers/{offerid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "x-api-key": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://developer.woot.com/{basePath}/offers/{offerid}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'x-api-key' => 'API_KEY',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://developer.woot.com/{basePath}/offers/{offerid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /offers/{offerid}

This end point fetches all properties of a particular offer

Parameters

Name In Type Required Description
offerid path string true Id of the offer that is to be fetched. "OfferId" can be fetched from end point: feed/{feedname}

Example responses

200 Response

{
  "Teaser": "string",
  "Title": "string",
  "ShippingMethods": [
    {
      "ExcludedStates": [
        "string"
      ],
      "ExcludedPostalCodes": [
        "string"
      ],
      "ExcludePOBox": true,
      "Name": "string"
    }
  ],
  "IsSoldOut": true,
  "WriteUpIntro": "string",
  "Snippet": "string",
  "Slug": "string",
  "IsWootOff": true,
  "Url": "http://example.com",
  "WriteUpBody": "string",
  "ExtendedWarranty": "string",
  "Photos": [
    {
      "Height": 0,
      "Width": 0,
      "Url": "http://example.com",
      "Caption": "string",
      "Tags": [
        "string"
      ]
    }
  ],
  "Subtitle": "string",
  "PercentageRemainingBlurred": 0,
  "FullTitle": "string",
  "QuantityLimit": 0,
  "EventId": "219a0dfb-2d03-431e-be28-19bdc45be724",
  "Items": [
    {
      "Photos": [
        {
          "Height": 0,
          "Width": 0,
          "Url": "http://example.com",
          "Caption": "string",
          "Tags": [
            "string"
          ]
        }
      ],
      "Asin": "string",
      "Attributes": [
        {
          "Value": "string",
          "Key": "string"
        }
      ],
      "Title": "string",
      "SalePrice": 0,
      "Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
      "ListPrice": 0,
      "Win": "string"
    }
  ],
  "Features": "string",
  "Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
  "PurchaseLimit": 0,
  "Win": "string",
  "Specs": "string"
}

Responses

Status Meaning Description Schema
200 OK Success Response Offer
400 Bad Request Bad request. Invalid inputs passed. None
403 Forbidden Forbidden None
404 Not Found Not Found None

Response Schema

Response Headers

Status Header Type Format Description
200 Access-Control-Allow-Origin string none

options__offers_{offerid}

Code samples

# You can also use wget
curl -X OPTIONS https://developer.woot.com/{basePath}/offers/{offerid} \
  -H 'Accept: application/json'

OPTIONS https://developer.woot.com/{basePath}/offers/{offerid} HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://developer.woot.com/{basePath}/offers/{offerid}',
{
  method: 'OPTIONS',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'
};

fetch('https://developer.woot.com/{basePath}/offers/{offerid}',
{
  method: 'OPTIONS',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.options 'https://developer.woot.com/{basePath}/offers/{offerid}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.options('https://developer.woot.com/{basePath}/offers/{offerid}', headers = headers)

print(r.json())

URL obj = new URL("https://developer.woot.com/{basePath}/offers/{offerid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("OPTIONS");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("OPTIONS", "https://developer.woot.com/{basePath}/offers/{offerid}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('OPTIONS','https://developer.woot.com/{basePath}/offers/{offerid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

OPTIONS /offers/{offerid}

Parameters

Name In Type Required Description
offerid path string true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK Returns CORs headers Empty

Response Headers

Status Header Type Format Description
200 Cache-Control string none
200 Access-Control-Allow-Origin string none
200 Access-Control-Allow-Methods string none
200 Access-Control-Allow-Headers string none

GetNamedFeed

Code samples

# You can also use wget
curl -X GET https://developer.woot.com/{basePath}/feed/{feedname} \
  -H 'Accept: application/json' \
  -H 'x-api-key: API_KEY'

GET https://developer.woot.com/{basePath}/feed/{feedname} HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'x-api-key':'API_KEY'
};

fetch('https://developer.woot.com/{basePath}/feed/{feedname}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'x-api-key':'API_KEY'
};

fetch('https://developer.woot.com/{basePath}/feed/{feedname}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'x-api-key' => 'API_KEY'
}

result = RestClient.get 'https://developer.woot.com/{basePath}/feed/{feedname}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'x-api-key': 'API_KEY'
}

r = requests.get('https://developer.woot.com/{basePath}/feed/{feedname}', headers = headers)

print(r.json())

URL obj = new URL("https://developer.woot.com/{basePath}/feed/{feedname}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "x-api-key": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://developer.woot.com/{basePath}/feed/{feedname}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'x-api-key' => 'API_KEY',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://developer.woot.com/{basePath}/feed/{feedname}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /feed/{feedname}

This end point fetches live minified offers that are sold on Woot! in a particular category or all categories. Featured deals are returned on the first results page.

Parameters

Name In Type Required Description
feedname path string true Name of Woot! category for which offers are fetched. Supported feed names are:
page query string false Returns the offers from a particular page passed in. Page size is set to 100 offers per page. If this parameter is not passed in, all items sold on the particular category is returned.

Detailed descriptions

feedname: Name of Woot! category for which offers are fetched. Supported feed names are:

Example responses

200 Response

[
  {
    "Site": "http://example.com",
    "Condition": "string",
    "Categories": [
      "string"
    ],
    "Title": "string",
    "Photo": "http://example.com",
    "IsSoldOut": true,
    "ListPrice": [
      {
        "Minimum": 0,
        "Maximum": 0
      }
    ],
    "EndDate": "2019-08-24T14:15:22Z",
    "IsWootOff": true,
    "IsFeatured": true,
    "Url": "http://example.com",
    "StartDate": "2019-08-24T14:15:22Z",
    "OfferId": "79079c35-134a-4d1e-9598-1eca65ebce61",
    "Subtitle": "string",
    "IsFulfilledByAmazon": true,
    "SalePrice": [
      {
        "Minimum": 0,
        "Maximum": 0
      }
    ],
    "ForumUrl": "http://example.com",
    "IsAvailableOnMobileAppOnly": true
  }
]

Responses

Status Meaning Description Schema
200 OK Success Response FeedPage
400 Bad Request Bad request. Invalid inputs passed. None
403 Forbidden Forbidden None
404 Not Found Not Found None

Response Schema

Response Headers

Status Header Type Format Description
200 Access-Control-Allow-Origin string none

options__feed_{feedname}

Code samples

# You can also use wget
curl -X OPTIONS https://developer.woot.com/{basePath}/feed/{feedname} \
  -H 'Accept: application/json'

OPTIONS https://developer.woot.com/{basePath}/feed/{feedname} HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://developer.woot.com/{basePath}/feed/{feedname}',
{
  method: 'OPTIONS',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'
};

fetch('https://developer.woot.com/{basePath}/feed/{feedname}',
{
  method: 'OPTIONS',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.options 'https://developer.woot.com/{basePath}/feed/{feedname}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.options('https://developer.woot.com/{basePath}/feed/{feedname}', headers = headers)

print(r.json())

URL obj = new URL("https://developer.woot.com/{basePath}/feed/{feedname}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("OPTIONS");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("OPTIONS", "https://developer.woot.com/{basePath}/feed/{feedname}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('OPTIONS','https://developer.woot.com/{basePath}/feed/{feedname}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

OPTIONS /feed/{feedname}

Parameters

Name In Type Required Description
feedname path string true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK Returns CORs headers Empty

Response Headers

Status Header Type Format Description
200 Cache-Control string none
200 Access-Control-Allow-Origin string none
200 Access-Control-Allow-Methods string none
200 Access-Control-Allow-Headers string none

GetOffers

Code samples

# You can also use wget
curl -X POST https://developer.woot.com/{basePath}/getoffers \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'x-api-key: API_KEY'

POST https://developer.woot.com/{basePath}/getoffers HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Content-Type: application/json
Accept: application/json

const inputBody = '[
  "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'x-api-key':'API_KEY'
};

fetch('https://developer.woot.com/{basePath}/getoffers',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = [
  "497f6eca-6276-4993-bfeb-53cbbbba6f08"
];
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'x-api-key':'API_KEY'
};

fetch('https://developer.woot.com/{basePath}/getoffers',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'x-api-key' => 'API_KEY'
}

result = RestClient.post 'https://developer.woot.com/{basePath}/getoffers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'x-api-key': 'API_KEY'
}

r = requests.post('https://developer.woot.com/{basePath}/getoffers', headers = headers)

print(r.json())

URL obj = new URL("https://developer.woot.com/{basePath}/getoffers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "x-api-key": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://developer.woot.com/{basePath}/getoffers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'x-api-key' => 'API_KEY',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://developer.woot.com/{basePath}/getoffers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /getoffers

This end point fetches all properties of list of offers passed in the body.

Body parameter

[
  "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Parameters

Name In Type Required Description
body body OfferIds true OfferIds can be fetched from end point: feed/{feedname}. Maximum number of unique offers that can be passed in one request: 25

Example responses

200 Response

[
  {
    "Teaser": "string",
    "Title": "string",
    "ShippingMethods": [
      {
        "ExcludedStates": [
          "string"
        ],
        "ExcludedPostalCodes": [
          "string"
        ],
        "ExcludePOBox": true,
        "Name": "string"
      }
    ],
    "IsSoldOut": true,
    "WriteUpIntro": "string",
    "Snippet": "string",
    "Slug": "string",
    "IsWootOff": true,
    "Url": "http://example.com",
    "WriteUpBody": "string",
    "ExtendedWarranty": "string",
    "Photos": [
      {
        "Height": 0,
        "Width": 0,
        "Url": "http://example.com",
        "Caption": "string",
        "Tags": [
          "string"
        ]
      }
    ],
    "Subtitle": "string",
    "PercentageRemainingBlurred": 0,
    "FullTitle": "string",
    "QuantityLimit": 0,
    "EventId": "219a0dfb-2d03-431e-be28-19bdc45be724",
    "Items": [
      {
        "Photos": [
          {
            "Height": 0,
            "Width": 0,
            "Url": "http://example.com",
            "Caption": "string",
            "Tags": [
              "string"
            ]
          }
        ],
        "Asin": "string",
        "Attributes": [
          {
            "Value": "string",
            "Key": "string"
          }
        ],
        "Title": "string",
        "SalePrice": 0,
        "Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
        "ListPrice": 0,
        "Win": "string"
      }
    ],
    "Features": "string",
    "Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
    "PurchaseLimit": 0,
    "Win": "string",
    "Specs": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Response Offers
400 Bad Request 400 response None
403 Forbidden 403 response None
404 Not Found 404 response None

Response Schema

Response Headers

Status Header Type Format Description
200 Access-Control-Allow-Origin string none

options__getoffers

Code samples

# You can also use wget
curl -X OPTIONS https://developer.woot.com/{basePath}/getoffers \
  -H 'Accept: application/json'

OPTIONS https://developer.woot.com/{basePath}/getoffers HTTP/1.1
Host: 7uaduf3ni4.execute-api.us-east-1.amazonaws.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://developer.woot.com/{basePath}/getoffers',
{
  method: 'OPTIONS',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'
};

fetch('https://developer.woot.com/{basePath}/getoffers',
{
  method: 'OPTIONS',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.options 'https://developer.woot.com/{basePath}/getoffers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.options('https://developer.woot.com/{basePath}/getoffers', headers = headers)

print(r.json())

URL obj = new URL("https://developer.woot.com/{basePath}/getoffers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("OPTIONS");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("OPTIONS", "https://developer.woot.com/{basePath}/getoffers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('OPTIONS','https://developer.woot.com/{basePath}/getoffers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

OPTIONS /getoffers

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK 200 response Empty

Response Headers

Status Header Type Format Description
200 Cache-Control string none
200 Access-Control-Allow-Origin string none
200 Access-Control-Allow-Methods string none
200 Access-Control-Allow-Headers string none

Schemas

ShippingMethod

{
  "ExcludedStates": [
    "string"
  ],
  "ExcludedPostalCodes": [
    "string"
  ],
  "ExcludePOBox": true,
  "Name": "string"
}

Properties

Name Type Required Restrictions Description
ExcludedStates [string] false none none
ExcludedPostalCodes [string] false none none
ExcludePOBox boolean false none none
Name string false none none

Empty

{}

Properties

None

FeedItem

{
  "Site": "http://example.com",
  "Condition": "string",
  "Categories": [
    "string"
  ],
  "Title": "string",
  "Photo": "http://example.com",
  "IsSoldOut": true,
  "ListPrice": [
    {
      "Minimum": 0,
      "Maximum": 0
    }
  ],
  "EndDate": "2019-08-24T14:15:22Z",
  "IsWootOff": true,
  "IsFeatured": true,
  "Url": "http://example.com",
  "StartDate": "2019-08-24T14:15:22Z",
  "OfferId": "79079c35-134a-4d1e-9598-1eca65ebce61",
  "Subtitle": "string",
  "IsFulfilledByAmazon": true,
  "SalePrice": [
    {
      "Minimum": 0,
      "Maximum": 0
    }
  ],
  "ForumUrl": "http://example.com",
  "IsAvailableOnMobileAppOnly": true
}

Properties

Name Type Required Restrictions Description
Site string(uri) false none none
Condition string false none none
Categories [string] false none none
Title string false none none
Photo string(uri) false none none
IsSoldOut boolean false none none
ListPrice [PriceRange] false none none
EndDate string(date-time) false none none
IsWootOff boolean false none none
IsFeatured boolean false none none
Url string(uri) false none none
StartDate string(date-time) false none none
OfferId string(uuid) false none none
Subtitle string false none none
IsFulfilledByAmazon boolean false none none
SalePrice [PriceRange] false none none
ForumUrl string(uri) false none none
IsAvailableOnMobileAppOnly boolean false none none

FeedPage

[
  {
    "Site": "http://example.com",
    "Condition": "string",
    "Categories": [
      "string"
    ],
    "Title": "string",
    "Photo": "http://example.com",
    "IsSoldOut": true,
    "ListPrice": [
      {
        "Minimum": 0,
        "Maximum": 0
      }
    ],
    "EndDate": "2019-08-24T14:15:22Z",
    "IsWootOff": true,
    "IsFeatured": true,
    "Url": "http://example.com",
    "StartDate": "2019-08-24T14:15:22Z",
    "OfferId": "79079c35-134a-4d1e-9598-1eca65ebce61",
    "Subtitle": "string",
    "IsFulfilledByAmazon": true,
    "SalePrice": [
      {
        "Minimum": 0,
        "Maximum": 0
      }
    ],
    "ForumUrl": "http://example.com",
    "IsAvailableOnMobileAppOnly": true
  }
]

Properties

Name Type Required Restrictions Description
anonymous [FeedItem] false none none

Offer

{
  "Teaser": "string",
  "Title": "string",
  "ShippingMethods": [
    {
      "ExcludedStates": [
        "string"
      ],
      "ExcludedPostalCodes": [
        "string"
      ],
      "ExcludePOBox": true,
      "Name": "string"
    }
  ],
  "IsSoldOut": true,
  "WriteUpIntro": "string",
  "Snippet": "string",
  "Slug": "string",
  "IsWootOff": true,
  "Url": "http://example.com",
  "WriteUpBody": "string",
  "ExtendedWarranty": "string",
  "Photos": [
    {
      "Height": 0,
      "Width": 0,
      "Url": "http://example.com",
      "Caption": "string",
      "Tags": [
        "string"
      ]
    }
  ],
  "Subtitle": "string",
  "PercentageRemainingBlurred": 0,
  "FullTitle": "string",
  "QuantityLimit": 0,
  "EventId": "219a0dfb-2d03-431e-be28-19bdc45be724",
  "Items": [
    {
      "Photos": [
        {
          "Height": 0,
          "Width": 0,
          "Url": "http://example.com",
          "Caption": "string",
          "Tags": [
            "string"
          ]
        }
      ],
      "Asin": "string",
      "Attributes": [
        {
          "Value": "string",
          "Key": "string"
        }
      ],
      "Title": "string",
      "SalePrice": 0,
      "Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
      "ListPrice": 0,
      "Win": "string"
    }
  ],
  "Features": "string",
  "Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
  "PurchaseLimit": 0,
  "Win": "string",
  "Specs": "string"
}

Properties

Name Type Required Restrictions Description
Teaser string false none none
Title string false none none
ShippingMethods [ShippingMethod] false none none
IsSoldOut boolean false none none
WriteUpIntro string false none none
Snippet string false none none
Slug string false none none
IsWootOff boolean false none none
Url string(uri) false none none
WriteUpBody string false none none
ExtendedWarranty string false none none
Photos [Photo] false none none
Subtitle string false none none
PercentageRemainingBlurred integer false none none
FullTitle string false none none
QuantityLimit integer false none none
EventId string(uuid) false none none
Items [OfferItem] false none none
Features string false none none
Id string(uuid) false none none
PurchaseLimit integer false none none
Win string false none none
Specs string false none none

OfferIds

[
  "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Properties

None

Photo

{
  "Height": 0,
  "Width": 0,
  "Url": "http://example.com",
  "Caption": "string",
  "Tags": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
Height integer false none none
Width integer false none none
Url string(uri) false none none
Caption string false none none
Tags [string] false none none

OfferItem

{
  "Photos": [
    {
      "Height": 0,
      "Width": 0,
      "Url": "http://example.com",
      "Caption": "string",
      "Tags": [
        "string"
      ]
    }
  ],
  "Asin": "string",
  "Attributes": [
    {
      "Value": "string",
      "Key": "string"
    }
  ],
  "Title": "string",
  "SalePrice": 0,
  "Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
  "ListPrice": 0,
  "Win": "string"
}

Properties

Name Type Required Restrictions Description
Photos [Photo] false none none
Asin string false none none
Attributes [Map] false none none
Title string false none none
SalePrice number false none none
Id string(uuid) false none none
ListPrice number false none none
Win string false none none

Offers

[
  {
    "Teaser": "string",
    "Title": "string",
    "ShippingMethods": [
      {
        "ExcludedStates": [
          "string"
        ],
        "ExcludedPostalCodes": [
          "string"
        ],
        "ExcludePOBox": true,
        "Name": "string"
      }
    ],
    "IsSoldOut": true,
    "WriteUpIntro": "string",
    "Snippet": "string",
    "Slug": "string",
    "IsWootOff": true,
    "Url": "http://example.com",
    "WriteUpBody": "string",
    "ExtendedWarranty": "string",
    "Photos": [
      {
        "Height": 0,
        "Width": 0,
        "Url": "http://example.com",
        "Caption": "string",
        "Tags": [
          "string"
        ]
      }
    ],
    "Subtitle": "string",
    "PercentageRemainingBlurred": 0,
    "FullTitle": "string",
    "QuantityLimit": 0,
    "EventId": "219a0dfb-2d03-431e-be28-19bdc45be724",
    "Items": [
      {
        "Photos": [
          {
            "Height": 0,
            "Width": 0,
            "Url": "http://example.com",
            "Caption": "string",
            "Tags": [
              "string"
            ]
          }
        ],
        "Asin": "string",
        "Attributes": [
          {
            "Value": "string",
            "Key": "string"
          }
        ],
        "Title": "string",
        "SalePrice": 0,
        "Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
        "ListPrice": 0,
        "Win": "string"
      }
    ],
    "Features": "string",
    "Id": "38a5a5bb-dc30-49a2-b175-1de0d1488c43",
    "PurchaseLimit": 0,
    "Win": "string",
    "Specs": "string"
  }
]

Properties

Name Type Required Restrictions Description
anonymous [Offer] false none none

Map

{
  "Value": "string",
  "Key": "string"
}

Properties

Name Type Required Restrictions Description
Value string false none none
Key string false none none

PriceRange

{
  "Minimum": 0,
  "Maximum": 0
}

Properties

Name Type Required Restrictions Description
Minimum number false none none
Maximum number false none none