---
openapi: 3.0.1
info:
title: Platform API V2
version: v2
paths:
"/api/v2/platform/addresses":
get:
summary: Returns a list of Addresses
tags:
- Addresses
security:
- bearer_auth: []
parameters:
- name: page
in: query
example: 1
schema:
type: integer
- name: per_page
in: query
example: 50
schema:
type: integer
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: user,country,state
schema:
type: string
- name: filter
in: query
description: ''
example: user_id_eq=1&firstname_cont=Joh
schema:
type: string
responses:
'200':
description: Records returned
content:
application/vnd.api+json:
examples:
Example:
value:
data:
- id: '1'
type: address
attributes:
firstname: John
lastname: Doe
address1: 1 Lovely Street
address2: Northwest
city: Herndon
zipcode: '35005'
phone: 555-555-0199
state_name:
alternative_phone: 555-555-0199
company: Company
created_at: '2021-08-20T11:02:26.158Z'
updated_at: '2021-08-20T11:02:26.158Z'
deleted_at:
label:
relationships:
country:
data:
id: '1'
type: country
state:
data:
id: '1'
type: state
user:
data:
- id: '2'
type: address
attributes:
firstname: John
lastname: Doe
address1: 2 Lovely Street
address2: Northwest
city: Herndon
zipcode: '35005'
phone: 555-555-0199
state_name:
alternative_phone: 555-555-0199
company: Company
created_at: '2021-08-20T11:02:26.166Z'
updated_at: '2021-08-20T11:02:26.166Z'
deleted_at:
label:
relationships:
country:
data:
id: '1'
type: country
state:
data:
id: '2'
type: state
user:
data:
meta:
count: 2
total_count: 2
total_pages: 1
links:
self: http://www.example.com/api/v2/platform/addresses?page=1&per_page=&include=&filter=
next: http://www.example.com/api/v2/platform/addresses?include=&page=1&per_page=
prev: http://www.example.com/api/v2/platform/addresses?include=&page=1&per_page=
last: http://www.example.com/api/v2/platform/addresses?include=&page=1&per_page=
first: http://www.example.com/api/v2/platform/addresses?include=&page=1&per_page=
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
post:
summary: Creates an Address
tags:
- Addresses
security:
- bearer_auth: []
parameters:
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: user,country,state
schema:
type: string
responses:
'201':
description: record created
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: address
attributes:
firstname: John
lastname: Doe
address1: 5 Lovely Street
address2: Northwest
city: Herndon
zipcode: '35005'
phone: 555-555-0199
state_name:
alternative_phone: 555-555-0199
company: Company
created_at: '2021-08-20T11:02:26.535Z'
updated_at: '2021-08-20T11:02:26.535Z'
deleted_at:
label:
relationships:
country:
data:
id: '2'
type: country
state:
data:
id: '1'
type: state
user:
data:
id: '1'
type: user
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: First Name can't be blank, Last Name can't be blank, Address
can't be blank, City can't be blank, Country can't be blank,
Zip Code can't be blank, and Phone can't be blank
errors:
firstname:
- can't be blank
lastname:
- can't be blank
address1:
- can't be blank
city:
- can't be blank
country:
- can't be blank
zipcode:
- can't be blank
phone:
- can't be blank
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/address_params"
"/api/v2/platform/addresses/{id}":
get:
summary: Returns an Address
tags:
- Addresses
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: user,country,state
schema:
type: string
responses:
'200':
description: Record found
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: address
attributes:
firstname: John
lastname: Doe
address1: 6 Lovely Street
address2: Northwest
city: Herndon
zipcode: '35005'
phone: 555-555-0199
state_name:
alternative_phone: 555-555-0199
company: Company
created_at: '2021-08-20T11:02:26.609Z'
updated_at: '2021-08-20T11:02:26.609Z'
deleted_at:
label:
relationships:
country:
data:
id: '1'
type: country
state:
data:
id: '1'
type: state
user:
data:
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
put:
summary: Updates an Address
tags:
- Addresses
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: user,country,state
schema:
type: string
responses:
'200':
description: record updated
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: address
attributes:
firstname: Jack
lastname: Doe
address1: 8 Lovely Street
address2: Northwest
city: Herndon
zipcode: '35005'
phone: 555-555-0199
state_name:
alternative_phone: 555-555-0199
company: Company
created_at: '2021-08-20T11:02:26.706Z'
updated_at: '2021-08-20T11:02:26.721Z'
deleted_at:
label:
relationships:
country:
data:
id: '1'
type: country
state:
data:
id: '1'
type: state
user:
data:
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: First Name can't be blank and Last Name can't be blank
errors:
firstname:
- can't be blank
lastname:
- can't be blank
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/address_params"
delete:
summary: Deletes an Address
tags:
- Addresses
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'204':
description: Record deleted
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
"/api/v2/platform/classifications":
get:
summary: Returns a list of Classifications
tags:
- Classifications
security:
- bearer_auth: []
parameters:
- name: page
in: query
example: 1
schema:
type: integer
- name: per_page
in: query
example: 50
schema:
type: integer
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: product,taxon
schema:
type: string
- name: filter
in: query
description: ''
example: taxon_id_eq=1
schema:
type: string
responses:
'200':
description: Records returned
content:
application/vnd.api+json:
examples:
Example:
value:
data:
- id: '1'
type: classification
attributes:
position: 1
created_at: '2021-08-20T11:02:27.225Z'
updated_at: '2021-08-20T11:02:27.225Z'
relationships:
product:
data:
id: '1'
type: product
taxon:
data:
id: '2'
type: taxon
- id: '2'
type: classification
attributes:
position: 1
created_at: '2021-08-20T11:02:27.336Z'
updated_at: '2021-08-20T11:02:27.336Z'
relationships:
product:
data:
id: '2'
type: product
taxon:
data:
id: '4'
type: taxon
meta:
count: 2
total_count: 2
total_pages: 1
links:
self: http://www.example.com/api/v2/platform/classifications?page=1&per_page=&include=&filter=
next: http://www.example.com/api/v2/platform/classifications?include=&page=1&per_page=
prev: http://www.example.com/api/v2/platform/classifications?include=&page=1&per_page=
last: http://www.example.com/api/v2/platform/classifications?include=&page=1&per_page=
first: http://www.example.com/api/v2/platform/classifications?include=&page=1&per_page=
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
post:
summary: Creates a Classification
tags:
- Classifications
security:
- bearer_auth: []
parameters:
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: product,taxon
schema:
type: string
responses:
'201':
description: record created
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: classification
attributes:
position: 1
created_at: '2021-08-20T11:02:27.775Z'
updated_at: '2021-08-20T11:02:27.775Z'
relationships:
product:
data:
id: '1'
type: product
taxon:
data:
id: '2'
type: taxon
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Taxon can't be blank and Product can't be blank
errors:
taxon:
- can't be blank
product:
- can't be blank
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/classification_params"
"/api/v2/platform/classifications/{id}":
get:
summary: Returns a Classification
tags:
- Classifications
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: product,taxon
schema:
type: string
responses:
'200':
description: Record found
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: classification
attributes:
position: 1
created_at: '2021-08-20T11:02:27.921Z'
updated_at: '2021-08-20T11:02:27.921Z'
relationships:
product:
data:
id: '1'
type: product
taxon:
data:
id: '2'
type: taxon
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
put:
summary: Updates a Classification
tags:
- Classifications
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: product,taxon
schema:
type: string
responses:
'200':
description: record updated
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: classification
attributes:
position: 1
created_at: '2021-08-20T11:02:28.202Z'
updated_at: '2021-08-20T11:02:28.202Z'
relationships:
product:
data:
id: '1'
type: product
taxon:
data:
id: '2'
type: taxon
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Product can't be blank
errors:
product:
- can't be blank
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/classification_params"
delete:
summary: Deletes a Classification
tags:
- Classifications
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'204':
description: Record deleted
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
"/api/v2/platform/classifications/{id}/reposition":
put:
summary: Reposition a Classification
tags:
- Classifications
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: product,taxon
schema:
type: string
responses:
'200':
description: record updated
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: classification
attributes:
position: 2
created_at: '2021-08-20T11:02:28.904Z'
updated_at: '2021-08-20T11:02:28.922Z'
relationships:
product:
data:
id: '1'
type: product
taxon:
data:
id: '2'
type: taxon
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: is not a number
errors: {}
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/classification_params"
"/api/v2/platform/countries":
get:
summary: Returns a list of Countries
tags:
- Countries
security:
- bearer_auth: []
responses:
'200':
description: Records returned
content:
application/vnd.api+json:
examples:
Example:
value:
data:
- id: '1'
type: country
attributes:
iso_name: UNITED STATES
iso: US
iso3: IS34
name: United States of America
numcode: 840
states_required: true
updated_at: '2021-08-20T11:02:29.220Z'
zipcode_required: true
created_at: '2021-08-20T11:02:29.220Z'
relationships:
states:
data: []
- id: '2'
type: country
attributes:
iso_name: ISO_NAME_2
iso: I2
iso3: IS35
name: NAME_2
numcode: 840
states_required: false
updated_at: '2021-08-20T11:02:29.229Z'
zipcode_required: true
created_at: '2021-08-20T11:02:29.229Z'
relationships:
states:
data: []
- id: '3'
type: country
attributes:
iso_name: ISO_NAME_3
iso: I3
iso3: IS36
name: NAME_3
numcode: 840
states_required: false
updated_at: '2021-08-20T11:02:29.231Z'
zipcode_required: true
created_at: '2021-08-20T11:02:29.231Z'
relationships:
states:
data: []
meta:
count: 3
total_count: 3
total_pages: 1
links:
self: http://www.example.com/api/v2/platform/countries
next: http://www.example.com/api/v2/platform/countries?page=1
prev: http://www.example.com/api/v2/platform/countries?page=1
last: http://www.example.com/api/v2/platform/countries?page=1
first: http://www.example.com/api/v2/platform/countries?page=1
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
"/api/v2/platform/countries/{id}":
get:
summary: Returns a Country
tags:
- Countries
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Record found
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '2'
type: country
attributes:
iso_name: ISO_NAME_6
iso: I6
iso3: IS41
name: NAME_6
numcode: 840
states_required: false
updated_at: '2021-08-20T11:02:29.297Z'
zipcode_required: true
created_at: '2021-08-20T11:02:29.297Z'
relationships:
states:
data: []
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
"/api/v2/platform/option_types":
get:
summary: Returns a list of OptionTypes
tags:
- OptionTypes
security:
- bearer_auth: []
parameters:
- name: page
in: query
example: 1
schema:
type: integer
- name: per_page
in: query
example: 50
schema:
type: integer
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: ''
schema:
type: string
- name: filter
in: query
description: ''
example: option_type_id_eq=1&name_cont=Size
schema:
type: string
responses:
'200':
description: Records returned
content:
application/vnd.api+json:
examples:
Example:
value:
data:
- id: '1'
type: option_type
attributes:
name: foo-size-1
presentation: Size
position: 1
created_at: '2021-08-20T11:02:29.373Z'
updated_at: '2021-08-20T11:02:29.373Z'
filterable: true
relationships:
option_values:
data: []
- id: '2'
type: option_type
attributes:
name: foo-size-2
presentation: Size
position: 2
created_at: '2021-08-20T11:02:29.375Z'
updated_at: '2021-08-20T11:02:29.375Z'
filterable: true
relationships:
option_values:
data: []
meta:
count: 2
total_count: 2
total_pages: 1
links:
self: http://www.example.com/api/v2/platform/option_types?page=1&per_page=&include=&filter=
next: http://www.example.com/api/v2/platform/option_types?include=&page=1&per_page=
prev: http://www.example.com/api/v2/platform/option_types?include=&page=1&per_page=
last: http://www.example.com/api/v2/platform/option_types?include=&page=1&per_page=
first: http://www.example.com/api/v2/platform/option_types?include=&page=1&per_page=
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
post:
summary: Creates an OptionType
tags:
- OptionTypes
security:
- bearer_auth: []
parameters:
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: ''
schema:
type: string
responses:
'201':
description: record created
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: option_type
attributes:
name: foo-size-5
presentation: Size
position: 1
created_at: '2021-08-20T11:02:29.453Z'
updated_at: '2021-08-20T11:02:29.453Z'
filterable: true
relationships:
option_values:
data: []
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Name can't be blank and Presentation can't be blank
errors:
name:
- can't be blank
presentation:
- can't be blank
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/optiontype_params"
"/api/v2/platform/option_types/{id}":
get:
summary: Returns an OptionType
tags:
- OptionTypes
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: ''
schema:
type: string
responses:
'200':
description: Record found
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: option_type
attributes:
name: foo-size-6
presentation: Size
position: 1
created_at: '2021-08-20T11:02:29.497Z'
updated_at: '2021-08-20T11:02:29.497Z'
filterable: true
relationships:
option_values:
data: []
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
put:
summary: Updates an OptionType
tags:
- OptionTypes
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: ''
schema:
type: string
responses:
'200':
description: record updated
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: option_type
attributes:
name: Size-X
presentation: Size
position: 1
created_at: '2021-08-20T11:02:29.580Z'
updated_at: '2021-08-20T11:02:29.591Z'
filterable: true
relationships:
option_values:
data: []
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Name can't be blank
errors:
name:
- can't be blank
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/optiontype_params"
delete:
summary: Deletes an OptionType
tags:
- OptionTypes
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'204':
description: Record deleted
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
"/api/v2/platform/option_values":
get:
summary: Returns a list of OptionValues
tags:
- OptionValues
security:
- bearer_auth: []
parameters:
- name: page
in: query
example: 1
schema:
type: integer
- name: per_page
in: query
example: 50
schema:
type: integer
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: option_type
schema:
type: string
- name: filter
in: query
description: ''
example: option_type_id_eq=1&name_cont=M
schema:
type: string
responses:
'200':
description: Records returned
content:
application/vnd.api+json:
examples:
Example:
value:
data:
- id: '1'
type: option_value
attributes:
position: 1
name: Size-1
presentation: S
created_at: '2021-08-20T11:02:29.758Z'
updated_at: '2021-08-20T11:02:29.758Z'
relationships:
option_type:
data:
id: '1'
type: option_type
- id: '2'
type: option_value
attributes:
position: 1
name: Size-2
presentation: S
created_at: '2021-08-20T11:02:29.763Z'
updated_at: '2021-08-20T11:02:29.763Z'
relationships:
option_type:
data:
id: '2'
type: option_type
meta:
count: 2
total_count: 2
total_pages: 1
links:
self: http://www.example.com/api/v2/platform/option_values?page=1&per_page=&include=&filter=
next: http://www.example.com/api/v2/platform/option_values?include=&page=1&per_page=
prev: http://www.example.com/api/v2/platform/option_values?include=&page=1&per_page=
last: http://www.example.com/api/v2/platform/option_values?include=&page=1&per_page=
first: http://www.example.com/api/v2/platform/option_values?include=&page=1&per_page=
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
post:
summary: Creates an OptionValue
tags:
- OptionValues
security:
- bearer_auth: []
parameters:
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: option_type
schema:
type: string
responses:
'201':
description: record created
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: option_value
attributes:
position: 1
name: Size-5
presentation: S
created_at: '2021-08-20T11:02:29.842Z'
updated_at: '2021-08-20T11:02:29.842Z'
relationships:
option_type:
data:
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Name can't be blank and Presentation can't be blank
errors:
name:
- can't be blank
presentation:
- can't be blank
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/optionvalue_params"
"/api/v2/platform/option_values/{id}":
get:
summary: Returns an OptionValue
tags:
- OptionValues
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: option_type
schema:
type: string
responses:
'200':
description: Record found
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: option_value
attributes:
position: 1
name: Size-6
presentation: S
created_at: '2021-08-20T11:02:29.890Z'
updated_at: '2021-08-20T11:02:29.890Z'
relationships:
option_type:
data:
id: '1'
type: option_type
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
put:
summary: Updates an OptionValue
tags:
- OptionValues
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: option_type
schema:
type: string
responses:
'200':
description: record updated
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '1'
type: option_value
attributes:
position: 1
name: M
presentation: S
created_at: '2021-08-20T11:02:29.959Z'
updated_at: '2021-08-20T11:02:29.973Z'
relationships:
option_type:
data:
id: '1'
type: option_type
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Name can't be blank
errors:
name:
- can't be blank
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/optionvalue_params"
delete:
summary: Deletes an OptionValue
tags:
- OptionValues
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'204':
description: Record deleted
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
"/api/v2/platform/taxons":
get:
summary: Returns a list of Taxons
tags:
- Taxons
security:
- bearer_auth: []
parameters:
- name: page
in: query
example: 1
schema:
type: integer
- name: per_page
in: query
example: 50
schema:
type: integer
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: taxonomy,parent,children
schema:
type: string
- name: filter
in: query
description: ''
example: taxonomy_id_eq=1&name_cont=Shirts
schema:
type: string
responses:
'200':
description: Records returned
content:
application/vnd.api+json:
examples:
Example:
value:
data:
- id: '1'
type: taxon
attributes:
position: 0
name: taxonomy_16
permalink: taxonomy-16
lft: 1
rgt: 6
description:
created_at: '2021-08-20T11:02:30.161Z'
updated_at: '2021-08-20T11:02:30.221Z'
meta_title:
meta_description:
meta_keywords:
depth: 0
pretty_name: taxonomy_16
seo_title: taxonomy_16
is_root: true
is_child: false
is_leaf: false
relationships:
parent:
data:
taxonomy:
data:
id: '1'
type: taxonomy
children:
data:
- id: '2'
type: taxon
- id: '3'
type: taxon
image:
data:
- id: '2'
type: taxon
attributes:
position: 0
name: taxon_16
permalink: taxonomy-16/taxon-16
lft: 2
rgt: 3
description:
created_at: '2021-08-20T11:02:30.183Z'
updated_at: '2021-08-20T11:02:30.187Z'
meta_title:
meta_description:
meta_keywords:
depth: 1
pretty_name: taxonomy_16 -> taxon_16
seo_title: taxon_16
is_root: false
is_child: true
is_leaf: true
relationships:
parent:
data:
id: '1'
type: taxon
taxonomy:
data:
id: '1'
type: taxonomy
children:
data: []
image:
data:
id: '1'
type: taxon_image
- id: '3'
type: taxon
attributes:
position: 0
name: taxon_17
permalink: taxonomy-16/taxon-17
lft: 4
rgt: 5
description:
created_at: '2021-08-20T11:02:30.208Z'
updated_at: '2021-08-20T11:02:30.212Z'
meta_title:
meta_description:
meta_keywords:
depth: 1
pretty_name: taxonomy_16 -> taxon_17
seo_title: taxon_17
is_root: false
is_child: true
is_leaf: true
relationships:
parent:
data:
id: '1'
type: taxon
taxonomy:
data:
id: '1'
type: taxonomy
children:
data: []
image:
data:
id: '2'
type: taxon_image
meta:
count: 3
total_count: 3
total_pages: 1
links:
self: http://www.example.com/api/v2/platform/taxons?page=1&per_page=&include=&filter=
next: http://www.example.com/api/v2/platform/taxons?include=&page=1&per_page=
prev: http://www.example.com/api/v2/platform/taxons?include=&page=1&per_page=
last: http://www.example.com/api/v2/platform/taxons?include=&page=1&per_page=
first: http://www.example.com/api/v2/platform/taxons?include=&page=1&per_page=
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
post:
summary: Creates a Taxon
tags:
- Taxons
security:
- bearer_auth: []
parameters:
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: taxonomy,parent,children
schema:
type: string
responses:
'201':
description: record created
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '2'
type: taxon
attributes:
position: 0
name: taxon_20
permalink: taxonomy-18/taxon-20
lft: 2
rgt: 3
description:
created_at: '2021-08-20T11:02:30.393Z'
updated_at: '2021-08-20T11:02:30.397Z'
meta_title:
meta_description:
meta_keywords:
depth: 1
pretty_name: taxonomy_18 -> taxon_20
seo_title: taxon_20
is_root: false
is_child: true
is_leaf: true
relationships:
parent:
data:
id: '1'
type: taxon
taxonomy:
data:
id: '1'
type: taxonomy
children:
data: []
image:
data:
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Name can't be blank and Taxonomy can't be blank
errors:
name:
- can't be blank
taxonomy:
- can't be blank
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/taxon_params"
"/api/v2/platform/taxons/{id}":
get:
summary: Returns a Taxon
tags:
- Taxons
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: taxonomy,parent,children
schema:
type: string
responses:
'200':
description: Record found
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '2'
type: taxon
attributes:
position: 0
name: taxon_21
permalink: taxonomy-19/taxon-21
lft: 2
rgt: 3
description:
created_at: '2021-08-20T11:02:30.484Z'
updated_at: '2021-08-20T11:02:30.488Z'
meta_title:
meta_description:
meta_keywords:
depth: 1
pretty_name: taxonomy_19 -> taxon_21
seo_title: taxon_21
is_root: false
is_child: true
is_leaf: true
relationships:
parent:
data:
id: '1'
type: taxon
taxonomy:
data:
id: '1'
type: taxonomy
children:
data: []
products:
data: []
image:
data:
id: '1'
type: taxon_image
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
put:
summary: Updates a Taxon
tags:
- Taxons
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: taxonomy,parent,children
schema:
type: string
responses:
'200':
description: record updated
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '2'
type: taxon
attributes:
position: 0
name: T-Shirts
permalink: taxonomy-21/taxon-23
lft: 2
rgt: 3
description:
created_at: '2021-08-20T11:02:30.652Z'
updated_at: '2021-08-20T11:02:30.675Z'
meta_title:
meta_description:
meta_keywords:
depth: 1
pretty_name: taxonomy_21 -> T-Shirts
seo_title: T-Shirts
is_root: false
is_child: true
is_leaf: true
relationships:
parent:
data:
id: '1'
type: taxon
taxonomy:
data:
id: '1'
type: taxonomy
children:
data: []
image:
data:
id: '1'
type: taxon_image
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Name can't be blank
errors:
name:
- can't be blank
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/taxon_params"
delete:
summary: Deletes a Taxon
tags:
- Taxons
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'204':
description: Record deleted
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
"/api/v2/platform/users":
get:
summary: Returns a list of Users
tags:
- Users
security:
- bearer_auth: []
parameters:
- name: page
in: query
example: 1
schema:
type: integer
- name: per_page
in: query
example: 50
schema:
type: integer
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: ship_address,bill_address
schema:
type: string
- name: filter
in: query
description: ''
example: user_id_eq=1&email_cont=spree@example.com
schema:
type: string
responses:
'200':
description: Records returned
content:
application/vnd.api+json:
examples:
Example:
value:
data:
- id: '1'
type: user
attributes:
email: jasper@dooley.co.uk
created_at: '2021-08-20T11:02:31.076Z'
updated_at: '2021-08-20T11:02:31.076Z'
average_order_value: []
lifetime_value: []
store_credits: []
relationships:
bill_address:
data:
ship_address:
data:
- id: '2'
type: user
attributes:
email: shanice.breitenberg@labadie.ca
created_at: '2021-08-20T11:02:31.087Z'
updated_at: '2021-08-20T11:02:31.087Z'
average_order_value: []
lifetime_value: []
store_credits: []
relationships:
bill_address:
data:
ship_address:
data:
- id: '3'
type: user
attributes:
email: tristan@reilly.co.uk
created_at: '2021-08-20T11:02:31.090Z'
updated_at: '2021-08-20T11:02:31.090Z'
average_order_value: []
lifetime_value: []
store_credits: []
relationships:
bill_address:
data:
ship_address:
data:
meta:
count: 3
total_count: 3
total_pages: 1
links:
self: http://www.example.com/api/v2/platform/users?page=1&per_page=&include=&filter=
next: http://www.example.com/api/v2/platform/users?include=&page=1&per_page=
prev: http://www.example.com/api/v2/platform/users?include=&page=1&per_page=
last: http://www.example.com/api/v2/platform/users?include=&page=1&per_page=
first: http://www.example.com/api/v2/platform/users?include=&page=1&per_page=
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
post:
summary: Creates an User
tags:
- Users
security:
- bearer_auth: []
parameters:
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: ship_address,bill_address
schema:
type: string
responses:
'201':
description: record created
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '2'
type: user
attributes:
email: joan@little.info
created_at: '2021-08-20T11:02:31.214Z'
updated_at: '2021-08-20T11:02:31.214Z'
average_order_value: []
lifetime_value: []
store_credits: []
relationships:
bill_address:
data:
ship_address:
data:
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Bill address belongs to other user
errors:
bill_address_id:
- belongs to other user
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/user_params"
"/api/v2/platform/users/{id}":
get:
summary: Returns an User
tags:
- Users
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: ship_address,bill_address
schema:
type: string
responses:
'200':
description: Record found
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '2'
type: user
attributes:
email: morris@goyettecormier.com
created_at: '2021-08-20T11:02:31.290Z'
updated_at: '2021-08-20T11:02:31.290Z'
average_order_value: []
lifetime_value: []
store_credits: []
relationships:
bill_address:
data:
ship_address:
data:
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
put:
summary: Updates an User
tags:
- Users
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: include
in: query
description: 'Select which associated resources you would like to fetch, see:
https://jsonapi.org/format/#fetching-includes'
example: ship_address,bill_address
schema:
type: string
responses:
'200':
description: record updated
content:
application/vnd.api+json:
examples:
Example:
value:
data:
id: '2'
type: user
attributes:
email: john@example.com
created_at: '2021-08-20T11:02:31.401Z'
updated_at: '2021-08-20T11:02:31.417Z'
average_order_value: []
lifetime_value: []
store_credits: []
relationships:
bill_address:
data:
ship_address:
data:
'422':
description: invalid request
content:
application/vnd.api+json:
examples:
Example:
value:
error: Bill address belongs to other user
errors:
bill_address_id:
- belongs to other user
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/user_params"
delete:
summary: Deletes an User
tags:
- Users
security:
- bearer_auth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'204':
description: Record deleted
'404':
description: Record not found
content:
application/vnd.api+json:
examples:
Example:
value:
error: The resource you were looking for could not be found.
'401':
description: Authentication Failed
content:
application/vnd.api+json:
examples:
Example:
value:
error: The access token is invalid
servers:
- url: https://{defaultHost}
variables:
defaultHost:
default: localhost:3000
components:
securitySchemes:
bearer_auth:
type: http
scheme: bearer
schemas:
address_params:
type: object
properties:
country_id:
type: string
state_id:
type: string
state_name:
type: string
address1:
type: string
city:
type: string
zipcode:
type: string
phone:
type: string
alternative_phone:
type: string
firstname:
type: string
lastname:
type: string
label:
type: string
company:
type: string
user_id:
type: string
classification_params:
type: object
properties:
product_id:
type: string
taxon_id:
type: string
position:
type: integer
option_type_params:
type: object
properties:
name:
type: string
presentation:
type: string
required:
- name
- presentation
option_value_params:
type: object
properties:
name:
type: string
presentation:
type: string
option_values_attributes:
type: string
required:
- name
- presentation
product_params:
type: object
properties:
name:
type: string
description:
type: string
available_on:
type: string
discontinue_on:
type: string
permalink:
type: string
meta_description:
type: string
meta_keywords:
type: string
price:
type: string
sku:
type: string
deleted_at:
type: string
prototype_id:
type: string
option_values_hash:
type: string
weight:
type: string
height:
type: string
width:
type: string
depth:
type: string
shipping_category_id:
type: string
tax_category_id:
type: string
cost_currency:
type: string
cost_price:
type: string
compare_at_price:
type: string
option_type_ids:
type: string
taxon_ids:
type: string
required:
- name
- price
- shipping_category_id
user_params:
type: object
properties:
email:
type: string
password:
type: string
password_confirmation:
type: string
ship_address_id:
type: string
bill_address_id:
type: string
required:
- email
- password
- password_confirmation
taxon_params:
type: object
properties:
taxonomy_id:
type: string
parent_id:
type: string
name:
type: string
required:
- name
- taxonomy_id
resources_list:
type: object
properties:
data:
type: array
items:
allOf:
- "$ref": "#/components/schemas/resource_properties"
meta:
type: object
properties:
count:
type: integer
total_count:
type: integer
total_pages:
type: integer
required:
- count
- total_count
- total_pages
links:
type: object
properties:
self:
type: string
next:
type: string
prev:
type: string
last:
type: string
first:
type: string
required:
- self
- next
- prev
- last
- first
required:
- data
- meta
- links
resource_properties:
type: object
properties:
id:
type: string
type:
type: string
attributes:
type: object
relationships:
type: object
required:
- id
- type
- attributes
- relationships
resource:
type: object
properties:
data:
"$ref": "#/components/schemas/resource_properties"
required:
- data
error:
type: object
properties:
error:
type: string
required:
- error
validation_errors:
type: object
properties:
error:
type: string
errors:
type: object
required:
- error
- errors