Skip to main content
GET
/
location
/
attribute
Get all location attributes
curl --request GET \
  --url https://prod01.oms.fabric.inc/api/v2/location/attribute \
  --header 'Authorization: Bearer <token>' \
  --header 'x-site-context: <x-site-context>'
import requests

url = "https://prod01.oms.fabric.inc/api/v2/location/attribute"

headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>"
}

response = requests.get(url, headers=headers)

print(response.text)
const options = {
method: 'GET',
headers: {'x-site-context': '<x-site-context>', Authorization: 'Bearer <token>'}
};

fetch('https://prod01.oms.fabric.inc/api/v2/location/attribute', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://prod01.oms.fabric.inc/api/v2/location/attribute",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"x-site-context: <x-site-context>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://prod01.oms.fabric.inc/api/v2/location/attribute"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://prod01.oms.fabric.inc/api/v2/location/attribute")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://prod01.oms.fabric.inc/api/v2/location/attribute")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-site-context"] = '<x-site-context>'
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
[
  {
    "id": "622786ae0bdb19221a24fb61",
    "code": "isBopis",
    "name": "Is Bopis",
    "description": "To check the status of the BOPIS (Buy-Online_Pickup-In-Store)",
    "required": true
  }
]
{
"message": "Invalid payload or parameter"
}
{
"message": "Entered code is a duplicated code"
}
{
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-site-context
string
required

The x-site-context header is a JSON object that contains information about the source you wish to pull from. The mandatory account is the 24 character identifier found in Copilot. The channel (Sales channel ID), stage (environment name), and date attributes can be used to further narrow the scope of your data source.

Example:

"{\"date\": \"2023-01-01T00:00:00.000Z\", \"channel\": 12, \"account\": \"1234abcd5678efgh9ijklmno\",\"stage\":\"production\"}"

Response

OK

id
string

Location attribute ID that is generated automatically for the location

Example:

"622786ae0bdb19221a24fb61"

code
string

Location attribute code

Example:

"isBopis"

name
string

Location attribute name

Example:

"Is Bopis"

description
string

Detailed description about attribute

Example:

"To check the status of the BOPIS (Buy-Online_Pickup-In-Store)"

type
enum<string>

Data type of an attribute

Available options:
BOOLEAN,
INTEGER,
NUMBER,
STRING
required
boolean

Flag to define the attribute as mandatory while creating location. If it's configured as true, this attribute is needed while creating location

Example:

true