# Authentication
Source: https://docs.goaura.com/api-reference/authentication
All Aura API endpoints are authenticated using API keys. You can view and manage your API keys in [Aura Settings](https://goaura.com/settings/developers).
Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
Authentication to the API is performed via [HTTP Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication). Provide your API key as the basic auth username value. You do not need to provide a password.
If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H "Authorization: Bearer key_2ubjfjUcF0z6lcFio24TC1D9xUa"` instead of `-u key_2ubjfjUcF0z6lcFio24TC1D9xUa`.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
```bash AUTHENTICATED REQUEST theme={null}
curl https://api.goaura.com/listings \
-u key_2ubjfjUcF0z6lcFio24TC1D9xUa:
# The colon prevents curl from asking for a password.
```
# List all channels
Source: https://docs.goaura.com/api-reference/channels/list
GET /channels
Returns a list of your channels. The channels are returned sorted by creation date, with the most recent channels appearing first.
#### Parameters
A limit on the number of objects to be returned. Limit can range between 1 and
100, and the default is 10.
A cursor for use in pagination. `starting_after` is an object ID that defines
your place in the list. For instance, if you make a list request and receive
100 objects, ending with `obj_foo`, your subsequent call can include
`starting_after=obj_foo` in order to fetch the next page of the list.
A cursor for use in pagination. `ending_before` is an object ID that defines
your place in the list. For instance, if you make a list request and receive
100 objects, starting with `obj_bar`, your subsequent call can include
`ending_before=obj_bar` in order to fetch the previous page of the list.
```bash GET /channels theme={null}
curl -G https://api.goaura.com/channels \
-u "sk_2ubjfjUcF0z6lcFio24TC1D9xUa:" \
-d limit=20
```
#### Returns
A dictionary with a `data` property that contains an array of up to `limit` channels, starting after channel `starting_after`. Each entry in the array is a separate channel object. If no more channels are available, the resulting array will be empty.
```json RESPONSE theme={null}
{
"object": "list",
"has_more": false,
"data": [
{
"id": "f70a0f0d-48e1-4466-8f4c-32747b395de9",
"object": "channel",
"type": "sales",
"platform": "amazon",
"created_at": 1662738023
}
]
}
```
# The Channel object
Source: https://docs.goaura.com/api-reference/channels/object
We'll be expanding the object incrementally and with backward compatibility.
#### Attributes
Unique identifier for the object.
The type of the channel. One of `sales` or `advertising`.
One of `amazon` or `walmart`.
#### More attributes
String representing the object's type. Objects of the same type share the
same value.
Time at which the object was created. Measured in seconds since the Unix
epoch.
```json THE CHANNEL OBJECT theme={null}
{
"id": "f70a0f0d-48e1-4466-8f4c-32747b395de9",
"object": "channel",
"type": "sales",
"platform": "walmart",
"created_at": 1662738023
}
```
# Errors
Source: https://docs.goaura.com/api-reference/errors
Aura uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the `2xx` range indicate success. Codes in the `4xx` range indicate an error that failed given the information provided (e.g., a required parameter was omitted, etc.). Codes in the `5xx` range indicate an error with Aura's servers.
#### HTTP Status Code Summary
| Code | Text | Description |
| ------------------ | ----------------- | ------------------------------------------------------------------------------------------------ |
| 200 | OK | Everything worked as expected. |
| 400 | Bad Request | The request was unacceptable, often due to missing a required parameter. |
| 401 | Unauthorized | No valid API key provided. |
| 402 | Request Failed | The parameters were valid but the request failed. |
| 403 | Forbidden | The API key doesn't have permissions to perform the request. |
| 404 | Not Found | The requested resource doesn't exist. |
| 409 | Conflict | The request conflicts with another request. |
| 429 | Too Many Requests | Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. |
| 500, 502, 503, 504 | Server Errors | Something went wrong on Aura's end. |
#### Attributes
A human-readable message providing more details about the error.
If the error is parameter-specific, the parameter related to the error.
# Introduction
Source: https://docs.goaura.com/api-reference/introduction
Welcome to api.goaura.com
## Welcome
The Aura API is organized around [REST](https://en.wikipedia.org/wiki/REST). Our API has predictable resource-oriented URLs, accepts [form-encoded](https://en.wikipedia.org/wiki/POST_\(HTTP\)#Use_for_submitting_web_forms) request bodies, returns [JSON-encoded](https://www.json.org/json-en.html) responses, and uses standard HTTP response codes, authentication, and verbs.
```text Base URL theme={null}
api.goaura.com
```
# List all listings
Source: https://docs.goaura.com/api-reference/listings/list
GET /listings
Returns a list of your listings. The listings are returned sorted by creation date when they were imported into Aura for the first time, with the most recent listings appearing first.
#### Parameters
Only return listings for this platform. One of `amazon` or `walmart`.
Only return listings for the channel specified by this channel ID.
Only return listings with the specified status. One of `active` or `inactive`.
Only return listings with this SKU.
#### More parameters
A limit on the number of objects to be returned. Limit can range between 1
and 100, and the default is 10.
A cursor for use in pagination. `starting_after` is an object ID that
defines your place in the list. For instance, if you make a list request and
receive 100 objects, ending with `obj_foo`, your subsequent call can include
`starting_after=obj_foo` in order to fetch the next page of the list.
A cursor for use in pagination. `ending_before` is an object ID that defines
your place in the list. For instance, if you make a list request and receive
100 objects, starting with `obj_bar`, your subsequent call can include
`ending_before=obj_bar` in order to fetch the previous page of the list.
```bash GET /listings theme={null}
curl -G https://api.goaura.com/listings \
-u "sk_2ubjfjUcF0z6lcFio24TC1D9xUa:" \
-d platform=amazon \
-d status=active \
-d limit=50
```
#### Returns
A dictionary with a `data` property that contains an array of up to `limit` listings, starting after listing `starting_after`. Each entry in the array is a separate listing object. If no more listings are available, the resulting array will be empty. If you provide a non-existent channel ID, this call returns [an error](/api-reference/errors).
```json RESPONSE theme={null}
{
"object": "list",
"has_more": false,
"data": [
{
"id": "0195b630-49ab-77ca-a2e8-5a7f3235f946",
"object": "listing",
"platform": "amazon",
"channel": "f70a0f0d-48e1-4466-8f4c-32747b395de9",
"status": "active",
"sku": "SAMPLE-SKU",
"currency": "usd",
"current_price": 7405,
"current_shipping": 0,
"cost": 2200,
"minimum_price": 7299,
"maximum_price": 7999,
"strategy": "c38970b9-bbf4-4288-a18b-b8bd1de4fbb7",
"repricing": true,
"manual_price": null,
"created": 1662738023
}
]
}
```
# The Listing object
Source: https://docs.goaura.com/api-reference/listings/object
We'll be expanding the object incrementally and with backward compatibility.
#### Attributes
Unique identifier for the object.
The platform where the listing is published. One of `amazon` or `walmart`.
The ID of the platform channel where the listing is published.
The status of the product. One of `active` or `inactive`.
Unique identifier for the object.
Three-letter ISO currency code, in lowercase.
The current listed price in cents (in the currency specified) of the listing.
Exclusive of shipping price.
The current shipping price in cents (in the currency specified) of the
listing.
The cost of a single unit in cents (in the currency specified) of the listing.
The minimum price in cents (in the currency specified) of the listing.
Inclusive of shipping price for Amazon listings.
The maximum price in cents (in the currency specified) of the listing.
Inclusive of shipping price for Amazon listings.
The ID of the repricing strategy assigned to the listing.
Has the value `true` if repricing by Aura is enabled for this listing or the
value `false` if repricing is disabled.
The manual price in cents (in the currency specified) that Aura will enforce
on repriceable listings. Will have no effect on non-repriceable listings, i.e.
`repricing` is `false`, `minimum_price` is unset or incalculable (if using
profit-based minimum pricing and cost or fees are unavailable), or current
shipping is unavailable. Manual price is inclusive of shipping price.
#### More attributes
String representing the object's type. Objects of the same type share the
same value.
Time at which the object was created. Measured in seconds since the Unix epoch.
```json THE LISTING OBJECT theme={null}
{
"id": "0195b630-49ab-77ca-a2e8-5a7f3235f946",
"object": "listing",
"platform": "amazon",
"channel": "f70a0f0d-48e1-4466-8f4c-32747b395de9",
"status": "active",
"sku": "SAMPLE-SKU",
"currency": "usd",
"current_price": 7405,
"current_shipping": 0,
"cost": 2200,
"minimum_price": 7299,
"maximum_price": 7999,
"strategy": "c38970b9-bbf4-4288-a18b-b8bd1de4fbb7",
"repricing": true,
"manual_price": null,
"created": 1662738023
}
```
# Update a listing
Source: https://docs.goaura.com/api-reference/listings/update
POST /listings/{id}
Updates the specific listing by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
#### Parameters
Three-letter ISO currency code, in lowercase.
Required if any one of `cost`, `minimum_price`, `maximum_price`, or `manual_price` are provided. Must match the currency of the listing. In a future release, we will support currency conversion from any provided currency to the listing currency with our foreign exchange rate data.
The cost of a single unit in cents (in the currency specified) of the listing.
The minimum price in cents (in the currency specified) of the listing.
Inclusive of shipping price for Amazon listings.
The maximum price in cents (in the currency specified) of the listing.
Inclusive of shipping price for Amazon listings.
The ID of the repricing strategy assigned to the listing.
The value `true` to enable repricing by Aura for this listing or the
value `false` to disable repricing.
The manual price in cents (in the currency specified) that Aura will enforce
on repriceable listings. Will have no effect on non-repriceable listings, i.e.
`repricing` is `false`, `minimum_price` is unset or incalculable (if using
profit-based minimum pricing and cost or fees are unavailable), or current
shipping is unavailable. Manual price is inclusive of shipping price for
Amazon listings.
Note: Updating the price of a listing is an asynchronous process. Expect the
current price and shipping to reflect the manual price after 30 seconds to 3
minutes.
```bash POST /listings/:id theme={null}
curl -G https://api.goaura.com/listings/0195b630-49ab-77ca-a2e8-5a7f3235f946 \
-u "sk_2ubjfjUcF0z6lcFio24TC1D9xUa:" \
-d currency=usd \
-d cost=2169
```
#### Returns
The updated listing object is returned upon success. Otherwise, this call returns [an error](/api-reference/errors).
```json RESPONSE theme={null}
{
"id": "0195b630-49ab-77ca-a2e8-5a7f3235f946",
"object": "listing",
"platform": "amazon",
"channel": "f70a0f0d-48e1-4466-8f4c-32747b395de9",
"status": "active",
"sku": "SAMPLE-SKU",
"currency": "usd",
"current_price": 7405,
"current_shipping": 0,
"cost": 2169,
"minimum_price": 7299,
"maximum_price": 7999,
"strategy": "c38970b9-bbf4-4288-a18b-b8bd1de4fbb7",
"repricing": true,
"manual_price": null,
"created": 1662738023
}
```
# Rate limits
Source: https://docs.goaura.com/api-reference/rate-limits
To ensure our platform remains stable and fair for everyone, the Aura API is rate-limited. We ask that developers use industry standard techniques for limiting calls, caching results, and retrying requests responsibly.
## Sliding window algorithm
The Aura API uses a sliding window algorithm to track rate limits. The algorithm is based on a fixed window counter, which is a simple and accurate way to track rate limits. The counter is incremented for each request and decremented when the window slides.
For more information, read [this engineering post by Cloudflare](https://blog.cloudflare.com/counting-things-a-lot-of-different-things/) describing the pattern in more detail.
The default settings are as follows:
* **Requests per second**: 5
# List all strategies
Source: https://docs.goaura.com/api-reference/repricing/strategies/list
GET /strategies
Returns a list of your strategies. The strategies are returned sorted by creation date, with the most recent strategies appearing first.
#### Parameters
A limit on the number of objects to be returned. Limit can range between 1 and
100, and the default is 10.
A cursor for use in pagination. `starting_after` is an object ID that defines
your place in the list. For instance, if you make a list request and receive
100 objects, ending with `obj_foo`, your subsequent call can include
`starting_after=obj_foo` in order to fetch the next page of the list.
A cursor for use in pagination. `ending_before` is an object ID that defines
your place in the list. For instance, if you make a list request and receive
100 objects, starting with `obj_bar`, your subsequent call can include
`ending_before=obj_bar` in order to fetch the previous page of the list.
```bash GET /strategies theme={null}
curl -G https://api.goaura.com/strategies \
-u "sk_2ubjfjUcF0z6lcFio24TC1D9xUa:" \
-d limit=20
```
#### Returns
A dictionary with a `data` property that contains an array of up to `limit` strategies, starting after strategy `starting_after`. Each entry in the array is a separate strategy object. If no more strategies are available, the resulting array will be empty.
```json RESPONSE theme={null}
{
"object": "list",
"has_more": false,
"data": [
{
"id": "c38970b9-bbf4-4288-a18b-b8bd1de4fbb7",
"object": "strategy",
"name": "Buy Box Dominator 9001",
"type": "ai",
"platform": "amazon",
"created_at": 1662732623
}
]
}
```
# The Strategy object
Source: https://docs.goaura.com/api-reference/repricing/strategies/object
We'll be expanding the object incrementally and with backward compatibility.
#### Attributes
Unique identifier for the object.
The name of the strategy.
The type of the strategy. One of `rule` or `ai`.
One of `amazon` or `walmart`.
#### More attributes
String representing the object's type. Objects of the same type share the
same value.
Time at which the object was created. Measured in seconds since the Unix
epoch.
```json THE STRATEGY OBJECT theme={null}
{
"id": "c38970b9-bbf4-4288-a18b-b8bd1de4fbb7",
"object": "strategy",
"name": "Buy Box Dominator 9001",
"type": "ai",
"platform": "amazon",
"created_at": 1662732623
}
```
# Introduction
Source: https://docs.goaura.com/introduction
Get started with the Aura API
Aura is the reseller's operating system. We've set out to build the most powerful and extensible platform for resellers to manage their ecommerce businesses.
## Start building
Comprehensive API documentation to get you started.