# List products. List products. Endpoint: GET /products Version: 1.0.0 Security: Token ## Query parameters: - `sort` (string) Comma separated list of fields used for sorting. Placing a minus symbol in front of a field name sorts in descending order. Defaults to title. Example: "-created_at" - `per_page` (string) The number of items per page. Defaults to 25. Example: "25" - `page` (string) The requested page. Defaults to 1. Example: "2" - `filter[search]` (string) Return products that have fields matching this term. Example: "Photography" - `filter[include_inactive]` (boolean) Include inactive products (in addition to active products) when returning products. Example: true - `filter[category_ids][]` (array) Return products in the given categories. Example: ["00000000-0000-4000-8000-000000000000"] - `filter[type]` (string) Return products matching the given type. Allowed values are: MAIN, ADDON. Example: "MAIN" ## Response 200 fields (application/json): - `status` (string, required) What was the state of the request? Example: "success" - `data` (array,null) A collection of objects. - `data.object` (string) A canonical value representing a resource. Enum: "PRODUCT" - `data.id` (string, required) ID of the entity. UUID Version 4. Example: "00000000-0000-4000-8000-000000000000" - `data.title` (string, required) The title of the product. Example: "House photos" - `data.description` (string) The description of the product. Example: "Capture photos of a house for sale." - `data.active` (boolean) The active status of a product. Example: true - `data.type` (string, required) The type of product. Enum: "MAIN", "ADDON" - `data.is_twilight` (boolean) Whether the product is available during twilight hours. Example: true - `data.image_url` (string,null) A URL for an example property image. Example: "https://picsum.photos/400/200" - `data.is_serviceable` (boolean) Whether the product is serviceable. Example: true - `data.requires_separate_booking` (boolean) Whether the product requires a separate booking. Example: true - `data.always_display_addons` (boolean) Whether to always display addons for the product. Example: true - `data.variant_filter_type` (string,null) The type of variant filter. Example: "ALL" - `data.avalara_tax_code` (string,null) The Avalara tax code for the product. Example: "12345" - `data.limit_quantity_amount` (integer,null) The limit quantity amount for the product. Example: 10 - `data.limit_quantity` (boolean) Whether the product has a limit quantity. Example: true - `data.is_filterable` (boolean) Whether the product is filterable. Example: true - `data.is_esoft_adjustment` (boolean) Whether the product is an eSoft adjustment. Example: true - `data.variants` (array) - `data.variants.title` (string, required) The title of the product variant. Example: "House photos" - `data.variants.price` (integer) A positive integer in the smallest currency unit (that is, 100 cents for $1.00) representing the price of the product variant. Example: 10000 - `data.variants.price_amount` (integer) A positive integer in the smallest currency unit (that is, 100 cents for $1.00) representing the price of the product variant. Example: 10000 - `data.variants.base_price_amount` (integer) A positive integer in the smallest currency unit (that is, 100 cents for $1.00) representing the price of the product variant. Example: 10000 - `data.variants.base_is_hidden` (boolean) Indicates if the base price of the product variant is hidden. Example: true - `data.variants.display_original_price` (boolean) Indicates if the original price of the product variant should be displayed. Example: true - `data.variants.duration` (integer) The duration of the product item, in minutes. Example: 60 - `data.categories` (array) - `data.categories.title` (string, required) The title of the product category. Example: "Photography" - `data.categories.name` (string) The name of the product category. Example: "Photography" - `data.categories.slug` (string) The slug of the product category. Example: "photography" - `data.categories.color` (string) The color of the product category. Example: "#000000" - `data.categories.type` (string) The type of the product category. Example: "product" - `data.tags` (array) - `meta` (object) Metadata about a paginated response. - `meta.total` (integer, required) Total number of records. Example: 50 - `meta.per_page` (integer, required) Number of records per page. Example: 15 - `meta.current_page` (integer, required) The current page. Example: 1 - `meta.last_page` (integer, required) The last page of records. Example: 4 - `meta.from` (integer,null) The ID of the first record on this page. This is specified as either integer or null purely for spec testing purposes. The model which is autogenerated from this definition will be thrown out and written by-hand. Example: 1 - `meta.to` (integer,null) The ID of the last record on this page. This is specified as either integer or null purely for spec testing purposes. The model which is autogenerated from this definition will be thrown out and written by-hand. Example: 15 - `meta.path` (string, required) The current paged path. Example: "https://api.aryeo.com/v1/{path}" - `meta.links` (array,null) Links. - `meta.links.url` (string,null, required) The URL of the page. Example: "https://admin.aryeo.test/api/v1/companies?page=2" - `meta.links.label` (string, required) The label of the page. Example: "2" - `meta.links.active` (boolean, required) Whether the page is active. Example: true - `meta.links.page` (integer,null) The page number this link points to. Example: 2 - `links` (object) Related links for a paginated response. - `links.first` (string, required) The first page. Example: "https://api.aryeo.com/v1/{path}?page=1" - `links.last` (string, required) The last page. Example: "https://api.aryeo.com/v1/{path}?page=10" - `links.prev` (string,null) The previous page. This is specified as either string or null purely for spec testing purposes. The model which is autogenerated from this definition will be thrown out and written by-hand. Example: "https://api.aryeo.com/v1/{path}?page=2" - `links.next` (string,null) The next page. This is specified as either string or null purely for spec testing purposes. The model which is autogenerated from this definition will be thrown out and written by-hand. Example: "https://api.aryeo.com/v1/{path}?page=3" - `timestamp` (string,null) The request timestamp (ISO 8601). Example: "2021-06-30T20:30:00Z" ## Response 404 fields (application/json): - `status` (string, required) What was the state of the request? Example: "error" - `message` (string, required) The error message. Example: "{ApiError message.}" - `code` (integer,null) A numeric code corresponding to the error. Example: 404 ## Response 422 fields (application/json): - `status` (string, required) What was the state of the request? Example: "fail" ## Response 500 fields (application/json): - `status` (string, required) What was the state of the request? Example: "error" - `message` (string, required) The error message. Example: "{ApiError message.}" - `code` (integer,null) A numeric code corresponding to the error. Example: 500