Skip to main content
GET
/
locations
/
{location_id}
/
materials
List Materials
curl --request GET \
  --url https://api.crosoftware.com/v0/locations/{location_id}/materials \
  --header 'Authorization: Bearer <token>' \
  --header 'x-tenant-id: <x-tenant-id>'
import requests

url = "https://api.crosoftware.com/v0/locations/{location_id}/materials"

headers = {
    "x-tenant-id": "<x-tenant-id>",
    "Authorization": "Bearer <token>"
}

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

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

fetch('https://api.crosoftware.com/v0/locations/{location_id}/materials', 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://api.crosoftware.com/v0/locations/{location_id}/materials",
  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-tenant-id: <x-tenant-id>"
  ],
]);

$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://api.crosoftware.com/v0/locations/{location_id}/materials"

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

	req.Header.Add("x-tenant-id", "<x-tenant-id>")
	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://api.crosoftware.com/v0/locations/{location_id}/materials")
  .header("x-tenant-id", "<x-tenant-id>")
  .header("Authorization", "Bearer <token>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.crosoftware.com/v0/locations/{location_id}/materials")

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

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

response = http.request(request)
puts response.read_body
[
  {
    "created_on": "2023-11-07T05:31:56Z",
    "description": "<string>",
    "factor": "<string>",
    "group_description": "<string>",
    "id": 123,
    "line_item_id": 123,
    "location_id": 123,
    "unit_price": "<string>",
    "uom": "<string>"
  }
]

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

x-api-version
string

Version identifier (date format).

x-tenant-id
integer<int64>
required

Tenant identifier. Contact CRO Software for more info if you don't already have this id. See list tenant ids for info on listing the tenants you have access to.

Path Parameters

location_id
integer<int64>
required

Location identifier.

Query Parameters

page_index
integer

Paged results page index (starting from 1).

page_limit
integer

Maximun number of results per page.

Response

200 - application/json

Success

created_on
string<date-time>
required

Timestamp of creation (must be in past).

description
string
required

Free-form text description.

factor
string
required
group_description
string
required

Free-form text description.

id
integer<int64>
required

Resource identifier.

line_item_id
integer<int64>
required

Line item identifier.

location_id
integer<int64>
required

Location identifier.

unit_price
string
required

Job material name.

uom
string
required

Unit of Measure.