use crate::error::{ApiError, Error};
use http::{HeaderMap, HeaderName, HeaderValue, Method};
use reqwest::Client as HttpClient;
use serde::{Serialize, de::DeserializeOwned};
use serde_json::Value;
use std::{
collections::BTreeMap,
path::PathBuf,
sync::Arc,
time::{Duration, SystemTime},
};
#[derive(Debug, Clone)]
pub struct RawResponse<T> {
pub data: T,
pub status: u16,
pub headers: HeaderMap,
pub request_id: Option<String>,
}
#[derive(Debug, Clone, Copy)]
pub enum LifecyclePhase {
Start,
Retry,
Finish,
Error,
}
#[derive(Debug, Clone)]
pub struct LifecycleEvent {
pub phase: LifecyclePhase,
pub operation_id: Option<String>,
pub attempt: usize,
pub duration: Duration,
pub status: Option<u16>,
pub request_id: Option<String>,
pub error: Option<String>,
}
pub type LifecycleHook = Arc<dyn Fn(&LifecycleEvent) + Send + Sync>;
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub enum BodyEncoding {
#[default]
Json,
Multipart,
}
#[derive(Debug, Clone)]
pub enum MultipartFile {
Path(PathBuf),
Bytes {
bytes: Vec<u8>,
filename: String,
mime: Option<String>,
},
}
impl MultipartFile {
pub fn path(value: impl Into<PathBuf>) -> Self {
Self::Path(value.into())
}
pub fn bytes(value: impl Into<Vec<u8>>, filename: impl Into<String>) -> Self {
Self::Bytes {
bytes: value.into(),
filename: filename.into(),
mime: None,
}
}
pub fn with_mime(mut self, mime: impl Into<String>) -> Self {
if let Self::Bytes { mime: slot, .. } = &mut self {
*slot = Some(mime.into())
}
self
}
}
#[derive(Clone, Default)]
pub struct RequestOptions {
pub customer_session: Option<String>,
pub idempotency_key: Option<String>,
pub extra_headers: Vec<(HeaderName, HeaderValue)>,
pub extra_query: serde_json::Map<String, Value>,
pub extra_body: serde_json::Map<String, Value>,
pub multipart_files: BTreeMap<String, MultipartFile>,
pub body_encoding: BodyEncoding,
pub max_retries: Option<usize>,
pub timeout: Option<Duration>,
pub(crate) idempotency_supported: bool,
pub operation_id: Option<String>,
pub lifecycle_hook: Option<LifecycleHook>,
}
#[derive(Clone)]
pub struct Client {
access_token: String,
customer_session: String,
browser_session: String,
client_id: String,
client_secret: String,
api_key: String,
store: String,
base_url: String,
http: HttpClient,
timeout: Duration,
max_retries: usize,
lifecycle_hook: Option<LifecycleHook>,
}
impl Client {
pub fn new(api_key: impl Into<String>, store: impl Into<String>) -> Self {
Self {
access_token: String::new(),
customer_session: String::new(),
browser_session: String::new(),
client_id: String::new(),
client_secret: String::new(),
api_key: api_key.into(),
store: store.into(),
base_url: "https://sell.app/api".into(),
http: HttpClient::builder()
.redirect(reqwest::redirect::Policy::none())
.build()
.expect("default HTTP client"),
timeout: Duration::from_secs(60),
max_retries: 3,
lifecycle_hook: None,
}
}
pub fn from_env() -> Result<Self, Error> {
let key = std::env::var("SELLAPP_API_KEY").unwrap_or_default();
let store = std::env::var("SELLAPP_STORE").unwrap_or_default();
Ok(Self::new(key, store))
}
pub fn with_access_token(mut self, v: impl Into<String>) -> Self {
self.access_token = v.into();
self.api_key.clear();
self
}
pub fn with_customer_session(mut self, v: impl Into<String>) -> Self {
self.customer_session = v.into();
self
}
pub fn with_browser_session(mut self, v: impl Into<String>) -> Self {
self.browser_session = v.into();
self
}
pub fn with_client_credentials(
mut self,
id: impl Into<String>,
secret: impl Into<String>,
) -> Self {
self.client_id = id.into();
self.client_secret = secret.into();
self
}
pub fn with_base_url(mut self, v: impl Into<String>) -> Self {
self.base_url = v.into();
self
}
pub fn with_http_client(mut self, v: HttpClient) -> Self {
self.http = v;
self
}
pub fn with_timeout(mut self, v: Duration) -> Self {
self.timeout = v;
self
}
pub fn with_max_retries(mut self, v: usize) -> Self {
self.max_retries = v;
self
}
pub fn with_lifecycle_hook(mut self, v: LifecycleHook) -> Self {
self.lifecycle_hook = Some(v);
self
}
pub fn api_key(&self) -> &str {
&self.api_key
}
pub fn store(&self) -> &str {
&self.store
}
pub fn base_url(&self) -> &str {
self.base_url.trim_end_matches('/')
}
fn validate(&self, options: Option<&RequestOptions>) -> Result<(usize, Duration), Error> {
let timeout = options.and_then(|o| o.timeout).unwrap_or(self.timeout);
if timeout.is_zero() {
return Err(Error::Configuration("timeout must be positive".into()));
}
Ok((
options
.and_then(|o| o.max_retries)
.unwrap_or(self.max_retries),
timeout,
))
}
fn authenticate(
&self,
mut request: reqwest::RequestBuilder,
contract: Contract,
options: Option<&RequestOptions>,
) -> Result<reqwest::RequestBuilder, Error> {
let session = options
.and_then(|o| o.customer_session.as_deref())
.unwrap_or(&self.customer_session);
let mut needs_store = false;
if contract.customer_session && !session.is_empty() {
request = request.bearer_auth(session)
} else if contract.access_token && !self.access_token.is_empty() {
request = request.bearer_auth(&self.access_token);
needs_store = contract.access_token_store;
if needs_store && !self.store.is_empty() {
request = request.header("X-STORE", &self.store)
}
} else if contract.api_key && !self.api_key.is_empty() {
request = request.bearer_auth(&self.api_key);
needs_store = contract.api_key_store;
if contract.api_key_uses_store && !self.store.is_empty() {
request = request.header("X-STORE", &self.store)
}
} else if contract.browser_session && !self.browser_session.is_empty() {
request = request.header("Cookie", &self.browser_session)
} else if contract.client_basic
&& !self.client_id.is_empty()
&& !self.client_secret.is_empty()
{
request = request.basic_auth(&self.client_id, Some(&self.client_secret))
} else if !contract.anonymous {
return Err(Error::Configuration(
"credentials required by this operation are missing".into(),
));
};
if needs_store && self.store.is_empty() {
return Err(Error::Configuration(
"store is required for this operation and credential".into(),
));
};
Ok(request)
}
fn retry_safe(method: &Method, options: Option<&RequestOptions>) -> bool {
matches!(
*method,
Method::GET | Method::HEAD | Method::OPTIONS | Method::PUT | Method::DELETE
) || options.is_some_and(|o| {
o.idempotency_supported
&& o.idempotency_key
.as_ref()
.is_some_and(|v| !v.trim().is_empty())
})
}
fn emit(&self, options: Option<&RequestOptions>, event: LifecycleEvent) {
if let Some(hook) = options
.and_then(|o| o.lifecycle_hook.as_ref())
.or(self.lifecycle_hook.as_ref())
{
hook(&event)
}
}
fn event(
options: Option<&RequestOptions>,
phase: LifecyclePhase,
attempt: usize,
started: std::time::Instant,
status: Option<u16>,
request_id: Option<String>,
error: Option<String>,
) -> LifecycleEvent {
LifecycleEvent {
phase,
operation_id: options.and_then(|o| o.operation_id.clone()),
attempt,
duration: started.elapsed(),
status,
request_id,
error,
}
}
fn delay(response: Option<&reqwest::Response>, attempt: usize) -> Duration {
if let Some(raw) = response
.and_then(|r| r.headers().get("retry-after"))
.and_then(|v| v.to_str().ok())
{
if let Ok(seconds) = raw.parse::<u64>() {
return Duration::from_secs(seconds).min(Duration::from_secs(30));
}
if let Ok(when) = httpdate::parse_http_date(raw) {
return when
.duration_since(SystemTime::now())
.unwrap_or_default()
.min(Duration::from_secs(30));
}
}
let base = 250u64
.saturating_mul(1u64.checked_shl(attempt.min(16) as u32).unwrap_or(u64::MAX))
.min(30_000);
let jitter = SystemTime::now()
.duration_since(SystemTime::UNIX_EPOCH)
.unwrap_or_default()
.subsec_nanos() as u64
% (base / 4 + 1);
Duration::from_millis((base + jitter).min(30_000))
}
async fn multipart_form(
value: &Value,
files: &BTreeMap<String, MultipartFile>,
) -> Result<reqwest::multipart::Form, Error> {
let fields = value.as_object().ok_or_else(|| {
Error::Serialization("multipart body must serialize to an object".into())
})?;
let mut form = reqwest::multipart::Form::new();
for (key, value) in fields {
if files.contains_key(key) {
continue;
}
let binary = match value {
Value::Array(values) => values
.iter()
.map(|item| item.as_u64().and_then(|value| u8::try_from(value).ok()))
.collect::<Option<Vec<u8>>>(),
_ => None,
};
if let Some(bytes) = binary {
form = form.part(
key.clone(),
reqwest::multipart::Part::bytes(bytes).file_name(key.clone()),
);
continue;
}
let text = match value {
Value::String(value) => value.clone(),
other => {
serde_json::to_string(other).map_err(|e| Error::Serialization(e.to_string()))?
}
};
form = form.text(key.clone(), text)
}
for (key, file) in files {
let part = match file {
MultipartFile::Path(path) => {
reqwest::multipart::Part::file(path).await.map_err(|e| {
Error::Builder(format!(
"cannot open multipart file {}: {e}",
path.display()
))
})?
}
MultipartFile::Bytes {
bytes,
filename,
mime,
} => {
let part =
reqwest::multipart::Part::bytes(bytes.clone()).file_name(filename.clone());
match mime {
Some(value) => part.mime_str(value).map_err(|e| {
Error::Builder(format!("invalid multipart MIME type: {e}"))
})?,
None => part,
}
}
};
form = form.part(key.clone(), part)
}
Ok(form)
}
#[allow(clippy::too_many_arguments)]
#[allow(clippy::collapsible_if)]
async fn execute_raw<T: DeserializeOwned, Q: Serialize + ?Sized, B: Serialize + ?Sized>(
&self,
method: Method,
path: &str,
query: &Q,
body: Option<&B>,
options: Option<&RequestOptions>,
schema: Option<&str>,
) -> Result<RawResponse<T>, Error> {
let (retries, timeout) = self.validate(options)?;
let contract = contract_for(&method, path);
let base = reqwest::Url::parse(&format!("{}/", self.base_url()))
.map_err(|e| Error::Configuration(e.to_string()))?;
let relative = path.parse::<reqwest::Url>().ok();
if relative.as_ref().is_some_and(|u| u.has_host())
|| path.contains('#')
|| !path.starts_with('/')
{
return Err(Error::Configuration(
"request path must be relative and contain no fragment".into(),
));
}
let base = if !contract.server.is_empty() {
if self.base_url() == "https://sell.app/api" {
reqwest::Url::parse(&format!("{}/", contract.server.trim_end_matches('/')))
.map_err(|e| Error::Configuration(e.to_string()))?
} else {
base.join("/")
.map_err(|e| Error::Configuration(e.to_string()))?
}
} else {
base
};
let url = base
.join(path.trim_start_matches('/'))
.map_err(|e| Error::Builder(e.to_string()))?;
let mut query_value =
serde_json::to_value(query).map_err(|e| Error::Serialization(e.to_string()))?;
if let (Some(map), Some(extra)) =
(query_value.as_object_mut(), options.map(|o| &o.extra_query))
{
map.extend(extra.clone())
}
let mut body_value = match body {
Some(value) => {
Some(serde_json::to_value(value).map_err(|e| Error::Serialization(e.to_string()))?)
}
None => None,
};
if let (Some(Value::Object(map)), Some(extra)) =
(body_value.as_mut(), options.map(|o| &o.extra_body))
{
map.extend(extra.clone())
}
if let (Some(key), Some(value)) = (schema, body_value.as_ref()) {
crate::runtime_schema::operation(value, key, true)?
}
let safe = !contract.never_retry
&& Self::retry_safe(&method, options)
&& (!options.is_some_and(|o| o.idempotency_key.is_some())
|| contract.declared_idempotency
|| matches!(
method,
Method::GET | Method::HEAD | Method::OPTIONS | Method::PUT | Method::DELETE
));
for attempt in 0..=retries {
let started = std::time::Instant::now();
let mut req = self
.http
.request(method.clone(), url.clone())
.header("User-Agent", "SellApp Rust/0.1.1")
.timeout(timeout);
let mut query_pairs = Vec::new();
form_pairs(&query_value, None, &mut query_pairs);
req = req.query(&query_pairs);
if let Some(value) = body_value.as_ref() {
if options.is_some_and(|o| o.body_encoding == BodyEncoding::Multipart) {
req = req.multipart(
Self::multipart_form(value, &options.expect("checked").multipart_files)
.await?,
)
} else if contract.form {
if contract.client_basic
&& !self.client_id.is_empty()
&& (value.get("client_id").is_some()
|| value.get("client_secret").is_some())
{
return Err(Error::Configuration(
"use Basic or body client credentials, never both".into(),
));
}
let mut pairs = Vec::new();
form_pairs(value, None, &mut pairs);
req = req.form(&pairs)
} else {
req = req.json(value)
}
}
if let Some(o) = options {
if let Some(k) = &o.idempotency_key {
req = req.header("Idempotency-Key", k)
}
for (k, v) in &o.extra_headers {
if !matches!(k.as_str(), "authorization" | "x-store" | "cookie") {
req = req.header(k, v)
}
}
}
req = self.authenticate(req, contract, options)?;
self.emit(
options,
Self::event(
options,
LifecyclePhase::Start,
attempt + 1,
started,
None,
None,
None,
),
);
match req.send().await {
Ok(resp) => {
let status = resp.status();
if safe
&& (status.as_u16() == 408
|| status.as_u16() == 409
|| status.as_u16() == 429
|| status.is_server_error())
&& attempt < retries
{
self.emit(
options,
Self::event(
options,
LifecyclePhase::Retry,
attempt + 1,
started,
Some(status.as_u16()),
None,
None,
),
);
tokio::time::sleep(Self::delay(Some(&resp), attempt)).await;
continue;
}
let headers = resp.headers().clone();
let request_id = headers
.get("x-request-id")
.and_then(|v| v.to_str().ok())
.map(str::to_owned);
let bytes = match resp.bytes().await {
Ok(value) => value,
Err(e) => {
self.emit(
options,
Self::event(
options,
LifecyclePhase::Error,
attempt + 1,
started,
Some(status.as_u16()),
request_id.clone(),
Some(e.to_string()),
),
);
return Err(Error::Transport(e.to_string()));
}
};
if status.as_u16() >= 400 {
let body: Value = serde_json::from_slice(&bytes).unwrap_or_else(|_| {
Value::String(String::from_utf8_lossy(&bytes).into_owned())
});
let payload = body.get("error").filter(|v| v.is_object()).unwrap_or(&body);
let request_id = payload
.get("request_id")
.and_then(Value::as_str)
.map(str::to_owned)
.or(request_id);
let error = ApiError {
error_type: payload
.get("type")
.and_then(Value::as_str)
.map(str::to_owned),
code: payload
.get("code")
.or_else(|| payload.get("error"))
.and_then(Value::as_str)
.map(str::to_owned),
message: payload
.get("message")
.or_else(|| payload.get("error_description"))
.and_then(Value::as_str)
.unwrap_or("SellApp API request failed")
.to_owned(),
status: status.as_u16(),
param: payload
.get("param")
.and_then(Value::as_str)
.map(str::to_owned),
request_id: request_id.clone(),
docs_url: payload
.get("docs_url")
.and_then(Value::as_str)
.map(str::to_owned),
retry_after: headers
.get("retry-after")
.and_then(|v| v.to_str().ok())
.and_then(|v| v.parse::<u64>().ok())
.map(Duration::from_secs),
body,
headers,
};
self.emit(
options,
Self::event(
options,
LifecyclePhase::Error,
attempt + 1,
started,
Some(status.as_u16()),
request_id,
None,
),
);
return Err(if status.as_u16() == 401 {
Error::Authentication(Box::new(error))
} else {
Error::Api(Box::new(error))
});
}
let value: Value = if bytes.is_empty() {
Value::Null
} else if contract.text || status.is_redirection() {
Value::String(String::from_utf8_lossy(&bytes).into_owned())
} else {
match serde_json::from_slice(&bytes) {
Ok(value) => value,
Err(e) => {
self.emit(
options,
Self::event(
options,
LifecyclePhase::Error,
attempt + 1,
started,
Some(status.as_u16()),
request_id.clone(),
Some(e.to_string()),
),
);
return Err(Error::Serialization(e.to_string()));
}
}
};
if let Some(key) = schema.filter(|_| !contract.text && !status.is_redirection())
{
if let Err(e) = crate::runtime_schema::operation(&value, key, false) {
self.emit(
options,
Self::event(
options,
LifecyclePhase::Error,
attempt + 1,
started,
Some(status.as_u16()),
request_id.clone(),
Some(e.to_string()),
),
);
return Err(e);
}
}
let data = match serde_json::from_value(value) {
Ok(value) => value,
Err(e) => {
self.emit(
options,
Self::event(
options,
LifecyclePhase::Error,
attempt + 1,
started,
Some(status.as_u16()),
request_id.clone(),
Some(e.to_string()),
),
);
return Err(Error::Serialization(e.to_string()));
}
};
self.emit(
options,
Self::event(
options,
LifecyclePhase::Finish,
attempt + 1,
started,
Some(status.as_u16()),
request_id.clone(),
None,
),
);
return Ok(RawResponse {
data,
status: status.as_u16(),
headers,
request_id,
});
}
Err(e) => {
if e.is_timeout() {
self.emit(
options,
Self::event(
options,
LifecyclePhase::Error,
attempt + 1,
started,
None,
None,
Some(e.to_string()),
),
);
return Err(Error::Timeout(e.to_string()));
}
if !safe || attempt == retries {
self.emit(
options,
Self::event(
options,
LifecyclePhase::Error,
attempt + 1,
started,
None,
None,
Some(e.to_string()),
),
);
return Err(Error::Transport(e.to_string()));
}
self.emit(
options,
Self::event(
options,
LifecyclePhase::Retry,
attempt + 1,
started,
None,
None,
Some(e.to_string()),
),
);
tokio::time::sleep(Self::delay(None, attempt)).await
}
}
}
unreachable!()
}
#[allow(clippy::too_many_arguments)]
async fn execute<T: DeserializeOwned, Q: Serialize + ?Sized, B: Serialize + ?Sized>(
&self,
m: Method,
p: &str,
q: &Q,
b: Option<&B>,
o: Option<&RequestOptions>,
schema: Option<&str>,
) -> Result<T, Error> {
Ok(self.execute_raw(m, p, q, b, o, schema).await?.data)
}
pub async fn custom_request(
&self,
m: Method,
p: &str,
q: Value,
b: Option<Value>,
o: Option<&RequestOptions>,
) -> Result<RawResponse<Value>, Error> {
let mut safe = o.cloned().unwrap_or_default();
safe.idempotency_supported = false;
self.execute_raw(m, p, &q, b.as_ref(), Some(&safe), None)
.await
}
pub async fn request_with_query_opts<T: DeserializeOwned, Q: Serialize + ?Sized>(
&self,
m: Method,
p: &str,
q: &Q,
o: Option<&RequestOptions>,
) -> Result<T, Error> {
self.execute::<T, Q, ()>(m, p, q, None, o, None).await
}
pub async fn request_with_query_opts_empty<Q: Serialize + ?Sized>(
&self,
m: Method,
p: &str,
q: &Q,
o: Option<&RequestOptions>,
) -> Result<(), Error> {
self.execute::<Value, Q, ()>(m, p, q, None, o, None)
.await
.map(|_| ())
}
pub async fn request_with_body_opts<
T: DeserializeOwned,
Q: Serialize + ?Sized,
B: Serialize + ?Sized,
>(
&self,
m: Method,
p: &str,
q: &Q,
b: Option<&B>,
o: Option<&RequestOptions>,
) -> Result<T, Error> {
self.execute(m, p, q, b, o, None).await
}
pub async fn request_with_body_opts_empty<Q: Serialize + ?Sized, B: Serialize + ?Sized>(
&self,
m: Method,
p: &str,
q: &Q,
b: Option<&B>,
o: Option<&RequestOptions>,
) -> Result<(), Error> {
self.execute::<Value, Q, B>(m, p, q, b, o, None)
.await
.map(|_| ())
}
#[allow(dead_code)]
pub(crate) async fn request_with_query_schema_opts<
T: DeserializeOwned,
Q: Serialize + ?Sized,
>(
&self,
m: Method,
p: &str,
q: &Q,
o: Option<&RequestOptions>,
schema: &str,
) -> Result<T, Error> {
self.execute::<T, Q, ()>(m, p, q, None, o, Some(schema))
.await
}
#[allow(dead_code)]
pub(crate) async fn request_with_query_schema_opts_empty<Q: Serialize + ?Sized>(
&self,
m: Method,
p: &str,
q: &Q,
o: Option<&RequestOptions>,
schema: &str,
) -> Result<(), Error> {
self.execute::<Value, Q, ()>(m, p, q, None, o, Some(schema))
.await
.map(|_| ())
}
#[allow(dead_code)]
pub(crate) async fn request_with_body_schema_opts<
T: DeserializeOwned,
Q: Serialize + ?Sized,
B: Serialize + ?Sized,
>(
&self,
m: Method,
p: &str,
q: &Q,
b: Option<&B>,
o: Option<&RequestOptions>,
schema: &str,
) -> Result<T, Error> {
self.execute(m, p, q, b, o, Some(schema)).await
}
#[allow(dead_code)]
pub(crate) async fn request_with_body_schema_opts_empty<
Q: Serialize + ?Sized,
B: Serialize + ?Sized,
>(
&self,
m: Method,
p: &str,
q: &Q,
b: Option<&B>,
o: Option<&RequestOptions>,
schema: &str,
) -> Result<(), Error> {
self.execute::<Value, Q, B>(m, p, q, b, o, Some(schema))
.await
.map(|_| ())
}
pub(crate) async fn request_with_query_schema_opts_raw<
T: DeserializeOwned,
Q: Serialize + ?Sized,
>(
&self,
m: Method,
p: &str,
q: &Q,
o: Option<&RequestOptions>,
schema: &str,
) -> Result<RawResponse<T>, Error> {
self.execute_raw::<T, Q, ()>(m, p, q, None, o, Some(schema))
.await
}
pub(crate) async fn request_with_body_schema_opts_raw<
T: DeserializeOwned,
Q: Serialize + ?Sized,
B: Serialize + ?Sized,
>(
&self,
m: Method,
p: &str,
q: &Q,
b: Option<&B>,
o: Option<&RequestOptions>,
schema: &str,
) -> Result<RawResponse<T>, Error> {
self.execute_raw(m, p, q, b, o, Some(schema)).await
}
}
#[derive(Clone, Copy)]
struct Contract {
method: &'static str,
path: &'static str,
anonymous: bool,
api_key: bool,
access_token: bool,
customer_session: bool,
browser_session: bool,
client_basic: bool,
api_key_store: bool,
api_key_uses_store: bool,
access_token_store: bool,
never_retry: bool,
declared_idempotency: bool,
server: &'static str,
form: bool,
text: bool,
}
fn contract_for(method: &Method, path: &str) -> Contract {
const CONTRACTS: &[Contract] = &[
Contract {
method: "GET",
path: "/v2/charges",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/charges",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/charges/{charge}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/charges/{charge_id}/completed",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/charges/{charge_id}/voided",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/groups",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/groups",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/groups/{group}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/groups/{group}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/groups/{group}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/groups/{group}/products/attach",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/groups/{group}/products/detach",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/groups/{group}/products",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/groups/{group}/products",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/groups/{group}/products/{product}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/groups/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/groups/{group}/products/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/invoices",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/invoices",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/invoices/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/invoices/{invoice}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/invoices/{invoice}/checkout",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/invoices/{invoice}/deliverables",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/invoices/{invoice}/mark-completed",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/invoices/{invoice}/mark-voided",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/invoices/{invoice}/issue-replacement",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/invoices/{invoice}/status",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/invoices/{invoice}/refunds",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/invoices/{invoice}/fulfillment-retries",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/invoices/{invoice}/dynamic-delivery-retries",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/invoices/{invoice}/fulfillment-notifications",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/licenses/activate",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/licenses/validate",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/license-keys",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/license-keys/{license_key}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/license-keys/{license_key}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/licenses/deactivate",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/license-keys/{license_key}/instances",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/license-keys/{license_key}/instances/{instance}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/license-key-instances",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/products/{product}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/products/{product}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/products/{product}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/products/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/products/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/{product}/variants",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants/{variant}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/products/{product}/variants/{variant}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/products/{product}/variants/{variant}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/products/{product}/variants/{variant}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/{product}/variants/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/products/{product}/variants/{variant}/pricing",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/products/{product}/variants/{variant}/pricing",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants/{variant}/booking/availability",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/{product}/variants/{variant}/booking/holds",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/products/{product}/variants/booking/holds/{hold}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/{product}/variants/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/products/{product}/variants/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/products/{product}/variants/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/subscriptions/{subscription}/cancel",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/subscriptions/{productSubscription}/capabilities",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/{productSubscription}/actions/cancel-period-end",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/{productSubscription}/actions/cancel-immediately",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/{productSubscription}/actions/pause",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/{productSubscription}/actions/resume",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/{productSubscription}/actions/update-payment-method",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/{productSubscription}/actions/change-plan/preview",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/{productSubscription}/actions/change-plan/confirm",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/{productSubscription}/actions/change-renewal-date/preview",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/{productSubscription}/actions/change-renewal-date/confirm",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/subscriptions",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/subscriptions/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/subscriptions/{productSubscription}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/bookings",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/bookings/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/bookings/{booking}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/bookings/{booking}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/bookings/{booking}/status",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants/{variant}/booking",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/products/{product}/variants/{variant}/booking",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/products/{product}/variants/{variant}/booking",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/booking-calendar-events",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/booking-calendar-events",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/bundles/{bundle}/items/{item}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/bundles/{bundle}/items",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/bundles/{bundle}/items/attach",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/bundles/{bundle}/items/detach",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/promotions",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/promotions",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/promotions/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/promotions/{promotion}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/promotions/{promotion}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/promotions/{promotion}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/promotions/{promotion}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/promotions/{promotion}/restore",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/promotions/{promotion}/phases",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/promotions/{promotion}/phases",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/addons",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/addons",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/addons/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/addons/{addon}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/addons/{addon}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/addons/{addon}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/addons/{addon}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/addons/{addon}/parent-products",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/addons/{addon}/parent-products",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/addons",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/products/{product}/addons",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/highlights",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/highlights",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/highlights/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/highlights/reorder",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/highlights/{highlight}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/highlights/{highlight}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/highlights/{highlight}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/highlights/{highlight}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/highlights/{highlight}/media",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/highlights/{highlight}/media",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/highlights/{highlight}/media/reorder",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/highlights/{highlight}/media/{media}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/highlights/{highlight}/media/{media}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/highlights/{highlight}/media/{media}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/highlights/{highlight}/media/{media}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/webhook-channels",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/webhook-channels",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/webhook-channels/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/webhook-channels/signing-secret",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/webhook-channels/{webhookChannel}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/webhook-channels/{webhookChannel}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/webhook-channels/{webhookChannel}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/webhook-channels/{webhookChannel}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/webhook-channels/{webhookChannel}/test",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customers",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customers",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customers/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customers/{customer}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/customers/{customer}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customers/external/{externalId}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/customers/external/{externalId}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/customers/external/{externalId}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/orders",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/orders/{order}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/orders/{order}/status",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/{order}/checkout",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/{order}/replacements",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/{order}/refunds",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/{order}/fulfillment-retries",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/{order}/dynamic-delivery-retries",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/{order}/fulfillment-notifications",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/orders/{order}/deliverables",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/wallet",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/{order}/wallet-payments",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/line-items",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/line-items/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/line-items/{lineItem}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/orders/{order}/line-items",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/orders/{order}/line-items/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/orders/{order}/line-items/{lineItem}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants/{variant}/deliverable",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/products/{product}/variants/{variant}/deliverable",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants/{variant}/deliverable/files",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/{product}/variants/{variant}/deliverable/files",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants/{variant}/deliverable/files/{file}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/products/{product}/variants/{variant}/deliverable/files/{file}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/products/{product}/variants/{variant}/deliverable/files/{file}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/products/{product}/variants/{variant}/deliverable/files/{file}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants/{variant}/deliverable/folders",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/{product}/variants/{variant}/deliverable/folders",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants/{variant}/deliverable/folders/{folder}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/products/{product}/variants/{variant}/deliverable/folders/{folder}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/products/{product}/variants/{variant}/deliverable/folders/{folder}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/products/{product}/variants/{variant}/deliverable/folders/{folder}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/products/{product}/variants/{variant}/serials",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/{product}/variants/{variant}/serials",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/products/{product}/variants/{variant}/serials",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/products/{product}/variants/{variant}/serials/import",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/products/{product}/variants/{variant}/serials/{serial}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliate-program",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/affiliate-program",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliate-invitations",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/affiliate-invitations",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/reward-rules",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/reward-rules",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/reward-rules/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/reward-rules/{rewardRule}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/reward-rules/{rewardRule}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/reward-rules/{rewardRule}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/reward-coupon-templates",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/reward-coupon-templates",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/reward-coupon-templates/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/reward-coupon-templates/{rewardCouponTemplate}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/reward-coupon-templates/{rewardCouponTemplate}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/reward-coupon-templates/{rewardCouponTemplate}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/reward-grants",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/reward-grants",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/reward-grants/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/reward-grants/{rewardGrant}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/upsell-offers",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/upsell-offers",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/upsell-offers/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/upsell-offers/{upsellOffer}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/upsell-offers/{upsellOffer}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/upsell-offers/{upsellOffer}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/upsell-offers/{upsellOffer}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/community-connections",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/community-connections/{platform}/connect",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/community-connections/{platform}/status",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/community-connections/{platform}/complete",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/community-connections/{platform}/verify",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/community-connections/{platform}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/wallet/settings",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/wallet/settings",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/wallets",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/wallets/{customer}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/wallets/{customer}/adjustments",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/wallets/{customer}/status",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/wallets/{customer}/transactions",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/wallets/{customer}/top-ups",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/cashback-rules",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/cashback-rules",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/cashback-rules/{cashbackRule}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/cashback-rules/{cashbackRule}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/cashback-rules/{cashbackRule}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/cashback-rules/{cashbackRule}/restore",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/wallet-bonus-tiers",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/wallet-bonus-tiers",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/wallet-bonus-tiers/{bonusTier}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/wallet-bonus-tiers/{bonusTier}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/wallet-bonus-tiers/{bonusTier}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/wallet-bonus-tiers/{bonusTier}/restore",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/courses",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/courses/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/courses/{course}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/courses/{course}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/courses/{course}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/courses/{course}/sections",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/courses/{course}/sections/{section}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/courses/{course}/sections/{section}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/courses/{course}/sections/{section}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/courses/{course}/sections/reorder",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/courses/{course}/sections/{section}/lessons",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/courses/{course}/lessons/{lesson}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/courses/{course}/lessons/{lesson}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/courses/{course}/lessons/{lesson}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/courses/{course}/lessons/reorder",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/payment-methods",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/payment-methods/{paymentMethod}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/payment-methods/{paymentMethod}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/payment-methods/{paymentMethod}/connect",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/payment-methods/{paymentMethod}/configuration",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/payment-methods/custom",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/payment-methods/custom",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/payment-methods/custom/{customPaymentMethod}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/payment-methods/custom/{customPaymentMethod}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/payment-methods/custom/{customPaymentMethod}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/payment-methods/custom/{customPaymentMethod}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/store/settings",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/store/settings/general",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/store/settings/general",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/store/settings/analytics",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/store/settings/analytics",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/store/settings/marketing",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/store/settings/marketing",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/store/notification-channels",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/store/notification-channels",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/store/notification-channels/{notificationChannel}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/store/notification-channels/{notificationChannel}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/store/notification-channels/{notificationChannel}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/store/notification-channels/{notificationChannel}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/store/custom-domains",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/store/custom-domains",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/store/custom-domains/{customDomain}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/store/custom-domains/{customDomain}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/store/custom-domains/{customDomain}/refresh",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/credit-products",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/credit-products",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/credit-products/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/credit-products/{creditProduct}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/credit-products/{creditProduct}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/credit-products/{creditProduct}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/credit-products/{creditProduct}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/credit-balances",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/credit-balances/{customer}/{creditProduct}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/credit-transactions",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/credit-balances/{customer}/{creditProduct}/transactions",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliates",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliates/{affiliate}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/affiliates/{affiliate}/status",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliate-referrals",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliate-referrals/{referral}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/affiliate-referrals/{referral}/status",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliate-referral-sessions",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliate-referral-sessions/{referralSession}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliate-payouts",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/affiliate-payouts/{payout}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/affiliates/{affiliate}/payouts",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/affiliate-payouts/{payout}/status",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/refunds",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/refunds/{refund}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/exports",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/exports",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/exports/{export}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/exports/{export}/download",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/disputes",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/disputes/{dispute}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customers/{customer}/entitlements",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customers/external/{externalId}/entitlements",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-sessions",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: true,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/customer-sessions/{session}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customer-portal/me",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/customer-portal/me",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customer-portal/orders",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customer-portal/orders/{order}",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customer-portal/subscriptions",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customer-portal/subscriptions/{subscription}",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customer-portal/subscriptions/{subscription}/capabilities",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/customer-portal/entitlements",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-portal/subscriptions/{productSubscription}/actions/cancel-period-end",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-portal/subscriptions/{productSubscription}/actions/cancel-immediately",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-portal/subscriptions/{productSubscription}/actions/pause",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-portal/subscriptions/{productSubscription}/actions/resume",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-portal/subscriptions/{productSubscription}/actions/update-payment-method",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-portal/subscriptions/{productSubscription}/actions/change-plan/preview",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-portal/subscriptions/{productSubscription}/actions/change-plan/confirm",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-portal/subscriptions/{productSubscription}/actions/change-renewal-date/preview",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/customer-portal/subscriptions/{productSubscription}/actions/change-renewal-date/confirm",
anonymous: false,
api_key: false,
access_token: false,
customer_session: true,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/events",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/orders/{order}/events",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/webhook-event-types",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/webhook-deliveries",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/webhook-deliveries/{delivery}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/webhook-deliveries/{delivery}/replay",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/me",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: false,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/stores",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: false,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/stores",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: false,
access_token_store: false,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/stores/{store}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: false,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/permissions",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/oauth/installation",
anonymous: false,
api_key: false,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: false,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/oauth/installation",
anonymous: false,
api_key: false,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: false,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/blacklists",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/blacklists",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/blacklists/{blacklist}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v1/blacklists/{blacklist}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v1/blacklists/{blacklist}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/coupons",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/coupons",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/coupons/{coupon}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v1/coupons/{coupon}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v1/coupons/{coupon}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v1/coupons/{coupon}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/coupons/search",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/coupons/batch",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v1/coupons/batch",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v1/coupons/batch",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/feedback",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/feedback/{feedback}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v1/feedback/{feedback}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/feedback/search",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/sections",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/sections",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/sections/{section}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v1/sections/{section}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v1/sections/{section}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v1/sections/{section}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v1/sections/order",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v1/sections/{section}/products",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v1/sections/{section}/groups",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/sections/search",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/sections/batch",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v1/sections/batch",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v1/sections/batch",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/tickets",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/tickets/{ticket}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/tickets/{ticket}/messages",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/tickets/{ticket}/messages",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v1/tickets/{ticket}/messages/{message}",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/tickets/search",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v1/tickets/{ticket}/messages/search",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/blacklists",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/blacklists",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/blacklists/{blacklist}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/blacklists/{blacklist}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/blacklists/{blacklist}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/blacklists/{blacklist}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/coupons",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/coupons",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/coupons/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/coupons/{coupon}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/coupons/{coupon}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/coupons/{coupon}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/coupons/{coupon}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/coupons/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/coupons/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/coupons/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/feedback",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/feedback/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/feedback/{feedback}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/feedback/{feedback}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/feedback/{feedback}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/sections",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/sections",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/sections/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/sections/{section}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/sections/{section}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/sections/{section}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/sections/{section}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/sections/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/sections/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "DELETE",
path: "/v2/sections/batch",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/sections/order",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/sections/{section}/products",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PUT",
path: "/v2/sections/{section}/groups",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/tickets",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/tickets/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/tickets/{ticket}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "PATCH",
path: "/v2/tickets/{ticket}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: true,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/tickets/{ticket}/messages",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/tickets/{ticket}/messages",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "POST",
path: "/v2/tickets/{ticket}/messages/search",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/v2/tickets/{ticket}/messages/{message}",
anonymous: false,
api_key: true,
access_token: true,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: true,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/.well-known/oauth-authorization-server",
anonymous: true,
api_key: false,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "https://sell.app",
form: false,
text: false,
},
Contract {
method: "GET",
path: "/oauth/authorize",
anonymous: true,
api_key: false,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: true,
declared_idempotency: false,
server: "https://sell.app",
form: false,
text: true,
},
Contract {
method: "POST",
path: "/oauth/authorize",
anonymous: false,
api_key: false,
access_token: false,
customer_session: false,
browser_session: true,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: true,
declared_idempotency: false,
server: "https://sell.app",
form: true,
text: false,
},
Contract {
method: "DELETE",
path: "/oauth/authorize",
anonymous: false,
api_key: false,
access_token: false,
customer_session: false,
browser_session: true,
client_basic: false,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: true,
declared_idempotency: false,
server: "https://sell.app",
form: true,
text: false,
},
Contract {
method: "POST",
path: "/oauth/token",
anonymous: true,
api_key: false,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: true,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: true,
declared_idempotency: false,
server: "https://sell.app",
form: true,
text: false,
},
Contract {
method: "POST",
path: "/oauth/revoke",
anonymous: true,
api_key: false,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: true,
api_key_store: false,
api_key_uses_store: true,
access_token_store: false,
never_retry: true,
declared_idempotency: false,
server: "https://sell.app",
form: true,
text: false,
},
];
for value in CONTRACTS {
if value.method == method.as_str()
&& value.path.split('/').count() == path.split('/').count()
&& value
.path
.split('/')
.zip(path.split('/'))
.all(|(expected, actual)| {
expected == actual
|| expected.starts_with('{')
&& expected.ends_with('}')
&& !actual.is_empty()
})
{
return *value;
}
}
Contract {
method: "",
path: "",
anonymous: false,
api_key: true,
access_token: false,
customer_session: false,
browser_session: false,
client_basic: false,
api_key_store: true,
api_key_uses_store: true,
access_token_store: false,
never_retry: false,
declared_idempotency: false,
server: "",
form: false,
text: false,
}
}
fn form_pairs(value: &Value, prefix: Option<String>, result: &mut Vec<(String, String)>) {
match value {
Value::Object(fields) => {
for (key, value) in fields {
form_pairs(
value,
Some(match &prefix {
Some(parent) => format!("{parent}[{key}]"),
None => key.clone(),
}),
result,
)
}
}
Value::Array(values) => {
for value in values {
form_pairs(
value,
Some(format!("{}[]", prefix.as_deref().unwrap_or_default())),
result,
)
}
}
Value::Null => {}
other => result.push((
prefix.unwrap_or_default(),
match other {
Value::String(value) => value.clone(),
_ => other.to_string(),
},
)),
}
}
pub fn path_segment(v: impl AsRef<str>) -> String {
urlencoding::encode(v.as_ref()).into_owned()
}