Introduction
A collection of API endpoints you will need to interact with the system.
About PUT / PATCH requests: PUT means you send the entire resource to be updated, while PATCH means you send only the fields that need to be updated. Also regarding RFC 5789, the body of a PATCH is not filled for some Content-Types, what will work is sending via application/json.
About Permissions: These can depend on user or organisation user roles and will be given by the system or admin actions internally.
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
Retrieve a token by calling the /auth/login endpoint.
Admin
Clearstream
Index
requires authentication
List all clearstream requests
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/admin/1/clearstream?per_page=16&sort=id&filter%5Bid%5D=quam&filter%5Bcreated_at%5D=perferendis&search=esse&column=organisations.name&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/1/clearstream"
);
const params = {
"per_page": "16",
"sort": "id",
"filter[id]": "quam",
"filter[created_at]": "perferendis",
"search": "esse",
"column": "organisations.name",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 87
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Get a single clearstream report
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/admin/1/clearstream/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/1/clearstream/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "TR543HN21",
"uuid": "a1be2564-03c3-42fe-a0e2-f7088f4dd90b",
"organisation_id": 11605,
"status": "PASSED",
"created_at": "2022-10-13T11:42:54.000000Z",
"updated_at": "2022-10-13T11:45:27.000000Z",
"archived_at": null,
"last_viewed_at": "2026-05-10 02:33:51",
"payment_completed_at": null,
"organisation": {
"id": 11605,
"maxio_customer_id": 313351,
"reference_id": "01-8ZQM4QMHWHL-R",
"pdc_id": null,
"gateway_aid": "A325IM69",
"uuid": "dbd7d873-b6fa-4c47-9180-be08b4e7881f",
"type_id": 2,
"status": "approved",
"name": "Zaber & Zubair Fabrics Limited.",
"legal_name": "Zaber & Zubair Fabrics Limited.",
"address_1": "Pagar, Tongi, Gazipur.",
"address_2": null,
"city": "Gazipur",
"state": "Dhaka",
"location": "BD",
"zip": "1710",
"phone": "+8802 9801012,",
"email": "sustainability@znzfab.com",
"contact_first_name": "Md Zakir",
"contact_last_name": "Hossen",
"website": "https://www.znzfab.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2018-02-08T02:19:43.000000Z",
"updated_at": "2026-05-12T15:29:24.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh"
},
"profile": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Terminate
requires authentication
Terminate any ongoing clearstream cycle
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/admin/1/clearstream/1/terminate" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/1/clearstream/1/terminate"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
InCheck Visibility
Index
requires authentication
List InCheck visibility settings for an organisation of type Performance InCheck Provider
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/admin/1/incheck/visibility?per_page=8&filter%5Borganisation_name%5D=tenetur&filter%5Blevel_name%5D=id&filter%5Bvisibility_visible%5D=&filter%5Bvisibility_active%5D=&filter%5Bvisibility_marketing_text%5D=suscipit&sort=organisation_name&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/1/incheck/visibility"
);
const params = {
"per_page": "8",
"filter[organisation_name]": "tenetur",
"filter[level_name]": "id",
"filter[visibility_visible]": "0",
"filter[visibility_active]": "0",
"filter[visibility_marketing_text]": "suscipit",
"sort": "organisation_name",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 86
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update an InCheck visibility setting
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/admin/1/incheck/visibility/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"jfltzpfgfkojzlaplukc\",
\"visible\": false,
\"active\": false,
\"marketing_text\": \"kdrjaygmtenr\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/1/incheck/visibility/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "jfltzpfgfkojzlaplukc",
"visible": false,
"active": false,
"marketing_text": "kdrjaygmtenr"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "InCheck visibility updated successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Index
requires authentication
List InCheck visibility settings for an organisation of type Performance InCheck Provider
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/1/visibility?per_page=6&filter%5Borganisation_name%5D=rerum&filter%5Blevel_name%5D=dolores&filter%5Bvisibility_visible%5D=&filter%5Bvisibility_active%5D=1&filter%5Bvisibility_marketing_text%5D=hic&sort=organisation_name&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/1/visibility"
);
const params = {
"per_page": "6",
"filter[organisation_name]": "rerum",
"filter[level_name]": "dolores",
"filter[visibility_visible]": "0",
"filter[visibility_active]": "1",
"filter[visibility_marketing_text]": "hic",
"sort": "organisation_name",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 78
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisation API Keys
Index
requires authentication
List Organisation API Keys (with trashed!)
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/admin/organisation-api-keys?per_page=13&filter%5Bid%5D=nisi&filter%5Borganisation_id%5D=minima&filter%5Blast_used_at%5D=possimus&filter%5Bcreated_at%5D=quia&sort=id&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/organisation-api-keys"
);
const params = {
"per_page": "13",
"filter[id]": "nisi",
"filter[organisation_id]": "minima",
"filter[last_used_at]": "possimus",
"filter[created_at]": "quia",
"sort": "id",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 85
vary: Origin
{
"message": "No organisation user set for the current login token."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Delete an Organisation API Key
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/admin/organisation-api-keys/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/organisation-api-keys/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Organisation API key revoked successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisation Invitations
Index
requires authentication
Shows all organisation invitations.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/admin/1/organisations/invitations?filter%5Bstatus%5D=aliquam&sort=receiving_user_mail&page=1&per_page=12&search=similique" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/1/organisations/invitations"
);
const params = {
"filter[status]": "aliquam",
"sort": "receiving_user_mail",
"page": "1",
"per_page": "12",
"search": "similique",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "06-QAX2XTKPKQT-Y",
"uuid": "a1bbba36-062c-44ea-adaf-c10774547880",
"inviting_organisation_id": 19430,
"inviting_user_id": 18968,
"receiving_organisation_id": 19430,
"receiving_user_id": 18968,
"status": "INVITED",
"valid_until": "2026-05-15T21:42:30.000000Z",
"redeemed_at": null,
"auto_connect": false,
"created_at": "2026-05-08T21:42:30.000000Z",
"updated_at": "2026-05-08T21:42:30.000000Z"
},
{
"id": 1,
"reference_id": "06-QAX2XTKPKQT-Y",
"uuid": "a1bbba36-062c-44ea-adaf-c10774547880",
"inviting_organisation_id": 19430,
"inviting_user_id": 18968,
"receiving_organisation_id": 19430,
"receiving_user_id": 18968,
"status": "INVITED",
"valid_until": "2026-05-15T21:42:30.000000Z",
"redeemed_at": null,
"auto_connect": false,
"created_at": "2026-05-08T21:42:30.000000Z",
"updated_at": "2026-05-08T21:42:30.000000Z"
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "100",
"to": 2
},
"receiving_user_mail": "user@example.com",
"receiving_organisation_type": "1"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User
Index
requires authentication
Get all users.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/admin/users?per_page=16&sort=first_name&filter%5Binvitation_status%5D=quibusdam&filter%5Bprofile_reviewed_at%5D=eius&page=1&search=hic" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/users"
);
const params = {
"per_page": "16",
"sort": "first_name",
"filter[invitation_status]": "quibusdam",
"filter[profile_reviewed_at]": "eius",
"page": "1",
"search": "hic",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "02-PYSRAKAS6CQ-B",
"ulid": "01KR4RMPQWBKWZ0XYZJ2JH0CQM",
"pdc_id": null,
"role_id": 2,
"first_name": "Amy",
"last_name": "Huang",
"email": "amyhuang@ecic.com.tw",
"email_verified_at": "2017-06-17T04:45:09.000000Z",
"phone": "+886910807779",
"location": "TW",
"locale": "en-US",
"created_at": "2017-06-17T04:45:09.000000Z",
"updated_at": "2017-06-17T04:45:09.000000Z",
"deleted_at": null,
"last_active_at": null,
"profile_reviewed_at": null,
"status": "active",
"profile_picture_url": null,
"location_name": "Taiwan"
},
{
"id": 1,
"reference_id": "02-PYSRAKAS6CQ-B",
"ulid": "01KR4RMPQWBKWZ0XYZJ2JH0CQM",
"pdc_id": null,
"role_id": 2,
"first_name": "Amy",
"last_name": "Huang",
"email": "amyhuang@ecic.com.tw",
"email_verified_at": "2017-06-17T04:45:09.000000Z",
"phone": "+886910807779",
"location": "TW",
"locale": "en-US",
"created_at": "2017-06-17T04:45:09.000000Z",
"updated_at": "2017-06-17T04:45:09.000000Z",
"deleted_at": null,
"last_active_at": null,
"profile_reviewed_at": null,
"status": "active",
"profile_picture_url": null,
"location_name": "Taiwan"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a user.
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/admin/users/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"tjhdsvjzbuaizxggfvkmqilow\",
\"last_name\": \"sobgqynustnuakbtouiyjrf\",
\"email\": \"jlangosh@example.org\",
\"phone\": \"+1234567890\",
\"location\": \"US\",
\"locale\": \"zh_CN\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "tjhdsvjzbuaizxggfvkmqilow",
"last_name": "sobgqynustnuakbtouiyjrf",
"email": "jlangosh@example.org",
"phone": "+1234567890",
"location": "US",
"locale": "zh_CN"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, successful):
{
"message": "User updated successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Display the specified resource.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/admin/users/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 84
vary: Origin
{
"message": "No organisation user set for the current login token."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reset Password
requires authentication
Shares functionality from auth.forgot-password route but not throttled for admins
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/admin/users/1/reset-password" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/users/1/reset-password"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Auth
Login
Handle an incoming authentication request.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/auth/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"admin@localhost\",
\"password\": \"password\",
\"remember\": false
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/auth/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "admin@localhost",
"password": "password",
"remember": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, successful):
{
"message": "You have been successfully logged in.",
"token": "_token_"
}
Example response (401, wrong credentials):
{
"message": "These credentials do not match our records"
}
Example response (401, plattform is not registered):
{
"message": "Plattform for Host $host doesn't exist"
}
Example response (412, validation error):
{
"message": "must be valid email"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Logout
requires authentication
Log the user out of the application.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/auth/logout" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/auth/logout"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, successful):
{
"message": "You have been successfully logged out."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get User By Token
requires authentication
Get the user Bearer Token
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/auth/getUserByToken" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/auth/getUserByToken"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "02-PYSRAKAS6CQ-B",
"ulid": "01KR4RMPQWBKWZ0XYZJ2JH0CQM",
"pdc_id": null,
"role_id": 2,
"first_name": "Amy",
"last_name": "Huang",
"email": "amyhuang@ecic.com.tw",
"email_verified_at": "2017-06-17T04:45:09.000000Z",
"phone": "+886910807779",
"location": "TW",
"locale": "en-US",
"created_at": "2017-06-17T04:45:09.000000Z",
"updated_at": "2017-06-17T04:45:09.000000Z",
"deleted_at": null,
"last_active_at": null,
"profile_reviewed_at": null,
"status": "active",
"profile_picture_url": null,
"location_name": "Taiwan",
"role": {
"id": 2,
"parent_id": null,
"name": "USER"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Forgot Password
Handle an incoming password reset link request.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/auth/forgot-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"klein.bret@example.org\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/auth/forgot-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "klein.bret@example.org"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, successful):
{
"message": "You will receive instructions to reset email if you have an account with us."
}
Example response (200, wrong email):
{
"message": "You will receive instructions to reset email if you have an account with us."
}
Example response (412, validation error):
{
"message": "must be valid email"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reset Password
Reset a password requested in a forgot password request
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/auth/reset-password?token=consequatur" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"flarson@example.net\",
\"token\": \"fugit\",
\"password\": \"password\",
\"password_confirmation\": \"password\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/auth/reset-password"
);
const params = {
"token": "consequatur",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "flarson@example.net",
"token": "fugit",
"password": "password",
"password_confirmation": "password"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, successful):
{
"message": "Your password has been reset."
}
Example response (412, validation error):
{
"message": "must be valid email"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify Email
requires authentication
Verify an email change request.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/auth/users/1/verify-email?signature=dolor&expires=19" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/auth/users/1/verify-email"
);
const params = {
"signature": "dolor",
"expires": "19",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, successful):
{
"message": "Email verified successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Confirm password
requires authentication
Confirm the password change
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/auth/users/1/confirm-password-change?signature=ab&expires=15" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/auth/users/1/confirm-password-change"
);
const params = {
"signature": "ab",
"expires": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, successful):
{
"message": "Password change succeeded"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complete Registration
requires authentication
Complete the registration of a user, which was created by invitation.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/auth/complete-registration/1?signature=sint&expires=2" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"jpk\",
\"last_name\": \"fxjsrwhwljticvfwjcgqm\",
\"password\": \"p\'7*h{rfp&cE^yCy~,-\",
\"password_confirmation\": \"ut\",
\"phone\": \"+49123456789\",
\"locale\": \"kfo_CI\",
\"location\": \"vloifstltdsclsgvzvyydt\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/auth/complete-registration/1"
);
const params = {
"signature": "sint",
"expires": "2",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "jpk",
"last_name": "fxjsrwhwljticvfwjcgqm",
"password": "p'7*h{rfp&cE^yCy~,-",
"password_confirmation": "ut",
"phone": "+49123456789",
"locale": "kfo_CI",
"location": "vloifstltdsclsgvzvyydt"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, successful):
{
"message": "Registration completed successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Set Organisation User
requires authentication
Set the organisation user for the current personal access token.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/auth/setOrganisationUser/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/auth/setOrganisationUser/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, successful):
{
"message": "Organisation user set successfully"
}
Example response (403, organisation user does not belong to user):
{
"message": "The organisation user must belong to the same user as the personal access token."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Azure/V1
Certification-Results
Certification Results Reference Values
requires authentication
Static list from ProductCertificationStatusEnum (paginated). Ids are stable via azureApiId().
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/certification-results?page=1&per_page=11" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/certification-results"
);
const params = {
"page": "1",
"per_page": "11",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"ResultName": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"ResultName": null,
"CreateDate": null,
"LastUpdateDate": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Certification-Standards
MRSL Certification Standards Index
requires authentication
List all MRSL standards (mrsl_standards).
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/certification-standards?page=1&per_page=12&filter%5Bupdated_at%5D=%3D+2026-05-24+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/certification-standards"
);
const params = {
"page": "1",
"per_page": "12",
"filter[updated_at]": "= 2026-05-24 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"CertificationName": "Brachi Testing Services",
"CertificationEntity": null,
"CreateDate": "2026-05-08 21:42:17",
"LastUpdateDate": "2026-05-12 15:01:47"
},
{
"Id": 1,
"CertificationName": "Brachi Testing Services",
"CertificationEntity": null,
"CreateDate": "2026-05-08 21:42:17",
"LastUpdateDate": "2026-05-12 15:01:47"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Chemical-Count-Bracket
Chemical Count Brackets Index
requires authentication
No model/data source in current system. Returns empty collection so route is callable.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/chemical-count-bracket?page=1&per_page=18" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/chemical-count-bracket"
);
const params = {
"page": "1",
"per_page": "18",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"CountBracketName": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"CountBracketName": null,
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Chemical-Weight-Bracket
Chemical Weight Brackets Index
requires authentication
No model/data source in current system. Returns empty collection so route is callable.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/chemical-weight-bracket?page=1&per_page=18" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/chemical-weight-bracket"
);
const params = {
"page": "1",
"per_page": "18",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"ChemicalWeightBracketName": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"ChemicalWeightBracketName": null,
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Connection-History
Connection History Index
requires authentication
List all organisation connection history.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/connection-history?page=1&per_page=1&filter%5Bupdated_at%5D=%3E%3D+2026-06-17+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/connection-history"
);
const params = {
"page": "1",
"per_page": "1",
"filter[updated_at]": ">= 2026-06-17 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"ConnectedFromId": 15887,
"ConnectedToId": 14374,
"Status": "active",
"Published": null,
"StartDate": "2021-01-15 00:00:00",
"EndDate": null,
"LastUpdateDate": "2021-01-15 00:00:00"
},
{
"id": 1,
"ConnectedFromId": 15887,
"ConnectedToId": 14374,
"Status": "active",
"Published": null,
"StartDate": "2021-01-15 00:00:00",
"EndDate": null,
"LastUpdateDate": "2021-01-15 00:00:00"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Connections
Connections Index
requires authentication
List all organisation connections (sending ↔ receiving organisations).
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/connections?page=1&per_page=18&filter%5Bupdated_at%5D=%3D+2026-06-20+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/connections"
);
const params = {
"page": "1",
"per_page": "18",
"filter[updated_at]": "= 2026-06-20 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"ConnectedFromId": 15887,
"ConnectedToId": 14374
},
{
"Id": 1,
"ConnectedFromId": 15887,
"ConnectedToId": 14374
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
CTZ-Levels
CTZ Levels Index
requires authentication
List all CTZ levels.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/ctz-levels?page=1&per_page=1&filter%5Bupdated_at%5D=%3D+2026-05-21+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/ctz-levels"
);
const params = {
"page": "1",
"per_page": "1",
"filter[updated_at]": "= 2026-05-21 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"LevelName": "Foundational",
"CreateDate": "2026-05-08 21:42:17",
"LastUpdateDate": "2026-05-08 21:42:17"
},
{
"Id": 1,
"LevelName": "Foundational",
"CreateDate": "2026-05-08 21:42:17",
"LastUpdateDate": "2026-05-08 21:42:17"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Discharge-Type
Discharge Types Index
requires authentication
List all discharge types (supplier_attributes from group "Discharge types").
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/discharge-type?page=1&per_page=8" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/discharge-type"
);
const params = {
"page": "1",
"per_page": "8",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"DischargeName": "Cotton",
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": 1,
"DischargeName": "Cotton",
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Material-Category
Material Categories Index
requires authentication
List all material categories (supplier_attributes from group "Materials").
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/material-category?page=1&per_page=11" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/material-category"
);
const params = {
"page": "1",
"per_page": "11",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"MaterialCategoryName": "Cotton",
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": 1,
"MaterialCategoryName": "Cotton",
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
MSRL-Levels
MRSL Conformance Levels Index
requires authentication
List all MRSL conformance levels.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/msrl-levels?page=1&per_page=7&filter%5Bupdated_at%5D=%3C%3D+2026-06-13+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/msrl-levels"
);
const params = {
"page": "1",
"per_page": "7",
"filter[updated_at]": "<= 2026-06-13 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"LevelName": "Level 1",
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": 1,
"LevelName": "Level 1",
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
MSRL-Versions
MRSL Version Strings (distinct)
requires authentication
Unique version values from mrsl_standards, including soft-deleted rows. Id is MIN(id) per version group.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/msrl-versions?page=1&per_page=20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/msrl-versions"
);
const params = {
"page": "1",
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"VersionName": "ZDHC MRSL v2.0",
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"VersionName": "ZDHC MRSL v2.0",
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisations
Organisations Index
requires authentication
List all organisations.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/organisations?page=1&per_page=8&filter%5Bupdated_at%5D=%3D+2026-06-15+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/organisations"
);
const params = {
"page": "1",
"per_page": "8",
"filter[updated_at]": "= 2026-06-15 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"ZDHCAid": "A356IB10",
"SalesforceId": null,
"SandboxID": "01-J4CGS34JUJV-Q",
"PdcId": null,
"Name": "Ping Yang Pengye Shoes Com Ltd",
"LegalName": "Ping Yang Pengye Shoes Com Ltd",
"Address1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"Address2": null,
"CityName": "Wenzhou",
"StateName": "Zhejiang",
"LocationId": "CN",
"ZipCode": "",
"Latitude": null,
"Longitude": null,
"Phone": "",
"Email": "pengye@126.com",
"Website": null,
"TaxId": null,
"IPE": null,
"RegistrationNumber": null,
"OrganisationDescription": null,
"ContactFirstName": "JIAN",
"ContactLastName": "Le",
"OrganisationTypeId": 2,
"OsHubId": null,
"HiggId": null,
"CurrentAccountStatusId": null,
"CreateDate": "2021-11-04 12:19:55",
"DeleteDate": null,
"LastUpdateDate": "2026-05-12 14:45:25"
},
{
"Id": 1,
"ZDHCAid": "A356IB10",
"SalesforceId": null,
"SandboxID": "01-J4CGS34JUJV-Q",
"PdcId": null,
"Name": "Ping Yang Pengye Shoes Com Ltd",
"LegalName": "Ping Yang Pengye Shoes Com Ltd",
"Address1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"Address2": null,
"CityName": "Wenzhou",
"StateName": "Zhejiang",
"LocationId": "CN",
"ZipCode": "",
"Latitude": null,
"Longitude": null,
"Phone": "",
"Email": "pengye@126.com",
"Website": null,
"TaxId": null,
"IPE": null,
"RegistrationNumber": null,
"OrganisationDescription": null,
"ContactFirstName": "JIAN",
"ContactLastName": "Le",
"OrganisationTypeId": 2,
"OsHubId": null,
"HiggId": null,
"CurrentAccountStatusId": null,
"CreateDate": "2021-11-04 12:19:55",
"DeleteDate": null,
"LastUpdateDate": "2026-05-12 14:45:25"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisation-Registration-Statuses
Organisation registration status history (ModelHistory rows with status in `changed_fields`).
requires authentication
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/organisation-registration-statuses?page=1&per_page=11&filter%5Bupdated_at%5D=%3C%3D+2026-06-10+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/organisation-registration-statuses"
);
const params = {
"page": "1",
"per_page": "11",
"filter[updated_at]": "<= 2026-06-10 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"OrganisationId": 1,
"RegistrationStatusId": null,
"StartDate": "2026-05-08 21:42:17",
"EndDate": null,
"LastUpdateDate": "2026-05-08 21:42:17"
},
{
"Id": 1,
"OrganisationId": 1,
"RegistrationStatusId": null,
"StartDate": "2026-05-08 21:42:17",
"EndDate": null,
"LastUpdateDate": "2026-05-08 21:42:17"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisation-Type
Organisation Types Index
requires authentication
List all organisation types.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/organisation-type?page=1&per_page=9&filter%5Bupdated_at%5D=%3C%3D+2026-06-05+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/organisation-type"
);
const params = {
"page": "1",
"per_page": "9",
"filter[updated_at]": "<= 2026-06-05 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"TypeName": "ZDHC Internal",
"CreateDate": "2026-05-08 21:42:16",
"LastUpdateDate": "2026-05-21 16:14:29"
},
{
"Id": 1,
"TypeName": "ZDHC Internal",
"CreateDate": "2026-05-08 21:42:16",
"LastUpdateDate": "2026-05-21 16:14:29"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisation-Users
OrganisationUsers Index
requires authentication
List all organisation-users.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/organisation-users?page=1&per_page=11&filter%5Bupdated_at%5D=%3E%3D+2026-06-02+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/organisation-users"
);
const params = {
"page": "1",
"per_page": "11",
"filter[updated_at]": ">= 2026-06-02 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"UserId": "02-76N8YMAVWFR-I",
"OrganisationId": "01-CHFY7TAWBWS-B",
"RoleId": 4,
"StartDate": "2026-05-08 21:42:00",
"EndDate": null,
"LastUpdateDate": "2026-05-08 21:42:00"
},
{
"Id": 1,
"UserId": "02-76N8YMAVWFR-I",
"OrganisationId": "01-CHFY7TAWBWS-B",
"RoleId": 4,
"StartDate": "2026-05-08 21:42:00",
"EndDate": null,
"LastUpdateDate": "2026-05-08 21:42:00"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Processes
Processes Index
requires authentication
List all processes (supplier_attributes from group "Chemical Process").
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/processes?page=1&per_page=12" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/processes"
);
const params = {
"page": "1",
"per_page": "12",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"ProcessName": "Cotton",
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": 1,
"ProcessName": "Cotton",
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-Category
Product Categories Index
requires authentication
List all product categories.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-category?page=1&per_page=1&filter%5Bupdated_at%5D=%3C+2026-06-07+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-category"
);
const params = {
"page": "1",
"per_page": "1",
"filter[updated_at]": "< 2026-06-07 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"ProductCategoryName": "Colorant",
"CreateDate": "2026-05-08 21:42:46",
"LastUpdateDate": "2026-05-08 21:42:46"
},
{
"Id": 1,
"ProductCategoryName": "Colorant",
"CreateDate": "2026-05-08 21:42:46",
"LastUpdateDate": "2026-05-08 21:42:46"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-CTZ-Certificates
Product CTZ Certifications Index
requires authentication
List all product CTZ certifications.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-ctz-certificates?page=1&per_page=14&filter%5Bupdated_at%5D=%3D+2026-06-08+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-ctz-certificates"
);
const params = {
"page": "1",
"per_page": "14",
"filter[updated_at]": "= 2026-06-08 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"ProductId": 180101,
"CTZCertificationBodyId": 8613,
"CTZCertificationResultId": 1,
"VerificationStatusId": 2,
"CTZLevelId": 1,
"MSRLVersionId": null,
"IssueDate": null,
"ExpirationDate": null,
"QualityCancelation": null,
"QualityCancelationReason": null,
"CreateDate": "2025-09-24 00:00:00",
"LastUpdateDate": "2025-09-24 00:00:00"
},
{
"Id": 1,
"ProductId": 180101,
"CTZCertificationBodyId": 8613,
"CTZCertificationResultId": 1,
"VerificationStatusId": 2,
"CTZLevelId": 1,
"MSRLVersionId": null,
"IssueDate": null,
"ExpirationDate": null,
"QualityCancelation": null,
"QualityCancelationReason": null,
"CreateDate": "2025-09-24 00:00:00",
"LastUpdateDate": "2025-09-24 00:00:00"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-MRSL-Certificates
Product MRSL Certifications Index
requires authentication
List all product MRSL certifications.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-msrl-certificates?page=1&per_page=20&filter%5Bupdated_at%5D=%3C+2026-05-31+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-msrl-certificates"
);
const params = {
"page": "1",
"per_page": "20",
"filter[updated_at]": "< 2026-05-31 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"ProductId": 212878,
"CertificationBodyId": 7747,
"CertificationStandardId": 281,
"CertificationResultId": 1,
"VerificationStatusId": 2,
"MSRLVersionId": "ZDHC MRSL v3.1",
"MSRLLevelId": 3,
"SDSid": 84327,
"IssueDate": null,
"ExpirationDate": "2026-01-31 00:00:00",
"QualityCancelation": "2026-01-31 23:59:59",
"QualityCancelationReason": null,
"CreateDate": "2025-01-30 00:00:00",
"LastUpdateDate": "2025-01-30 00:00:00"
},
{
"Id": 1,
"ProductId": 212878,
"CertificationBodyId": 7747,
"CertificationStandardId": 281,
"CertificationResultId": 1,
"VerificationStatusId": 2,
"MSRLVersionId": "ZDHC MRSL v3.1",
"MSRLLevelId": 3,
"SDSid": 84327,
"IssueDate": null,
"ExpirationDate": "2026-01-31 00:00:00",
"QualityCancelation": "2026-01-31 23:59:59",
"QualityCancelationReason": null,
"CreateDate": "2025-01-30 00:00:00",
"LastUpdateDate": "2025-01-30 00:00:00"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-Publication-Status
Product Publication Status Reference Index
requires authentication
No model/data source in current system. Returns empty collection so route is callable.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-publication-status?page=1&per_page=3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-publication-status"
);
const params = {
"page": "1",
"per_page": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"PublicationStatusName": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"PublicationStatusName": null,
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-Publication-Status-Log
Product Publication Status Log Index
requires authentication
No model/data source in current system. Returns empty collection so route is callable.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-publication-status-log?page=1&per_page=19" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-publication-status-log"
);
const params = {
"page": "1",
"per_page": "19",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"ProductID": null,
"PublicationStatusID": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"ProductID": null,
"PublicationStatusID": null,
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-SDS
Product Safety Data Sheets Index
requires authentication
List all safety data sheets.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-sds?page=1&per_page=2&filter%5Bupdated_at%5D=%3D+2026-05-26+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-sds"
);
const params = {
"page": "1",
"per_page": "2",
"filter[updated_at]": "= 2026-05-26 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"ProductID": 63995,
"SDSid": null,
"IdentifiedUses": null,
"FormulatorCountry": "",
"SDSLanguage": "en",
"Link": "http://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/63995/safety-data-sheet/1",
"DocStatus": null,
"UploadDate": "2019-03-02 00:00:00",
"LastUpdateDate": "2019-03-02 00:00:00"
},
{
"Id": 1,
"ProductID": 63995,
"SDSid": null,
"IdentifiedUses": null,
"FormulatorCountry": "",
"SDSLanguage": "en",
"Link": "http://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/63995/safety-data-sheet/1",
"DocStatus": null,
"UploadDate": "2019-03-02 00:00:00",
"LastUpdateDate": "2019-03-02 00:00:00"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-Status
Product Status Reference Values
requires authentication
Static list of product statuses from ProductStatusEnum (paginated).
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-status?page=1&per_page=4" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-status"
);
const params = {
"page": "1",
"per_page": "4",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"ProductStatusName": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"ProductStatusName": null,
"CreateDate": null,
"LastUpdateDate": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-Status-Log
Product Status Log (current snapshot)
requires authentication
One row per chemical product: product id and status as stable Azure id (ProductStatusEnum::azureApiId()).
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-status-log?page=1&per_page=13&filter%5Bupdated_at%5D=%3C%3D+2026-06-05+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-status-log"
);
const params = {
"page": "1",
"per_page": "13",
"filter[updated_at]": "<= 2026-06-05 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"ProductID": 1,
"StatusID": 1,
"CreateDate": "2017-10-06 00:00:00",
"LastUpdateDate": "2023-02-28 00:00:00"
},
{
"Id": null,
"ProductID": 1,
"StatusID": 1,
"CreateDate": "2017-10-06 00:00:00",
"LastUpdateDate": "2023-02-28 00:00:00"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-Substrate
Product Substrates Index
requires authentication
List all product substrates.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-substrate?page=1&per_page=14&filter%5Bupdated_at%5D=%3E%3D+2026-06-01+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-substrate"
);
const params = {
"page": "1",
"per_page": "14",
"filter[updated_at]": ">= 2026-06-01 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"SubstrateName": "Synthetic",
"CreateDate": "2026-05-08 21:42:46",
"LastUpdateDate": "2026-05-08 21:42:46"
},
{
"Id": 1,
"SubstrateName": "Synthetic",
"CreateDate": "2026-05-08 21:42:46",
"LastUpdateDate": "2026-05-08 21:42:46"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product-Type
Product Types Index
requires authentication
List all product use types.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-type?page=1&per_page=11&filter%5Bupdated_at%5D=%3C%3D+2026-06-04+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/product-type"
);
const params = {
"page": "1",
"per_page": "11",
"filter[updated_at]": "<= 2026-06-04 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"ProductTypeName": "Others",
"CreateDate": "2026-05-08 21:42:46",
"LastUpdateDate": "2026-05-08 21:42:46"
},
{
"Id": 1,
"ProductTypeName": "Others",
"CreateDate": "2026-05-08 21:42:46",
"LastUpdateDate": "2026-05-08 21:42:46"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Products-Category
Products–Categories Index
requires authentication
Derived links: product use type on the product × category allowed for that use type (chemical_product_use_types → product_category_use_types). One row per distinct product/category pair.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/products-category?page=1&per_page=11" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/products-category"
);
const params = {
"page": "1",
"per_page": "11",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"ProductID": null,
"ProductCategoryId": null,
"CreateDate": null,
"DeleteDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"ProductID": null,
"ProductCategoryId": null,
"CreateDate": null,
"DeleteDate": null,
"LastUpdateDate": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Products
Chemical Products Index
requires authentication
List all chemical products.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/products?page=1&per_page=18&filter%5Bupdated_at%5D=%3E%3D+2026-06-11+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/products"
);
const params = {
"page": "1",
"per_page": "18",
"filter[updated_at]": ">= 2026-06-11 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"ZDHCId": "367089",
"FormulatorProductCode": "20-Z4289ZZUE9-W",
"ProductName": "A-POLE G-2 [P214AG76]",
"ProductNameOthers": "P214AG76",
"ProductDescription": "",
"ProductChemcheckDescription": null,
"FormulatorId": 5905,
"CreateDate": "2017-10-06 00:00:00",
"UploadDate": null,
"LastUpdateDate": "2023-02-28 00:00:00"
},
{
"id": 1,
"ZDHCId": "367089",
"FormulatorProductCode": "20-Z4289ZZUE9-W",
"ProductName": "A-POLE G-2 [P214AG76]",
"ProductNameOthers": "P214AG76",
"ProductDescription": "",
"ProductChemcheckDescription": null,
"FormulatorId": 5905,
"CreateDate": "2017-10-06 00:00:00",
"UploadDate": null,
"LastUpdateDate": "2023-02-28 00:00:00"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Products-Substrate
Products–Substrates Index
requires authentication
Derived links: product use types on the product, categories for those types, substrates for those categories. One row per distinct product/substrate pair.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/products-substrate?page=1&per_page=5" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/products-substrate"
);
const params = {
"page": "1",
"per_page": "5",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"ProductID": null,
"SubstrateId": null,
"CreateDate": null,
"DeleteDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"ProductID": null,
"SubstrateId": null,
"CreateDate": null,
"DeleteDate": null,
"LastUpdateDate": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Products-Type
Products–Use Types Index
requires authentication
Lists assignments between chemical products and product use types (chemical_product_use_types).
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/products-type?page=1&per_page=8&filter%5Bupdated_at%5D=%3C%3D+2026-05-30+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/products-type"
);
const params = {
"page": "1",
"per_page": "8",
"filter[updated_at]": "<= 2026-05-30 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"ProductID": 307,
"ProductTypeId": 235,
"CreateDate": "2026-05-14 19:42:00",
"DeleteDate": null,
"LastUpdateDate": "2026-05-14 19:42:00"
},
{
"Id": 1,
"ProductID": 307,
"ProductTypeId": 235,
"CreateDate": "2026-05-14 19:42:00",
"DeleteDate": null,
"LastUpdateDate": "2026-05-14 19:42:00"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Profile-Supplier-Chemicals
Profile Supplier Chemicals Index
requires authentication
List all profile–chemical-type links (pivot supplier_profile_attributes, Chemical Type group). ChemicalCountBracketId / ChemicalWeightBracketId have no source in current system.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-chemicals?page=1&per_page=6" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-chemicals"
);
const params = {
"page": "1",
"per_page": "6",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"OrganisationId": 171159,
"ChemicalTypeId": null,
"ChemicalCountBracketId": null,
"ChemicalWeightBracketId": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"OrganisationId": 171159,
"ChemicalTypeId": null,
"ChemicalCountBracketId": null,
"ChemicalWeightBracketId": null,
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Profile-Supplier-Material
Profile Supplier Materials Index
requires authentication
List all profile–material links (pivot supplier_profile_attributes, Materials group).
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-material?page=1&per_page=18" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-material"
);
const params = {
"page": "1",
"per_page": "18",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"OrganisationId": 171159,
"MaterialId": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"OrganisationId": 171159,
"MaterialId": null,
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Profile-Supplier-Processes
Profile Supplier Processes Index
requires authentication
List all profile–process links (pivot supplier_profile_attributes, Chemical Process group).
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-processes?page=1&per_page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-processes"
);
const params = {
"page": "1",
"per_page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"OrganisationId": 171159,
"ProcessId": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"OrganisationId": 171159,
"ProcessId": null,
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Profile-Supplier-Product-Category
Profile Supplier Product Categories Index
requires authentication
No model/data source in current system. Returns empty collection so route is callable.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-product-category?page=1&per_page=4" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-product-category"
);
const params = {
"page": "1",
"per_page": "4",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"OrganisationId": null,
"ProductCategoryId": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"OrganisationId": null,
"ProductCategoryId": null,
"CreateDate": null,
"LastUpdateDate": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Profile-Supplier-Type
Profile Supplier Types Index
requires authentication
List all supplier profiles (organisation_id, facility_type_id = SupplierTypeId).
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-type?page=1&per_page=10&filter%5Bupdated_at%5D=%3E%3D+2026-05-25+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/profile-supplier-type"
);
const params = {
"page": "1",
"per_page": "10",
"filter[updated_at]": ">= 2026-05-25 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"OrganisationId": null,
"SupplierTypeId": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"OrganisationId": null,
"SupplierTypeId": null,
"CreateDate": null,
"LastUpdateDate": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
SDS-Section
SDS Sections Index
requires authentication
No model/data source in current system. Returns empty collection so route is callable.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/sds-section?page=1&per_page=12" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/sds-section"
);
const params = {
"page": "1",
"per_page": "12",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"SDSID": null,
"IngredientName": null,
"CAS": null,
"Min": null,
"Max": null,
"Concentration": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"SDSID": null,
"IngredientName": null,
"CAS": null,
"Min": null,
"Max": null,
"Concentration": null,
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Supplier-Type
Supplier Types Index
requires authentication
List all supplier (facility) types.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/supplier-type?page=1&per_page=7" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/supplier-type"
);
const params = {
"page": "1",
"per_page": "7",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"SupplierTypeName": "Accessories and Trims",
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": 1,
"SupplierTypeName": "Accessories and Trims",
"CreateDate": null,
"LastUpdateDate": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Users
Users Index
requires authentication
List all users.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/users?page=1&per_page=15&filter%5Bupdated_at%5D=%3E%3D+2026-06-09+16%3A14%3A54&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/users"
);
const params = {
"page": "1",
"per_page": "15",
"filter[updated_at]": ">= 2026-06-09 16:14:54",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": 1,
"UserId": "02-PYSRAKAS6CQ-B",
"FirstName": "Amy",
"LastName": "Huang",
"FullName": "Amy Huang",
"IsActive": true,
"Email": "amyhuang@ecic.com.tw",
"Phone": "+886910807779",
"Address1": null,
"Address2": null,
"StateName": null,
"CityName": null,
"ZipCode": null,
"LocationId": "TW",
"CreateDate": "2017-06-17 04:45:09",
"DeleteDate": null,
"LastUpdateDate": "2017-06-17 04:45:09"
},
{
"Id": 1,
"UserId": "02-PYSRAKAS6CQ-B",
"FirstName": "Amy",
"LastName": "Huang",
"FullName": "Amy Huang",
"IsActive": true,
"Email": "amyhuang@ecic.com.tw",
"Phone": "+886910807779",
"Address1": null,
"Address2": null,
"StateName": null,
"CityName": null,
"ZipCode": null,
"LocationId": "TW",
"CreateDate": "2017-06-17 04:45:09",
"DeleteDate": null,
"LastUpdateDate": "2017-06-17 04:45:09"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verification-Status
Verification status reference values
requires authentication
Static list from ProductCertificationBodyAssignmentStatusEnum (paginated). Ids are stable via azureApiId().
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/verification-status?page=1&per_page=9" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/verification-status"
);
const params = {
"page": "1",
"per_page": "9",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"StatusName": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"StatusName": null,
"CreateDate": null,
"LastUpdateDate": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
WW-Report-Status
Wastewater Report Status Reference Values
requires authentication
Static list of wastewater report statuses from WastewaterReportStatusEnum (paginated).
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/azure/v1/ww-report-status?page=1&per_page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/azure/v1/ww-report-status"
);
const params = {
"page": "1",
"per_page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"Id": null,
"DischargeName": null,
"CreateDate": null,
"LastUpdateDate": null
},
{
"Id": null,
"DischargeName": null,
"CreateDate": null,
"LastUpdateDate": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
CTZ Levels
Index
requires authentication
Get all CTZ levels
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/ctz-levels" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/ctz-levels"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Foundational",
"created_at": "2026-05-08T21:42:17.000000Z",
"updated_at": "2026-05-08T21:42:17.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
CTZ Standards
Index
requires authentication
Get CTZ Standards
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard?per_page=6&page=1&filter%5Bctz_level_id%5D=3&filter%5Bstatus%5D=alias&filter%5Bstart_date%5D=labore&filter%5Bend_date%5D=voluptatibus&filter%5Bcreated_at%5D=omnis&filter%5Bupdated_at%5D=repellat&search=facilis&sort=name&column=name" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard"
);
const params = {
"per_page": "6",
"page": "1",
"filter[ctz_level_id]": "3",
"filter[status]": "alias",
"filter[start_date]": "labore",
"filter[end_date]": "voluptatibus",
"filter[created_at]": "omnis",
"filter[updated_at]": "repellat",
"search": "facilis",
"sort": "name",
"column": "name",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"ctz_level_id": 1,
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-13T11:27:29.000000Z",
"ctz_level": {
"id": 1,
"name": "Foundational",
"created_at": "2026-05-08T21:42:17.000000Z",
"updated_at": "2026-05-08T21:42:17.000000Z"
},
"organisations": [
{
"id": 8613,
"maxio_customer_id": 310360,
"reference_id": "01-TMEJGAMNT76-Z",
"pdc_id": null,
"gateway_aid": "A718TE34",
"uuid": "a137f0fd-60df-47cc-99b6-6db56701d205",
"type_id": 7,
"status": "approved",
"name": "Inditex_MRSL",
"legal_name": "Inditex_MRSL",
"address_1": "Avda. de la Dioputacion s/n, 15142 Arteixo, A Coruna.",
"address_2": null,
"city": "Arteijo",
"state": "Galicia",
"location": "ES",
"zip": "",
"phone": "0034 981185400",
"email": "germangi@inditex.com",
"contact_first_name": "Beatriz",
"contact_last_name": "Baeza",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-02-21T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:45.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Spain",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8613,
"id": 1,
"valid_until": "2026-03-16T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2033-10-25T00:00:00.000000Z"
}
},
{
"id": 7753,
"maxio_customer_id": 309500,
"reference_id": "01-TMEJGGMBW39-E",
"pdc_id": null,
"gateway_aid": "A339JQ58",
"uuid": "8afdf188-2575-4347-aad8-c9f521e188c4",
"type_id": 7,
"status": "approved",
"name": "Test & Innovation Lab",
"legal_name": "Test & Innovation Lab",
"address_1": "Viale Montegrappa, 320 - PRATO - 59100 - ITALY",
"address_2": null,
"city": "Prato",
"state": "Prato",
"location": "IT",
"zip": "59100",
"phone": "+39 0574 1770001",
"email": "giuseppe.bartolini@labtil.com",
"contact_first_name": "Andrea",
"contact_last_name": "Franchi",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-09T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7753,
"id": 2,
"valid_until": "2026-03-27T00:00:00.000000Z",
"created_at": "2024-01-25T00:00:00.000000Z",
"updated_at": "2026-03-25T00:00:00.000000Z"
}
},
{
"id": 7738,
"maxio_customer_id": 309485,
"reference_id": "01-NWZQ99R2VV8-H",
"pdc_id": null,
"gateway_aid": "A932KJ49",
"uuid": "f538e6ef-c0ae-4f7d-8064-71c784e1cb45",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Shenzhen Co., Ltd._MRSL",
"legal_name": "TUV Rheinland Shenzhen Co., Ltd._MRSL",
"address_1": "1F East &2-4F, Cybio Technology Building No. 1, No. 16 Kejibei 2nd Road, High-Tech Industrial Park North, Nanshan District, 518057 Shenzhen, China",
"address_2": null,
"city": "Shenzhen",
"state": "Guangdong",
"location": "CN",
"zip": "518057",
"phone": "+852 2192 1022",
"email": "jet.lee@tuv.com",
"contact_first_name": "Nick",
"contact_last_name": "Yang",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2022-01-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:55.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7738,
"id": 3,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-16T00:00:00.000000Z"
}
},
{
"id": 8608,
"maxio_customer_id": 310355,
"reference_id": "01-TMEJGAMMZYV-F",
"pdc_id": null,
"gateway_aid": "A353QZ62",
"uuid": "ff550de3-8165-4abc-86cc-69b706f69f90",
"type_id": 7,
"status": "approved",
"name": "bluesign® Technologies AG",
"legal_name": "bluesign® Technologies AG",
"address_1": "Moevenstrasse 18, 9015 St. Gallen, Switzerland",
"address_2": null,
"city": "Saint Gallen",
"state": "Sankt Gallen",
"location": "CH",
"zip": "",
"phone": "+41 71 272 29 90",
"email": "kurt_schlaepfer@bluesign.com",
"contact_first_name": "Kurt",
"contact_last_name": "Schäpfer",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Switzerland",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8608,
"id": 8,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-20T00:00:00.000000Z"
}
},
{
"id": 8673,
"maxio_customer_id": 310420,
"reference_id": "01-3SRBVLXQG9V-J",
"pdc_id": null,
"gateway_aid": "A754MT47",
"uuid": "1e28b961-cdbf-492a-8b8c-51519010b861",
"type_id": 7,
"status": "approved",
"name": "GCL International",
"legal_name": "GCL International",
"address_1": "1, St Mark Street, London, E1 8DA, United Kingdom",
"address_2": null,
"city": "London",
"state": "London",
"location": "GB",
"zip": "",
"phone": "+91-8754694888",
"email": "pradip@gcl-intl.com",
"contact_first_name": "Pradip",
"contact_last_name": "Patil",
"website": "https://www.gcl.uk/",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-12-20T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:56.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United Kingdom",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8673,
"id": 9,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2024-01-11T00:00:00.000000Z",
"updated_at": "2026-04-09T00:00:00.000000Z"
}
},
{
"id": 8634,
"maxio_customer_id": 310381,
"reference_id": "01-S27UDKYCQ3A-W",
"pdc_id": null,
"gateway_aid": "A346HD39",
"uuid": "a6484b22-b794-43d0-9285-3c315b3af1c0",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Shanghai) Co., Ltd._MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Shanghai) Co., Ltd._MRSL",
"address_1": "No. 168 GuangHua Road,MinHang District, 201108, Shanghai",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "peter.lu@bureauveritas.com",
"contact_first_name": "Steven han",
"contact_last_name": "Steven han",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-29T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8634,
"id": 10,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-08T00:00:00.000000Z"
}
},
{
"id": 8687,
"maxio_customer_id": 310434,
"reference_id": "01-S27UDKKD2QR-E",
"pdc_id": null,
"gateway_aid": "A282WC67",
"uuid": "040b5047-76a1-4d29-8df1-6cd83c67f9f0",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Hong Kong) Limited, Taiwan Branch_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Hong Kong) Limited, Taiwan Branch_MRSL",
"address_1": "37, Zhongyang S. Rd., Sec. 2, Beitou, Taipei 112, Taiwan",
"address_2": null,
"city": "Taipei",
"state": "Taipei",
"location": "TW",
"zip": "",
"phone": "-",
"email": "Vico.lin@bureauveritas.com",
"contact_first_name": "Vico",
"contact_last_name": "Lin",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-10-11T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Taiwan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8687,
"id": 11,
"valid_until": "2026-03-24T00:00:00.000000Z",
"created_at": "2024-01-10T00:00:00.000000Z",
"updated_at": "2026-03-12T00:00:00.000000Z"
}
},
{
"id": 8638,
"maxio_customer_id": 310385,
"reference_id": "01-76N8MD26GWS-O",
"pdc_id": null,
"gateway_aid": "A715SZ55",
"uuid": "31c0ce0f-d232-4d24-b2a5-8ec1d213b5a3",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer products Services (I) Pvt. Ltd. (Noida)",
"legal_name": "Bureau Veritas Consumer products Services (I) Pvt. Ltd. (Noida)",
"address_1": "C-19 , Sector-7 201301 Noida India",
"address_2": null,
"city": "Noida",
"state": "Uttar Pradesh",
"location": "IN",
"zip": "",
"phone": "-",
"email": "sumanta.swain@bureauveritas.com",
"contact_first_name": "Sumanta",
"contact_last_name": "Swain",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-09-19T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:50.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8638,
"id": 12,
"valid_until": "2025-09-25T00:00:00.000000Z",
"created_at": "2024-05-31T00:00:00.000000Z",
"updated_at": "2025-07-26T00:00:00.000000Z"
}
},
{
"id": 8551,
"maxio_customer_id": 310298,
"reference_id": "01-WEJAPXHF6V4-V",
"pdc_id": null,
"gateway_aid": "A549OE34",
"uuid": "5afbe0cf-f430-4bd4-bdc3-17427cddb67c",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services A.S.Turkey",
"legal_name": "Intertek Testing Services A.S.Turkey",
"address_1": "Merkez Mahallesi, Sanayi Cad. Altındağ Plaza No:23",
"address_2": null,
"city": "Sanayi",
"state": "Istanbul",
"location": "US",
"zip": "",
"phone": "+902124964646",
"email": "zeynep.akin@intertek.com",
"contact_first_name": "Ben",
"contact_last_name": "Cheng ZDHC MRSL",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:33.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United States",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8551,
"id": 13,
"valid_until": "2026-03-23T00:00:00.000000Z",
"created_at": "2024-01-22T00:00:00.000000Z",
"updated_at": "2026-03-17T00:00:00.000000Z"
}
},
{
"id": 8695,
"maxio_customer_id": 310442,
"reference_id": "01-S27UDKAQZ4J-G",
"pdc_id": null,
"gateway_aid": "A825AG65",
"uuid": "bf446a0f-07c4-4776-a3d4-221cf3596478",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Bangladesh) Ltd._MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Bangladesh) Ltd._MRSL",
"address_1": "Plot#130, DEPZ Extension Area, Savar, Dhaka 1349 Bangladesh",
"address_2": null,
"city": "Savar",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "-",
"email": "nur.alam@bureauveritas.com",
"contact_first_name": "Sharan",
"contact_last_name": "Roy",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2024-02-19T00:00:00.000000Z",
"updated_at": "2026-05-12T15:20:01.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8695,
"id": 14,
"valid_until": "2025-02-13T00:00:00.000000Z",
"created_at": "2024-06-29T00:00:00.000000Z",
"updated_at": "2025-01-21T00:00:00.000000Z"
}
},
{
"id": 9068,
"maxio_customer_id": 310814,
"reference_id": "01-S27UDAYQVRK-R",
"pdc_id": null,
"gateway_aid": "A555PX59",
"uuid": "f171c290-f9d4-4a39-9f26-03093b40a5af",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Certification and Testing (China) Co. Ltd. Xiamen Branch",
"legal_name": "TUV SUD Certification and Testing (China) Co. Ltd. Xiamen Branch",
"address_1": "Unit 401, No.93 Huli Industrial Park, Meixi Road, Tong’an District 361100, Xiamen China",
"address_2": null,
"city": "Xiamen",
"state": "Fujian",
"location": "CN",
"zip": "",
"phone": "-",
"email": "nemo.chen@tuvsud.com",
"contact_first_name": "chao",
"contact_last_name": "chen",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-10-24T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:14.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 9068,
"id": 15,
"valid_until": "2026-01-07T00:00:00.000000Z",
"created_at": "2023-12-25T00:00:00.000000Z",
"updated_at": "2025-09-15T00:00:00.000000Z"
}
},
{
"id": 8581,
"maxio_customer_id": 310328,
"reference_id": "01-2V6NQ8T6AHT-F",
"pdc_id": null,
"gateway_aid": "A752DH57",
"uuid": "763fb7d2-476c-4217-9f79-a683052a9361",
"type_id": 7,
"status": "approved",
"name": "Intertek India Pvt Ltd Gurgaon_MRSL",
"legal_name": "Intertek India Pvt Ltd Gurgaon_MRSL",
"address_1": "Udhog Vihar phase 2, Plot no 290 Gurgaon India",
"address_2": null,
"city": "Gurgaon",
"state": "Haryana",
"location": "IN",
"zip": "",
"phone": "+91 0124 450 3400",
"email": "ravindra.s@intertek.com",
"contact_first_name": "Ravindra",
"contact_last_name": "Singh",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:39.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8581,
"id": 16,
"valid_until": "2026-02-20T00:00:00.000000Z",
"created_at": "2024-05-01T00:00:00.000000Z",
"updated_at": "2026-01-31T00:00:00.000000Z"
}
},
{
"id": 8589,
"maxio_customer_id": 310336,
"reference_id": "01-S27UDK9WJ3K-L",
"pdc_id": null,
"gateway_aid": "A588PW46",
"uuid": "79e11446-97a1-41d5-84c6-ce24af34a8c9",
"type_id": 7,
"status": "approved",
"name": "TEXANLAB LABORATORIES PVT. LTD.",
"legal_name": "TEXANLAB LABORATORIES PVT. LTD.",
"address_1": "R-855, 1st Floor, T.T.C. Industrial Area, Rabale, 400701",
"address_2": null,
"city": "Mumbai",
"state": "Maharashtra",
"location": "IN",
"zip": "",
"phone": "+91 22 6141 7130",
"email": "anitha.balkrishna@texanlabglobal.com",
"contact_first_name": "Milind",
"contact_last_name": "Marathe",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:40.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8589,
"id": 17,
"valid_until": "2026-03-31T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-03-30T00:00:00.000000Z"
}
},
{
"id": 8637,
"maxio_customer_id": 310384,
"reference_id": "01-6TWZXQVEWQQ-M",
"pdc_id": null,
"gateway_aid": "A384ZL32",
"uuid": "958d920f-eff9-4183-9636-b63dbd9a8bd5",
"type_id": 7,
"status": "approved",
"name": "Analytical srl",
"legal_name": "Analytical srl",
"address_1": "Viale Industria 24 Arzignano 36071 Italy",
"address_2": null,
"city": "Arzignano",
"state": "Vicenza",
"location": "IT",
"zip": "",
"phone": "-",
"email": "f.ferrigato@analytical.it",
"contact_first_name": "Francesca",
"contact_last_name": "Ferrigato",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-07-25T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8637,
"id": 18,
"valid_until": "2026-03-11T00:00:00.000000Z",
"created_at": "2024-02-20T00:00:00.000000Z",
"updated_at": "2026-03-10T00:00:00.000000Z"
}
},
{
"id": 8604,
"maxio_customer_id": 310351,
"reference_id": "01-CHFY7SHYMZD-P",
"pdc_id": null,
"gateway_aid": "A888YX20",
"uuid": "7641e55d-fd93-4bf8-b511-2944ae04c960",
"type_id": 7,
"status": "approved",
"name": "SGS Global",
"legal_name": "SGS Global",
"address_1": "4/F On Wui Centre, 25 Lok Yip Road Fanling, N.T., Hong Kong.",
"address_2": null,
"city": "Hong Kong",
"state": "Hong Kong",
"location": "HK",
"zip": "",
"phone": "+852 22048354",
"email": "Keith.Tsang@sgs.com",
"contact_first_name": "Padmanaban",
"contact_last_name": "K S",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Hong Kong SAR China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8604,
"id": 19,
"valid_until": "2026-02-26T00:00:00.000000Z",
"created_at": "2024-01-04T00:00:00.000000Z",
"updated_at": "2026-01-15T00:00:00.000000Z"
}
},
{
"id": 8603,
"maxio_customer_id": 310350,
"reference_id": "01-76N8MD6QT3C-E",
"pdc_id": null,
"gateway_aid": "A557RN68",
"uuid": "5526c7e5-cef0-4256-9397-5ff00a409ee5",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Service Labtest Bangladesh Ltd._MRSL",
"legal_name": "Intertek Testing Service Labtest Bangladesh Ltd._MRSL",
"address_1": "Intertek House, Phonix Tower, 407, Tejgoan Industrial Area, 1208",
"address_2": null,
"city": "Tejgaon",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "+8809666776669",
"email": "neyamul.hasan@intertek.com",
"contact_first_name": "Neyamul",
"contact_last_name": "Hasan",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8603,
"id": 20,
"valid_until": "2026-03-16T00:00:00.000000Z",
"created_at": "2024-01-02T00:00:00.000000Z",
"updated_at": "2026-03-13T00:00:00.000000Z"
}
},
{
"id": 8635,
"maxio_customer_id": 310382,
"reference_id": "01-S27UDKYRCKS-Y",
"pdc_id": null,
"gateway_aid": "A775EK75",
"uuid": "215f574e-e1ab-4a5c-be13-7334f7ca8db0",
"type_id": 7,
"status": "approved",
"name": "SGS Supervise Gozetme Etud Kontrol Servisleri A.S._MRSL",
"legal_name": "SGS Supervise Gozetme Etud Kontrol Servisleri A.S._MRSL",
"address_1": "IS IStanbul Plaza Baglar Mah. Osmanpasa Cad. No:95 E Girisi/Gunesli 34209 Istanbul Turkey",
"address_2": null,
"city": "Gunesli",
"state": "Istanbul",
"location": "US",
"zip": "",
"phone": "-",
"email": "birol.cakmak@sgs.com",
"contact_first_name": "Birol",
"contact_last_name": "ÇAKMAK",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-07-13T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United States",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8635,
"id": 21,
"valid_until": "2026-04-15T00:00:00.000000Z",
"created_at": "2024-01-11T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8652,
"maxio_customer_id": 310399,
"reference_id": "01-MX94FCFSRAG-X",
"pdc_id": null,
"gateway_aid": "A229LO23",
"uuid": "27b2aef8-4608-4f5c-a7df-2d58410b88c5",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland LGA Products GmbH_MRSL",
"legal_name": "TUV Rheinland LGA Products GmbH_MRSL",
"address_1": "Am Grauen Stein 51105 Koeln",
"address_2": null,
"city": "Koln",
"state": "Nordrhein Westfalen",
"location": "DE",
"zip": "",
"phone": "+49 221 8060",
"email": "steffen.tuemptner@de.tuv.com",
"contact_first_name": "ATA",
"contact_last_name": "bayraktar",
"website": "https://www.tuv.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:52.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Germany",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8652,
"id": 22,
"valid_until": "2026-03-20T00:00:00.000000Z",
"created_at": "2024-01-16T00:00:00.000000Z",
"updated_at": "2026-03-19T00:00:00.000000Z"
}
},
{
"id": 8600,
"maxio_customer_id": 310347,
"reference_id": "01-TMEJGAMVSLT-W",
"pdc_id": null,
"gateway_aid": "A820MS41",
"uuid": "a9df7805-cbaa-4aab-b73e-81a0dccd26ad",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Vietnam_MRSL",
"legal_name": "TUV SUD Vietnam_MRSL",
"address_1": "Lot III-26, 19/5A Street, Industry Group III, Tan Binh Industrial Park",
"address_2": null,
"city": "",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "+842862678507",
"email": "minh-thang.le@tuvsud.com",
"contact_first_name": "Nguyen",
"contact_last_name": "Truc",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:42.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8600,
"id": 23,
"valid_until": "2026-01-29T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-01-26T00:00:00.000000Z"
}
},
{
"id": 8661,
"maxio_customer_id": 310408,
"reference_id": "01-ZJAX393ZNYS-E",
"pdc_id": null,
"gateway_aid": "A525LH13",
"uuid": "f61ec85b-5397-4e5c-8a12-cade64ec5b82",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Bangladesh (Pvt.) Ltd_MRSL",
"legal_name": "TUV SUD Bangladesh (Pvt.) Ltd_MRSL",
"address_1": "Level 7 & 8, Update Tower, 01 Shahajalal Ave, 1230",
"address_2": null,
"city": "",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "+880 2-58954115",
"email": "Raffaella.Santoro@tuv.it",
"contact_first_name": "Shafikul",
"contact_last_name": "ISLAM",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:54.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8661,
"id": 24,
"valid_until": "2025-11-12T00:00:00.000000Z",
"created_at": "2024-11-30T00:00:00.000000Z",
"updated_at": "2025-09-30T00:00:00.000000Z"
}
},
{
"id": 8653,
"maxio_customer_id": 310400,
"reference_id": "01-VDTWAZAYP43-U",
"pdc_id": null,
"gateway_aid": "A956NT67",
"uuid": "061c1936-d6e3-4385-bfea-ee2b9670a61c",
"type_id": 7,
"status": "approved",
"name": "ToxServices LLC",
"legal_name": "ToxServices LLC",
"address_1": "1367 Connecticut Avenue, N.W., Suite 300 20036",
"address_2": null,
"city": "",
"state": "Washington",
"location": "US",
"zip": "",
"phone": "(202) 429-8787",
"email": "Mwhittaker@toxservices.com",
"contact_first_name": "Margaret",
"contact_last_name": "Whittaker",
"website": "https://www.toxservices.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-13T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:53.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United States",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8653,
"id": 25,
"valid_until": "2026-02-05T00:00:00.000000Z",
"created_at": "2024-02-19T00:00:00.000000Z",
"updated_at": "2026-01-12T00:00:00.000000Z"
}
},
{
"id": 8631,
"maxio_customer_id": 310378,
"reference_id": "01-S27UDKYVHZL-P",
"pdc_id": null,
"gateway_aid": "A444NZ79",
"uuid": "6836990a-8642-490f-89f7-cc784df0e8bf",
"type_id": 7,
"status": "approved",
"name": "SGS Taiwan Ltd. (Taipei)",
"legal_name": "SGS Taiwan Ltd. (Taipei)",
"address_1": "31, Wu Chyuan Road, New Taipei Industrial Park, Wu Ku Dist., 24886, New Taipei City Taiwan, Province of China",
"address_2": null,
"city": "New Taipei City",
"state": "New Taipei",
"location": "TW",
"zip": "",
"phone": "-",
"email": "Jerry.tung@sgs.com",
"contact_first_name": "jerry",
"contact_last_name": "tung",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-25T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Taiwan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8631,
"id": 26,
"valid_until": "2026-01-12T00:00:00.000000Z",
"created_at": "2024-02-29T00:00:00.000000Z",
"updated_at": "2025-12-17T00:00:00.000000Z"
}
},
{
"id": 8697,
"maxio_customer_id": 310444,
"reference_id": "01-BUKVW698S2E-J",
"pdc_id": null,
"gateway_aid": "A273NP76",
"uuid": "919cbdb3-553e-423b-966d-e3a75cf80d9e",
"type_id": 7,
"status": "approved",
"name": "Eurofins Modern Testing Services (Bangladesh) Limited",
"legal_name": "Eurofins Modern Testing Services (Bangladesh) Limited",
"address_1": "280 East Narsinghpur, Ashulia 1341 Dhaka Bangladesh",
"address_2": null,
"city": "Dhaka",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "-",
"email": "zakir@mtsbd.com",
"contact_first_name": "Probir",
"contact_last_name": "Chandra Das",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2024-03-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:20:01.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8697,
"id": 27,
"valid_until": "2026-04-03T00:00:00.000000Z",
"created_at": "2025-01-10T00:00:00.000000Z",
"updated_at": "2026-04-02T00:00:00.000000Z"
}
},
{
"id": 9114,
"maxio_customer_id": 310860,
"reference_id": "01-S27UDAGNJHW-W",
"pdc_id": null,
"gateway_aid": "A438IE31",
"uuid": "f5f853da-aba6-4901-9602-e08111c4993e",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland / CCIC (Qingdao) Co., Ltd.",
"legal_name": "TUV Rheinland / CCIC (Qingdao) Co., Ltd.",
"address_1": "6F, No. 2 Bldg., No. 175 Zhuzhou Road Qingdao 266000 China",
"address_2": null,
"city": "Qingdao",
"state": "Shandong",
"location": "CN",
"zip": "",
"phone": "-",
"email": "Echo.Xu@tuv.com",
"contact_first_name": "Echo",
"contact_last_name": "Xu",
"website": "https://www.tuv.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2025-01-03T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:23.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 9114,
"id": 28,
"valid_until": "2026-04-08T00:00:00.000000Z",
"created_at": "2025-03-17T00:00:00.000000Z",
"updated_at": "2026-04-07T00:00:00.000000Z"
}
},
{
"id": 8993,
"maxio_customer_id": 310739,
"reference_id": "01-2V6NQCSN8HE-M",
"pdc_id": null,
"gateway_aid": "A254LK97",
"uuid": "2ff1860c-c0c5-4220-b2b7-7f6fbd5e9da5",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Certification and Testing (China) Co., Ltd. Shanghai Branch_MRSL",
"legal_name": "TUV SUD Certification and Testing (China) Co., Ltd. Shanghai Branch_MRSL",
"address_1": "No. 1999 Du Hui Road, Minhang District, 201108 Shanghai China",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "+86 21 6141 0123",
"email": "Chenghui.Zhang@tuvsud.com",
"contact_first_name": "shen",
"contact_last_name": "Hui",
"website": "https://www.tuvsud.cn/",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:00.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8993,
"id": 29,
"valid_until": "2026-01-09T00:00:00.000000Z",
"created_at": "2024-01-17T00:00:00.000000Z",
"updated_at": "2026-01-07T00:00:00.000000Z"
}
},
{
"id": 8997,
"maxio_customer_id": 310743,
"reference_id": "01-WEJAPLNEV6W-H",
"pdc_id": null,
"gateway_aid": "A548JP59",
"uuid": "512bfff6-4ef0-48d2-9e57-2484513817fa",
"type_id": 7,
"status": "approved",
"name": "United Testing Services (Fujian) Co., Ltd",
"legal_name": "United Testing Services (Fujian) Co., Ltd",
"address_1": "Address: Room 5205, Building C, South of Clothing City, No. 88 Nanyang Road, Lingxiu Town, Shishi, Quanzhou, Fujian, China.",
"address_2": null,
"city": "Shishi",
"state": "Fujian",
"location": "CN",
"zip": "",
"phone": "+86 595 83667715",
"email": "mike.wong@fabricschina.com.cn",
"contact_first_name": "Mike",
"contact_last_name": "User",
"website": "https://www.c-uts.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-01-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:01.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8997,
"id": 30,
"valid_until": "2026-02-01T00:00:00.000000Z",
"created_at": "2023-12-26T00:00:00.000000Z",
"updated_at": "2026-01-30T00:00:00.000000Z"
}
},
{
"id": 10787,
"maxio_customer_id": 312533,
"reference_id": "01-HRBL6KCZEDB-L",
"pdc_id": null,
"gateway_aid": "A576LQ13",
"uuid": "5de3557d-458e-4ccd-a876-9877734d4ab1",
"type_id": 7,
"status": "approved",
"name": "CTC ARS TINCTORIA SRL",
"legal_name": "CTC ARS TINCTORIA SRL",
"address_1": "VIA DEL BOSCO 125 56029",
"address_2": null,
"city": "Santa Croce sull Arno",
"state": "Pisa",
"location": "IT",
"zip": "",
"phone": "+39 0571 35110",
"email": "gdefeo@ctcgroupe.com",
"contact_first_name": "GUSTAVO",
"contact_last_name": "Defeo",
"website": "https://www.ctcgroupe.com/en/",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:26:46.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 10787,
"id": 31,
"valid_until": "2026-04-07T00:00:00.000000Z",
"created_at": "2024-01-15T00:00:00.000000Z",
"updated_at": "2026-03-20T00:00:00.000000Z"
}
},
{
"id": 8594,
"maxio_customer_id": 310341,
"reference_id": "01-S27UDK9KWZR-O",
"pdc_id": null,
"gateway_aid": "A302YG32",
"uuid": "a21868a0-e599-4172-8158-6a2d4530a922",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Taiwan Ltd._MRSL",
"legal_name": "Intertek Testing Services Taiwan Ltd._MRSL",
"address_1": "Floor 10, No.423, Ruiguang Road Neihu Dist.",
"address_2": null,
"city": "Taipei",
"state": "Taipei",
"location": "TW",
"zip": "",
"phone": "+886 2 66022888",
"email": "limei.chu@intertek.com",
"contact_first_name": "Limei",
"contact_last_name": "Chu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:41.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Taiwan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8594,
"id": 32,
"valid_until": "2026-04-14T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8660,
"maxio_customer_id": 310407,
"reference_id": "01-43HF2Y2HCJN-B",
"pdc_id": null,
"gateway_aid": "A350AD73",
"uuid": "2f1af83b-e1a4-414a-90f9-0693967c282e",
"type_id": 7,
"status": "approved",
"name": "FITI Testing & Research Institute",
"legal_name": "FITI Testing & Research Institute",
"address_1": "79, Magokjungang 8-ro 3-gil, Gangseo-gu",
"address_2": null,
"city": "Gangseo",
"state": "Seoul",
"location": "KR",
"zip": "",
"phone": "+82232998222",
"email": "jun_park@fitiglobal.com",
"contact_first_name": "Kelvin JeongYoon",
"contact_last_name": "Lee",
"website": "https://www.fiti.re.kr/en/?sub_num=284",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:54.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "South Korea",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8660,
"id": 33,
"valid_until": "2026-03-30T00:00:00.000000Z",
"created_at": "2023-12-27T00:00:00.000000Z",
"updated_at": "2026-03-13T00:00:00.000000Z"
}
},
{
"id": 5883,
"maxio_customer_id": 307630,
"reference_id": "01-S27UD99XAKV-X",
"pdc_id": null,
"gateway_aid": "A852OE62",
"uuid": "29ebf086-5a21-4246-8672-9d670858901a",
"type_id": 7,
"status": "approved",
"name": "Testtex India Laboratories Private Limited",
"legal_name": "Testtex India Laboratories Private Limited",
"address_1": "301-304 Premsons Industrial Estate, Caves Rd, Jogeshwari East, 400060",
"address_2": null,
"city": "Mumbai",
"state": "Maharashtra",
"location": "IN",
"zip": "400060",
"phone": "+91 22 2825 9190",
"email": "meeta@testtex.com",
"contact_first_name": "Meeta",
"contact_last_name": "Shingala",
"website": "https://www.testtex.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:10:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 5883,
"id": 34,
"valid_until": "2025-12-16T00:00:00.000000Z",
"created_at": "2023-12-21T00:00:00.000000Z",
"updated_at": "2025-12-13T00:00:00.000000Z"
}
},
{
"id": 8655,
"maxio_customer_id": 310402,
"reference_id": "01-E94CYGYYWNV-U",
"pdc_id": null,
"gateway_aid": "A176RO67",
"uuid": "8d09254e-3403-4f40-84a4-f5990f4c5b59",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Bangladesh Pvt. Ltd._MRSL",
"legal_name": "TUV Rheinland Bangladesh Pvt. Ltd._MRSL",
"address_1": "Road 113/A, Plot 17, Aladdin Tower, 5th to 8 th floor 1212",
"address_2": null,
"city": "Dhaka",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "+88229894904",
"email": "Rakesh.Vazirani@tuv.com",
"contact_first_name": "Md Wakil",
"contact_last_name": "Hossain",
"website": "http://www.tuv.com/detox",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:53.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8655,
"id": 35,
"valid_until": "2026-04-05T00:00:00.000000Z",
"created_at": "2024-01-17T00:00:00.000000Z",
"updated_at": "2026-03-11T00:00:00.000000Z"
}
},
{
"id": 8622,
"maxio_customer_id": 310369,
"reference_id": "01-WEJAPXSNQJ7-A",
"pdc_id": null,
"gateway_aid": "A778MT32",
"uuid": "4fcbc012-eef8-4918-a27d-47d3cc1a405a",
"type_id": 7,
"status": "approved",
"name": "UL Italy - IISG Srl_MRSL",
"legal_name": "UL Italy - IISG Srl_MRSL",
"address_1": "via Europa 28, 22060 Cabiate, Italy",
"address_2": null,
"city": "Cabiate",
"state": "Como",
"location": "IT",
"zip": "",
"phone": "+39.031.8125.000",
"email": "luciano.buraschi@ul.com",
"contact_first_name": "Domenico",
"contact_last_name": "Pelle",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-03-23T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:46.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8622,
"id": 36,
"valid_until": "2026-03-12T00:00:00.000000Z",
"created_at": "2024-01-22T00:00:00.000000Z",
"updated_at": "2026-02-24T00:00:00.000000Z"
}
},
{
"id": 9222,
"maxio_customer_id": 310968,
"reference_id": "01-NWZQ9YBUJCH-S",
"pdc_id": null,
"gateway_aid": "A778EY21",
"uuid": "927e09ba-73a3-4402-8593-08028399b05d",
"type_id": 7,
"status": "approved",
"name": "Bay Area Compliance Labs Corp.",
"legal_name": "Bay Area Compliance Labs Corp.",
"address_1": "6/F, the 3rd Phase of Wan Li Industrial Bldg., Shihua Rd., FuTian",
"address_2": null,
"city": "Futian",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "+8675533320018",
"email": "laura.cortes@baclcorp.com",
"contact_first_name": "laura",
"contact_last_name": "Cortes",
"website": "https://www.baclcorp.com.cn",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-12-18T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 9222,
"id": 37,
"valid_until": "2026-04-08T00:00:00.000000Z",
"created_at": "2024-03-23T00:00:00.000000Z",
"updated_at": "2026-03-23T00:00:00.000000Z"
}
},
{
"id": 8639,
"maxio_customer_id": 310386,
"reference_id": "01-LKV6ZNBBGX3-G",
"pdc_id": null,
"gateway_aid": "A800GZ98",
"uuid": "8f14c048-8bc1-4257-b64c-a3d66d4bd67e",
"type_id": 7,
"status": "approved",
"name": "BUREAU VERITAS CONSUMER PRODUCTS SERVICES LANKA (PRIVATE) LIMITED_MRSL",
"legal_name": "BUREAU VERITAS CONSUMER PRODUCTS SERVICES LANKA (PRIVATE) LIMITED_MRSL",
"address_1": "NNo.570,Galle road,Katubedda,Sri Lanka",
"address_2": null,
"city": "Kaduwela",
"state": "Western Province",
"location": "LK",
"zip": "",
"phone": "-",
"email": "sonali.nakandala@bureauveritas.com",
"contact_first_name": "Sanduni",
"contact_last_name": "Nakandala",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-09-29T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:50.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Sri Lanka",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8639,
"id": 38,
"valid_until": "2026-04-06T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-03T00:00:00.000000Z"
}
},
{
"id": 5893,
"maxio_customer_id": 307640,
"reference_id": "01-E94CY66BUDP-U",
"pdc_id": null,
"gateway_aid": "A344OJ22",
"uuid": "ac420973-b93a-4a2a-93aa-22a24106a0e1",
"type_id": 7,
"status": "approved",
"name": "BUREAU VERITAS SINGAPORE PTE LTD_MRSL",
"legal_name": "BUREAU VERITAS SINGAPORE PTE LTD_MRSL",
"address_1": "37A, Tampines Street 92,#06-‐01 Singapore, 528886",
"address_2": null,
"city": "Singapore City",
"state": "Singapore",
"location": "SG",
"zip": "528886",
"phone": "-",
"email": "kenny.mak@bureauveritas.com",
"contact_first_name": "Ya Nan",
"contact_last_name": "Wang",
"website": "https://group.bureauveritas.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2022-05-13T00:00:00.000000Z",
"updated_at": "2026-05-12T15:10:46.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Singapore",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 5893,
"id": 39,
"valid_until": "2026-03-05T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-03-02T00:00:00.000000Z"
}
},
{
"id": 8630,
"maxio_customer_id": 310377,
"reference_id": "01-WEJAPXSWJTS-K",
"pdc_id": null,
"gateway_aid": "A851GA58",
"uuid": "afb9e014-db7b-4592-bbf8-af96548ccfb7",
"type_id": 7,
"status": "approved",
"name": "Eurofins MTS Consumer Product Testing (Shanghai) Co. Ltd",
"legal_name": "Eurofins MTS Consumer Product Testing (Shanghai) Co. Ltd",
"address_1": "No.105 Guangzhong Rd. Zhuanqiao Town, Shanghai",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "viviangu@mts-global.com",
"contact_first_name": "Eddie",
"contact_last_name": "Zhang",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-22T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8630,
"id": 40,
"valid_until": "2026-03-30T00:00:00.000000Z",
"created_at": "2023-12-22T00:00:00.000000Z",
"updated_at": "2026-03-04T00:00:00.000000Z"
}
},
{
"id": 7750,
"maxio_customer_id": 309497,
"reference_id": "01-9P3HLLPPYNX-Z",
"pdc_id": null,
"gateway_aid": "A662FL36",
"uuid": "5bb6931d-2655-4a04-9964-d56ccc04f387",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Thailand Ltd._MRSL",
"legal_name": "TUV Rheinland Thailand Ltd._MRSL",
"address_1": "123/1, Soi Chalongkung 31 Ladkrabang lndustrial Estate Lamplatew, Ladkrabang Bangkok 10520",
"address_2": null,
"city": "Lat Krabang",
"state": "Bangkok",
"location": "TH",
"zip": "10520",
"phone": "+66 2 326-1333",
"email": "Rakesh.Vazirani@tuv.com",
"contact_first_name": "Nutkritta",
"contact_last_name": "Thongdee",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-03-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:58.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Thailand",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7750,
"id": 41,
"valid_until": "2026-02-04T00:00:00.000000Z",
"created_at": "2023-12-22T00:00:00.000000Z",
"updated_at": "2025-12-18T00:00:00.000000Z"
}
},
{
"id": 2094,
"maxio_customer_id": 303756,
"reference_id": "01-BUKVWT7CHL4-H",
"pdc_id": null,
"gateway_aid": "A155YG88",
"uuid": "42162b76-c772-4463-9d2f-31603764cb32",
"type_id": 7,
"status": "approved",
"name": "VERIS IMPACT",
"legal_name": "VERIS IMPACT",
"address_1": "B-88, AEES, Gulistan e jauhar, Block-8, Karachi 75290 Pakistan",
"address_2": null,
"city": "Karachi",
"state": "Sindh",
"location": "PK",
"zip": "",
"phone": "",
"email": "jamal.gulzar@verisimpact.com",
"contact_first_name": "Jamal",
"contact_last_name": "Gulzar",
"website": "https://www.verisimpact.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2026-03-13T00:00:00.000000Z",
"updated_at": "2026-05-12T14:52:31.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Pakistan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 2094,
"id": 42,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2026-04-07T00:00:00.000000Z",
"updated_at": "2026-04-13T00:00:00.000000Z"
}
},
{
"id": 8626,
"maxio_customer_id": 310373,
"reference_id": "01-NWZQ9M3DYJV-I",
"pdc_id": null,
"gateway_aid": "A596TF96",
"uuid": "cdb999c3-24f2-422a-ac7d-fb59c73bbce8",
"type_id": 7,
"status": "approved",
"name": "SGS-CSTC Standards Technical Services Co., Ltd. Guangzhou Branch",
"legal_name": "SGS-CSTC Standards Technical Services Co., Ltd. Guangzhou Branch",
"address_1": "198 Kezhu Road, Scientech Park, Guangzhou Economic & Technology Development District, 510663, Guangzhou, China",
"address_2": null,
"city": "Guangzhou",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "00862082155632",
"email": "Ivan.Xie@sgs.com",
"contact_first_name": "Liane",
"contact_last_name": "liu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-04-19T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8626,
"id": 43,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8566,
"maxio_customer_id": 310313,
"reference_id": "01-FBL2N7GV3XN-F",
"pdc_id": null,
"gateway_aid": "A184OQ79",
"uuid": "591df904-4afd-4694-ad6c-e57443f1f3d9",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services (Tianjin) Ltd.",
"legal_name": "Intertek Testing Services (Tianjin) Ltd.",
"address_1": "2-4/F Yishanghutong Building No. 7 Guiyuan Road. Huayuan Hi-Tech Park",
"address_2": null,
"city": "Tianjin",
"state": "Tianjin",
"location": "CN",
"zip": "",
"phone": "+86 22 8371 2202",
"email": "patrick.gong@intertek.com",
"contact_first_name": "Ben",
"contact_last_name": "Cheng ZDHC MRSL",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:36.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8566,
"id": 44,
"valid_until": "2026-04-10T00:00:00.000000Z",
"created_at": "2024-05-11T00:00:00.000000Z",
"updated_at": "2027-10-04T00:00:00.000000Z"
}
},
{
"id": 8588,
"maxio_customer_id": 310335,
"reference_id": "01-S27UDK9JDRR-S",
"pdc_id": null,
"gateway_aid": "A382HL60",
"uuid": "8a53e67d-ba82-4b5c-adde-344dcf5a7067",
"type_id": 7,
"status": "approved",
"name": "Intertek India Private Limited (Banglalore)",
"legal_name": "Intertek India Private Limited (Banglalore)",
"address_1": "No-17/F, Industrial Subrub, Yeshwanthpur, Yeshwanthpur, 560022",
"address_2": null,
"city": "Bengalooru",
"state": "Karnataka",
"location": "IN",
"zip": "",
"phone": "+9140213700",
"email": "Aatheeswaran.s@intertek.com",
"contact_first_name": "Aatheeswaran",
"contact_last_name": "User",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:40.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8588,
"id": 45,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8605,
"maxio_customer_id": 310352,
"reference_id": "01-TMEJGAMW99X-Y",
"pdc_id": null,
"gateway_aid": "A202RF74",
"uuid": "6becb420-a5c0-4a35-97d1-46385b2a564c",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Hong Kong Ltd._MRSL",
"legal_name": "TUV Rheinland Hong Kong Ltd._MRSL",
"address_1": "3-4, 11/F, Fou Wah Industrial Building, 10-16 Pun Shan St, Tsuen Wan",
"address_2": null,
"city": "Hong Kong",
"state": "Hong Kong",
"location": "HK",
"zip": "",
"phone": "+852 2192 1022",
"email": "jet.lee@tuv.com",
"contact_first_name": "Anthony",
"contact_last_name": "TU",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Hong Kong SAR China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8605,
"id": 46,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2024-01-02T00:00:00.000000Z",
"updated_at": "2026-04-13T00:00:00.000000Z"
}
},
{
"id": 8562,
"maxio_customer_id": 310309,
"reference_id": "01-E94CYGWMHFQ-T",
"pdc_id": null,
"gateway_aid": "A885GA11",
"uuid": "31f791c4-306c-46d4-b2e1-c75ea3681cdc",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Ltd., Shanghai",
"legal_name": "Intertek Testing Services Ltd., Shanghai",
"address_1": "2/F, Building No. 4 Shanghai Comalong Technology Service Park 889 Yi Shan Road",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "+86 (21) 6120 6060",
"email": "jane.wu@intertek.com",
"contact_first_name": "Jane",
"contact_last_name": "Wu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8562,
"id": 47,
"valid_until": "2026-04-02T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-02T00:00:00.000000Z"
}
},
{
"id": 8623,
"maxio_customer_id": 310370,
"reference_id": "01-2V6NQ8XPXTU-N",
"pdc_id": null,
"gateway_aid": "A113LK71",
"uuid": "94a4ec0d-deca-4397-abbe-2d5c6f09bf28",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Korea Ltd._MRSL",
"legal_name": "Intertek Testing Services Korea Ltd._MRSL",
"address_1": "1F, A-Ju digital tower, 7, Achasan-ro 5-gil, Seongdong-gu 04793 Seoul Korea Republic of",
"address_2": null,
"city": "Seongdong",
"state": "Seoul",
"location": "KR",
"zip": "",
"phone": "-",
"email": "ryan.kwak@intertek.com",
"contact_first_name": "Heloise",
"contact_last_name": "Jeong",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-03-24T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "South Korea",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8623,
"id": 48,
"valid_until": "2026-04-03T00:00:00.000000Z",
"created_at": "2024-02-16T00:00:00.000000Z",
"updated_at": "2026-02-19T00:00:00.000000Z"
}
},
{
"id": 8567,
"maxio_customer_id": 310314,
"reference_id": "01-8ZQM4EKQRV3-B",
"pdc_id": null,
"gateway_aid": "A904AT31",
"uuid": "042f9b98-c0c0-4c76-a85f-75d059a4c9b6",
"type_id": 7,
"status": "approved",
"name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"legal_name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"address_1": "Via Fona di Mezzana, 59100",
"address_2": null,
"city": "Mezzana",
"state": "Prato",
"location": "IT",
"zip": "",
"phone": "+390574591343",
"email": "giancarlo.diblasi@brachi.it",
"contact_first_name": "Giancarlo",
"contact_last_name": "Di Blasi",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:36.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8567,
"id": 49,
"valid_until": "2026-04-13T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-10T00:00:00.000000Z"
}
},
{
"id": 8633,
"maxio_customer_id": 310380,
"reference_id": "01-ZJAX39WTFF9-R",
"pdc_id": null,
"gateway_aid": "A840WS25",
"uuid": "f31fac18-eefb-49c7-aae5-6b9b6d2f83c9",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Guangzhou) Co.,Ltd_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Guangzhou) Co.,Ltd_MRSL",
"address_1": "No.183, Shi Nan Road, Mei Lin Plaza Block B, Dong",
"address_2": null,
"city": "Guangzhou",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "-",
"email": "nina.ren@bureauveritas.com",
"contact_first_name": "Nina",
"contact_last_name": "REN",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-14T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8633,
"id": 50,
"valid_until": "2026-04-01T00:00:00.000000Z",
"created_at": "2024-01-30T00:00:00.000000Z",
"updated_at": "2026-03-23T00:00:00.000000Z"
}
},
{
"id": 8624,
"maxio_customer_id": 310371,
"reference_id": "01-TMEJGAYYMHY-G",
"pdc_id": null,
"gateway_aid": "A532HF62",
"uuid": "124965cc-6ec7-421e-ac31-5da3569ebe85",
"type_id": 7,
"status": "approved",
"name": "SGS Vietnam Ltd (Ho Chi Minh)_MRSL",
"legal_name": "SGS Vietnam Ltd (Ho Chi Minh)_MRSL",
"address_1": "Lot III/21, 19/5A St. Tan Binh Industrial Zone, Tay Thanh 700000",
"address_2": null,
"city": "Tan Phu",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "-",
"email": "rhodora.quinto@sgs.com",
"contact_first_name": "Pham",
"contact_last_name": "DUNG",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-04-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8624,
"id": 51,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-26T00:00:00.000000Z",
"updated_at": "2026-03-31T00:00:00.000000Z"
}
},
{
"id": 7752,
"maxio_customer_id": 309499,
"reference_id": "01-TMEJGGMKYL4-U",
"pdc_id": null,
"gateway_aid": "A380PK51",
"uuid": "c03141ee-796e-45c3-a5e1-5a43cee07a2f",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland India (Gurugram) Pvt. Ltd_MRSL",
"legal_name": "TUV Rheinland India (Gurugram) Pvt. Ltd_MRSL",
"address_1": "Plot no. 330-331, Udyog Vihar – Phase IV, Gurugram – 122015, Haryana, India",
"address_2": null,
"city": "Gurgaon",
"state": "Haryana",
"location": "IN",
"zip": "122015",
"phone": "+91 80 3923 4301",
"email": "Shivendra.Parmar@ind.tuv.com",
"contact_first_name": "Shivendra",
"contact_last_name": "Parmar",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2022-01-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7752,
"id": 52,
"valid_until": "2026-03-16T00:00:00.000000Z",
"created_at": "2024-01-03T00:00:00.000000Z",
"updated_at": "2026-03-05T00:00:00.000000Z"
}
},
{
"id": 8561,
"maxio_customer_id": 310308,
"reference_id": "01-8ZQM4EKZQGH-S",
"pdc_id": null,
"gateway_aid": "A210ZF97",
"uuid": "b922aa67-6b83-458d-be23-ee970e93b795",
"type_id": 7,
"status": "approved",
"name": "ZHEJIANG FANGYUAN TEST GROUP CO., LTD.",
"legal_name": "ZHEJIANG FANGYUAN TEST GROUP CO., LTD.",
"address_1": "No.300 Xiasha Road, Hangzhou Economic & Technological Development Area. 310018 Hangzhou, Zhejiang",
"address_2": null,
"city": "Hangzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "+",
"email": "slc_tc@163.com",
"contact_first_name": "Yahong",
"contact_last_name": "Zhang",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-03-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8561,
"id": 53,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-28T00:00:00.000000Z",
"updated_at": "2026-04-16T00:00:00.000000Z"
}
},
{
"id": 8610,
"maxio_customer_id": 310357,
"reference_id": "01-3SRBVLSXB8Z-D",
"pdc_id": null,
"gateway_aid": "A395JH61",
"uuid": "bcdfe895-57a8-4f98-bdc4-90a900de5070",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Shenzhen Ltd. Guangzhou Branch",
"legal_name": "Intertek Testing Services Shenzhen Ltd. Guangzhou Branch",
"address_1": "Room 601, No. 8, East BaoYing Road, Huangpu District, Guangzhou 510730,",
"address_2": null,
"city": "Guangzhou",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "+86 20 28209501",
"email": "vivian.px.li@intertek.com",
"contact_first_name": "Vivian",
"contact_last_name": "Li",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8610,
"id": 54,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-21T00:00:00.000000Z",
"updated_at": "2026-04-20T00:00:00.000000Z"
}
},
{
"id": 8636,
"maxio_customer_id": 310383,
"reference_id": "01-HRBL623CSUQ-H",
"pdc_id": null,
"gateway_aid": "A342QT20",
"uuid": "0fc2a375-0490-4e48-937b-dce8dbed0b81",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services Vietnam_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services Vietnam_MRSL",
"address_1": "Lot C7-C9, Conurbation 2, Cat Lai Industrial Zone, Thanh My Loi Ward, District 2, 700000,Ho Chi Minh City, Vietnam",
"address_2": null,
"city": "Ho Chi Minh City",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "-",
"email": "lina.vo@bureauveritas.com",
"contact_first_name": "Suri",
"contact_last_name": "Tran",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-07-25T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8636,
"id": 55,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-22T00:00:00.000000Z",
"updated_at": "2026-02-09T00:00:00.000000Z"
}
},
{
"id": 8625,
"maxio_customer_id": 310372,
"reference_id": "01-43HF2Y6YTEA-E",
"pdc_id": null,
"gateway_aid": "A574ZY10",
"uuid": "372d85ea-42bc-4aae-a279-db159aa078ee",
"type_id": 7,
"status": "approved",
"name": "SGS-CSTC Standards Technical Services (Shanghai) Co., Ltd._MRSL",
"legal_name": "SGS-CSTC Standards Technical Services (Shanghai) Co., Ltd._MRSL",
"address_1": "4/F, 4thBuilding No. 889, Yishan Rd, Xuhui District, 200030 Shanghai, China",
"address_2": null,
"city": "Xuhui",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "barry.lou@sgs.com",
"contact_first_name": "IVEN",
"contact_last_name": "DI",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-04-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8625,
"id": 56,
"valid_until": "2026-04-13T00:00:00.000000Z",
"created_at": "2024-01-05T00:00:00.000000Z",
"updated_at": "2026-04-08T00:00:00.000000Z"
}
},
{
"id": 8683,
"maxio_customer_id": 310430,
"reference_id": "01-HRBL6228FJ8-G",
"pdc_id": null,
"gateway_aid": "A891GF64",
"uuid": "e879f052-6547-4474-ab20-0105064ca411",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (I) Pvt. Ltd. (Bangalore)_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (I) Pvt. Ltd. (Bangalore)_MRSL",
"address_1": "AKR Tech Park, Ground floor, C Block, Survey no 112, Bangalore, 560068,",
"address_2": null,
"city": "Bangalore",
"state": "Karnataka",
"location": "IN",
"zip": "",
"phone": "-",
"email": "sudalaimuthu.vs@bureauveritas.com",
"contact_first_name": "Sudalaimuthu",
"contact_last_name": "VS",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-09-01T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:58.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8683,
"id": 57,
"valid_until": "2026-04-10T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-03-30T00:00:00.000000Z"
}
},
{
"id": 7742,
"maxio_customer_id": 309489,
"reference_id": "01-FBL2NNAL9BR-F",
"pdc_id": null,
"gateway_aid": "A467YQ44",
"uuid": "d5ef0f03-b637-4867-8a6c-0c90d9321202",
"type_id": 7,
"status": "approved",
"name": "Eurofins MTS Consumer Product Testing (Dongguan) Co. Ltd",
"legal_name": "Eurofins MTS Consumer Product Testing (Dongguan) Co. Ltd",
"address_1": "No, 76 Liangping road, Xin jiu wei village, liaobo town, 523400 Dongguan China",
"address_2": null,
"city": "Dongguan City",
"state": "Guangdong",
"location": "CN",
"zip": "523400",
"phone": "-",
"email": "Carol.ke@cpt.eurofinscn.com",
"contact_first_name": "CAROL",
"contact_last_name": "Ke",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-23T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:57.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7742,
"id": 58,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-17T00:00:00.000000Z"
}
},
{
"id": 8559,
"maxio_customer_id": 310306,
"reference_id": "01-CHFY7SAA6R2-Y",
"pdc_id": null,
"gateway_aid": "A679WF94",
"uuid": "151e16f6-d103-4c78-b303-8c7e8336b661",
"type_id": 7,
"status": "approved",
"name": "Centre Testing International Group Co., Ltd. (CTI)",
"legal_name": "Centre Testing International Group Co., Ltd. (CTI)",
"address_1": "CTI Building, No.4, Liuxian 3rd Road, Xin’an Street, Bao’an District",
"address_2": null,
"city": "Shenzhen",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "+",
"email": "kevin.lu@cti-cert.com",
"contact_first_name": "Kevin",
"contact_last_name": "Lu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-01-29T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8559,
"id": 59,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-15T00:00:00.000000Z"
}
},
{
"id": 5835,
"maxio_customer_id": 307582,
"reference_id": "01-8ZQM4BGUY6M-T",
"pdc_id": null,
"gateway_aid": "A826RC45",
"uuid": "f13d4431-8b6d-422e-a91c-4cbbc52987fa",
"type_id": 7,
"status": "approved",
"name": "Nimkartek Technical Services Pvt Ltd",
"legal_name": "Nimkartek Technical Services Pvt Ltd",
"address_1": "3rd Floor, Narmada, Laxmi Industrial Complex, Vartak Nagar, Pokhran Road 1",
"address_2": null,
"city": "",
"state": "Maharashtra",
"location": "IN",
"zip": "400606",
"phone": "+91 9819641527",
"email": "anagha.nimkar@nimkartek.com",
"contact_first_name": "Anagha",
"contact_last_name": "Nimkar",
"website": "https://www.nimkartek.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:10:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 5835,
"id": 60,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-13T00:00:00.000000Z"
}
},
{
"id": 8662,
"maxio_customer_id": 310409,
"reference_id": "01-S27UDKGPZMN-X",
"pdc_id": null,
"gateway_aid": "A743LA72",
"uuid": "99e5814e-7e90-4d02-b298-63dc490bd043",
"type_id": 7,
"status": "approved",
"name": "Elle.A.Ci.Ti. srl",
"legal_name": "Elle.A.Ci.Ti. srl",
"address_1": "Via Leopardi 11a 22075",
"address_2": null,
"city": "Lurate Caccivio",
"state": "Como",
"location": "IT",
"zip": "",
"phone": "+39031492543",
"email": "e.scudella@elleaciti.com",
"contact_first_name": "Elisa Silvia",
"contact_last_name": "Botto",
"website": "https://www.elleaciti.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:54.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8662,
"id": 61,
"valid_until": "2026-04-15T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2027-12-13T00:00:00.000000Z"
}
},
{
"id": 8569,
"maxio_customer_id": 310316,
"reference_id": "01-S27UDK6VX3D-J",
"pdc_id": null,
"gateway_aid": "A460HH65",
"uuid": "f2d95b47-df0f-4b1f-99ec-47970a5565f8",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Vietnam Co., Ltd_MRSL",
"legal_name": "TUV Rheinland Vietnam Co., Ltd_MRSL",
"address_1": "Centre Point, 106 Nguyễn Văn Trỗi, Phường 8, Phú Nhuận Softlines & Hardlines Laboratory Hall 10, Road No.1, Quang Trung Software City, Tan Chanh Hiep Ward",
"address_2": null,
"city": "Phu Nhuan",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "+84 28 3842 0600",
"email": "Linh.dao@tuv.com",
"contact_first_name": "Tan Anh",
"contact_last_name": "Nguyen Ngo",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:37.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8569,
"id": 62,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-15T00:00:00.000000Z"
}
},
{
"id": 8628,
"maxio_customer_id": 310375,
"reference_id": "01-R7UKTVECN3U-G",
"pdc_id": null,
"gateway_aid": "A459HZ44",
"uuid": "e9645cca-9f71-4508-a739-15f3164ff0c8",
"type_id": 7,
"status": "approved",
"name": "CU Inspections & Certifications India Pvt. Ltd",
"legal_name": "CU Inspections & Certifications India Pvt. Ltd",
"address_1": "23rd Floor, B wing • Arihant Aura • Plot no. 13/1, TTC • Opp. Turbhe Railway Station Thane Belapur Road, MIDC side",
"address_2": null,
"city": "Navi Mumbai",
"state": "Maharashtra",
"location": "IN",
"zip": "",
"phone": "-",
"email": "amolp@controlunion.com",
"contact_first_name": "Amol",
"contact_last_name": "Patil",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-12T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8628,
"id": 63,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8719,
"maxio_customer_id": 310465,
"reference_id": "01-MX94FCJMAUJ-M",
"pdc_id": null,
"gateway_aid": "A897PW37",
"uuid": "8692ffd3-513f-4f34-9b8a-1b62490a72e8",
"type_id": 7,
"status": "approved",
"name": "ICEA",
"legal_name": "ICEA",
"address_1": "Via Brugnoli 15",
"address_2": null,
"city": "Bologna",
"state": "Bologna",
"location": "IT",
"zip": "",
"phone": "+39051272986",
"email": "paolo.foglia@icea.bio",
"contact_first_name": "Francesco",
"contact_last_name": "Pazzi",
"website": "https://www.icea.bio",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-04-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:20:05.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8719,
"id": 64,
"valid_until": "2025-04-28T00:00:00.000000Z",
"created_at": "2025-04-24T00:00:00.000000Z",
"updated_at": "2023-07-14T00:00:00.000000Z"
}
},
{
"id": 8629,
"maxio_customer_id": 310376,
"reference_id": "01-R7UKTVEJY9K-J",
"pdc_id": null,
"gateway_aid": "A382AD87",
"uuid": "1e4f95d8-b4fc-4434-9372-024f8ece9c0e",
"type_id": 7,
"status": "approved",
"name": "UL VS Bangladesh Ltd._MRSL",
"legal_name": "UL VS Bangladesh Ltd._MRSL",
"address_1": "The Pearl Trade Center (5th, 14th & 15th Floor), Cha-90/3, Progoti Sharani, North Badda. 1212 Dhaka Bangladesh",
"address_2": null,
"city": "Badda",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "-",
"email": "Ahammad.Hossen@ul.com",
"contact_first_name": "Ahammad",
"contact_last_name": "Hossen",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-15T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8629,
"id": 65,
"valid_until": "2024-12-09T00:00:00.000000Z",
"created_at": "2023-12-24T00:00:00.000000Z",
"updated_at": "2024-12-03T00:00:00.000000Z"
}
},
{
"id": 8632,
"maxio_customer_id": 310379,
"reference_id": "01-6TWZXQVDXKG-F",
"pdc_id": null,
"gateway_aid": "A634ZE37",
"uuid": "5e43fd51-7ea0-4d61-bfd4-4da9a4a40366",
"type_id": 7,
"status": "approved",
"name": "UL India Private Limited, Gurugram, India_MRSL",
"legal_name": "UL India Private Limited, Gurugram, India_MRSL",
"address_1": "A12,Infociry,Sector 34, 122001, Gurgaon,Haryana, India",
"address_2": null,
"city": "Gurgaon",
"state": "Haryana",
"location": "IN",
"zip": "",
"phone": "-",
"email": "shashi.b.rout@ul.com",
"contact_first_name": "Shashi",
"contact_last_name": "Rout",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-14T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8632,
"id": 66,
"valid_until": "2025-01-02T00:00:00.000000Z",
"created_at": "2024-12-24T00:00:00.000000Z",
"updated_at": "2024-12-23T00:00:00.000000Z"
}
},
{
"id": 8591,
"maxio_customer_id": 310338,
"reference_id": "01-BUKVW6CCGJJ-A",
"pdc_id": null,
"gateway_aid": "A981IZ54",
"uuid": "35bbdda4-f0d1-46cc-8e06-d0a42bcb2d10",
"type_id": 7,
"status": "approved",
"name": "Eurofins - BLC Leather Technology Centre Ltd",
"legal_name": "Eurofins - BLC Leather Technology Centre Ltd",
"address_1": "Kings Park Road, Moulton Park NN 3 6JD",
"address_2": null,
"city": "Northampton",
"state": "Northamptonshire",
"location": "GB",
"zip": "",
"phone": "+44 1604 679999",
"email": "Georgina.Mawer@cpt.eurofinseu.com",
"contact_first_name": "Georgina",
"contact_last_name": "Mawer",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:41.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United Kingdom",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8591,
"id": 67,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-16T00:00:00.000000Z"
}
},
{
"id": 8627,
"maxio_customer_id": 310374,
"reference_id": "01-PYSRKBD4KL7-E",
"pdc_id": null,
"gateway_aid": "A535AF86",
"uuid": "5ed3e4e2-c076-424a-a34a-7e5a0544d49f",
"type_id": 7,
"status": "approved",
"name": "UL VS Shanghai Limited_MRSL",
"legal_name": "UL VS Shanghai Limited_MRSL",
"address_1": "2F, Building 1, Caohejing Hi Tech Park. No.188, PingFu Road, Xu Hui District, 200231 Shanghai China",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "Sherry.Xue@ul.com",
"contact_first_name": "sherry",
"contact_last_name": "xue",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8627,
"id": 69,
"valid_until": "2024-04-24T00:00:00.000000Z",
"created_at": "2024-01-19T00:00:00.000000Z",
"updated_at": "2024-01-18T00:00:00.000000Z"
}
}
]
},
{
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"ctz_level_id": 1,
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-13T11:27:29.000000Z",
"ctz_level": {
"id": 1,
"name": "Foundational",
"created_at": "2026-05-08T21:42:17.000000Z",
"updated_at": "2026-05-08T21:42:17.000000Z"
},
"organisations": [
{
"id": 8613,
"maxio_customer_id": 310360,
"reference_id": "01-TMEJGAMNT76-Z",
"pdc_id": null,
"gateway_aid": "A718TE34",
"uuid": "a137f0fd-60df-47cc-99b6-6db56701d205",
"type_id": 7,
"status": "approved",
"name": "Inditex_MRSL",
"legal_name": "Inditex_MRSL",
"address_1": "Avda. de la Dioputacion s/n, 15142 Arteixo, A Coruna.",
"address_2": null,
"city": "Arteijo",
"state": "Galicia",
"location": "ES",
"zip": "",
"phone": "0034 981185400",
"email": "germangi@inditex.com",
"contact_first_name": "Beatriz",
"contact_last_name": "Baeza",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-02-21T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:45.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Spain",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8613,
"id": 1,
"valid_until": "2026-03-16T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2033-10-25T00:00:00.000000Z"
}
},
{
"id": 7753,
"maxio_customer_id": 309500,
"reference_id": "01-TMEJGGMBW39-E",
"pdc_id": null,
"gateway_aid": "A339JQ58",
"uuid": "8afdf188-2575-4347-aad8-c9f521e188c4",
"type_id": 7,
"status": "approved",
"name": "Test & Innovation Lab",
"legal_name": "Test & Innovation Lab",
"address_1": "Viale Montegrappa, 320 - PRATO - 59100 - ITALY",
"address_2": null,
"city": "Prato",
"state": "Prato",
"location": "IT",
"zip": "59100",
"phone": "+39 0574 1770001",
"email": "giuseppe.bartolini@labtil.com",
"contact_first_name": "Andrea",
"contact_last_name": "Franchi",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-09T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7753,
"id": 2,
"valid_until": "2026-03-27T00:00:00.000000Z",
"created_at": "2024-01-25T00:00:00.000000Z",
"updated_at": "2026-03-25T00:00:00.000000Z"
}
},
{
"id": 7738,
"maxio_customer_id": 309485,
"reference_id": "01-NWZQ99R2VV8-H",
"pdc_id": null,
"gateway_aid": "A932KJ49",
"uuid": "f538e6ef-c0ae-4f7d-8064-71c784e1cb45",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Shenzhen Co., Ltd._MRSL",
"legal_name": "TUV Rheinland Shenzhen Co., Ltd._MRSL",
"address_1": "1F East &2-4F, Cybio Technology Building No. 1, No. 16 Kejibei 2nd Road, High-Tech Industrial Park North, Nanshan District, 518057 Shenzhen, China",
"address_2": null,
"city": "Shenzhen",
"state": "Guangdong",
"location": "CN",
"zip": "518057",
"phone": "+852 2192 1022",
"email": "jet.lee@tuv.com",
"contact_first_name": "Nick",
"contact_last_name": "Yang",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2022-01-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:55.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7738,
"id": 3,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-16T00:00:00.000000Z"
}
},
{
"id": 8608,
"maxio_customer_id": 310355,
"reference_id": "01-TMEJGAMMZYV-F",
"pdc_id": null,
"gateway_aid": "A353QZ62",
"uuid": "ff550de3-8165-4abc-86cc-69b706f69f90",
"type_id": 7,
"status": "approved",
"name": "bluesign® Technologies AG",
"legal_name": "bluesign® Technologies AG",
"address_1": "Moevenstrasse 18, 9015 St. Gallen, Switzerland",
"address_2": null,
"city": "Saint Gallen",
"state": "Sankt Gallen",
"location": "CH",
"zip": "",
"phone": "+41 71 272 29 90",
"email": "kurt_schlaepfer@bluesign.com",
"contact_first_name": "Kurt",
"contact_last_name": "Schäpfer",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Switzerland",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8608,
"id": 8,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-20T00:00:00.000000Z"
}
},
{
"id": 8673,
"maxio_customer_id": 310420,
"reference_id": "01-3SRBVLXQG9V-J",
"pdc_id": null,
"gateway_aid": "A754MT47",
"uuid": "1e28b961-cdbf-492a-8b8c-51519010b861",
"type_id": 7,
"status": "approved",
"name": "GCL International",
"legal_name": "GCL International",
"address_1": "1, St Mark Street, London, E1 8DA, United Kingdom",
"address_2": null,
"city": "London",
"state": "London",
"location": "GB",
"zip": "",
"phone": "+91-8754694888",
"email": "pradip@gcl-intl.com",
"contact_first_name": "Pradip",
"contact_last_name": "Patil",
"website": "https://www.gcl.uk/",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-12-20T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:56.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United Kingdom",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8673,
"id": 9,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2024-01-11T00:00:00.000000Z",
"updated_at": "2026-04-09T00:00:00.000000Z"
}
},
{
"id": 8634,
"maxio_customer_id": 310381,
"reference_id": "01-S27UDKYCQ3A-W",
"pdc_id": null,
"gateway_aid": "A346HD39",
"uuid": "a6484b22-b794-43d0-9285-3c315b3af1c0",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Shanghai) Co., Ltd._MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Shanghai) Co., Ltd._MRSL",
"address_1": "No. 168 GuangHua Road,MinHang District, 201108, Shanghai",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "peter.lu@bureauveritas.com",
"contact_first_name": "Steven han",
"contact_last_name": "Steven han",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-29T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8634,
"id": 10,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-08T00:00:00.000000Z"
}
},
{
"id": 8687,
"maxio_customer_id": 310434,
"reference_id": "01-S27UDKKD2QR-E",
"pdc_id": null,
"gateway_aid": "A282WC67",
"uuid": "040b5047-76a1-4d29-8df1-6cd83c67f9f0",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Hong Kong) Limited, Taiwan Branch_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Hong Kong) Limited, Taiwan Branch_MRSL",
"address_1": "37, Zhongyang S. Rd., Sec. 2, Beitou, Taipei 112, Taiwan",
"address_2": null,
"city": "Taipei",
"state": "Taipei",
"location": "TW",
"zip": "",
"phone": "-",
"email": "Vico.lin@bureauveritas.com",
"contact_first_name": "Vico",
"contact_last_name": "Lin",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-10-11T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Taiwan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8687,
"id": 11,
"valid_until": "2026-03-24T00:00:00.000000Z",
"created_at": "2024-01-10T00:00:00.000000Z",
"updated_at": "2026-03-12T00:00:00.000000Z"
}
},
{
"id": 8638,
"maxio_customer_id": 310385,
"reference_id": "01-76N8MD26GWS-O",
"pdc_id": null,
"gateway_aid": "A715SZ55",
"uuid": "31c0ce0f-d232-4d24-b2a5-8ec1d213b5a3",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer products Services (I) Pvt. Ltd. (Noida)",
"legal_name": "Bureau Veritas Consumer products Services (I) Pvt. Ltd. (Noida)",
"address_1": "C-19 , Sector-7 201301 Noida India",
"address_2": null,
"city": "Noida",
"state": "Uttar Pradesh",
"location": "IN",
"zip": "",
"phone": "-",
"email": "sumanta.swain@bureauveritas.com",
"contact_first_name": "Sumanta",
"contact_last_name": "Swain",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-09-19T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:50.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8638,
"id": 12,
"valid_until": "2025-09-25T00:00:00.000000Z",
"created_at": "2024-05-31T00:00:00.000000Z",
"updated_at": "2025-07-26T00:00:00.000000Z"
}
},
{
"id": 8551,
"maxio_customer_id": 310298,
"reference_id": "01-WEJAPXHF6V4-V",
"pdc_id": null,
"gateway_aid": "A549OE34",
"uuid": "5afbe0cf-f430-4bd4-bdc3-17427cddb67c",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services A.S.Turkey",
"legal_name": "Intertek Testing Services A.S.Turkey",
"address_1": "Merkez Mahallesi, Sanayi Cad. Altındağ Plaza No:23",
"address_2": null,
"city": "Sanayi",
"state": "Istanbul",
"location": "US",
"zip": "",
"phone": "+902124964646",
"email": "zeynep.akin@intertek.com",
"contact_first_name": "Ben",
"contact_last_name": "Cheng ZDHC MRSL",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:33.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United States",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8551,
"id": 13,
"valid_until": "2026-03-23T00:00:00.000000Z",
"created_at": "2024-01-22T00:00:00.000000Z",
"updated_at": "2026-03-17T00:00:00.000000Z"
}
},
{
"id": 8695,
"maxio_customer_id": 310442,
"reference_id": "01-S27UDKAQZ4J-G",
"pdc_id": null,
"gateway_aid": "A825AG65",
"uuid": "bf446a0f-07c4-4776-a3d4-221cf3596478",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Bangladesh) Ltd._MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Bangladesh) Ltd._MRSL",
"address_1": "Plot#130, DEPZ Extension Area, Savar, Dhaka 1349 Bangladesh",
"address_2": null,
"city": "Savar",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "-",
"email": "nur.alam@bureauveritas.com",
"contact_first_name": "Sharan",
"contact_last_name": "Roy",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2024-02-19T00:00:00.000000Z",
"updated_at": "2026-05-12T15:20:01.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8695,
"id": 14,
"valid_until": "2025-02-13T00:00:00.000000Z",
"created_at": "2024-06-29T00:00:00.000000Z",
"updated_at": "2025-01-21T00:00:00.000000Z"
}
},
{
"id": 9068,
"maxio_customer_id": 310814,
"reference_id": "01-S27UDAYQVRK-R",
"pdc_id": null,
"gateway_aid": "A555PX59",
"uuid": "f171c290-f9d4-4a39-9f26-03093b40a5af",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Certification and Testing (China) Co. Ltd. Xiamen Branch",
"legal_name": "TUV SUD Certification and Testing (China) Co. Ltd. Xiamen Branch",
"address_1": "Unit 401, No.93 Huli Industrial Park, Meixi Road, Tong’an District 361100, Xiamen China",
"address_2": null,
"city": "Xiamen",
"state": "Fujian",
"location": "CN",
"zip": "",
"phone": "-",
"email": "nemo.chen@tuvsud.com",
"contact_first_name": "chao",
"contact_last_name": "chen",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-10-24T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:14.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 9068,
"id": 15,
"valid_until": "2026-01-07T00:00:00.000000Z",
"created_at": "2023-12-25T00:00:00.000000Z",
"updated_at": "2025-09-15T00:00:00.000000Z"
}
},
{
"id": 8581,
"maxio_customer_id": 310328,
"reference_id": "01-2V6NQ8T6AHT-F",
"pdc_id": null,
"gateway_aid": "A752DH57",
"uuid": "763fb7d2-476c-4217-9f79-a683052a9361",
"type_id": 7,
"status": "approved",
"name": "Intertek India Pvt Ltd Gurgaon_MRSL",
"legal_name": "Intertek India Pvt Ltd Gurgaon_MRSL",
"address_1": "Udhog Vihar phase 2, Plot no 290 Gurgaon India",
"address_2": null,
"city": "Gurgaon",
"state": "Haryana",
"location": "IN",
"zip": "",
"phone": "+91 0124 450 3400",
"email": "ravindra.s@intertek.com",
"contact_first_name": "Ravindra",
"contact_last_name": "Singh",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:39.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8581,
"id": 16,
"valid_until": "2026-02-20T00:00:00.000000Z",
"created_at": "2024-05-01T00:00:00.000000Z",
"updated_at": "2026-01-31T00:00:00.000000Z"
}
},
{
"id": 8589,
"maxio_customer_id": 310336,
"reference_id": "01-S27UDK9WJ3K-L",
"pdc_id": null,
"gateway_aid": "A588PW46",
"uuid": "79e11446-97a1-41d5-84c6-ce24af34a8c9",
"type_id": 7,
"status": "approved",
"name": "TEXANLAB LABORATORIES PVT. LTD.",
"legal_name": "TEXANLAB LABORATORIES PVT. LTD.",
"address_1": "R-855, 1st Floor, T.T.C. Industrial Area, Rabale, 400701",
"address_2": null,
"city": "Mumbai",
"state": "Maharashtra",
"location": "IN",
"zip": "",
"phone": "+91 22 6141 7130",
"email": "anitha.balkrishna@texanlabglobal.com",
"contact_first_name": "Milind",
"contact_last_name": "Marathe",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:40.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8589,
"id": 17,
"valid_until": "2026-03-31T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-03-30T00:00:00.000000Z"
}
},
{
"id": 8637,
"maxio_customer_id": 310384,
"reference_id": "01-6TWZXQVEWQQ-M",
"pdc_id": null,
"gateway_aid": "A384ZL32",
"uuid": "958d920f-eff9-4183-9636-b63dbd9a8bd5",
"type_id": 7,
"status": "approved",
"name": "Analytical srl",
"legal_name": "Analytical srl",
"address_1": "Viale Industria 24 Arzignano 36071 Italy",
"address_2": null,
"city": "Arzignano",
"state": "Vicenza",
"location": "IT",
"zip": "",
"phone": "-",
"email": "f.ferrigato@analytical.it",
"contact_first_name": "Francesca",
"contact_last_name": "Ferrigato",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-07-25T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8637,
"id": 18,
"valid_until": "2026-03-11T00:00:00.000000Z",
"created_at": "2024-02-20T00:00:00.000000Z",
"updated_at": "2026-03-10T00:00:00.000000Z"
}
},
{
"id": 8604,
"maxio_customer_id": 310351,
"reference_id": "01-CHFY7SHYMZD-P",
"pdc_id": null,
"gateway_aid": "A888YX20",
"uuid": "7641e55d-fd93-4bf8-b511-2944ae04c960",
"type_id": 7,
"status": "approved",
"name": "SGS Global",
"legal_name": "SGS Global",
"address_1": "4/F On Wui Centre, 25 Lok Yip Road Fanling, N.T., Hong Kong.",
"address_2": null,
"city": "Hong Kong",
"state": "Hong Kong",
"location": "HK",
"zip": "",
"phone": "+852 22048354",
"email": "Keith.Tsang@sgs.com",
"contact_first_name": "Padmanaban",
"contact_last_name": "K S",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Hong Kong SAR China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8604,
"id": 19,
"valid_until": "2026-02-26T00:00:00.000000Z",
"created_at": "2024-01-04T00:00:00.000000Z",
"updated_at": "2026-01-15T00:00:00.000000Z"
}
},
{
"id": 8603,
"maxio_customer_id": 310350,
"reference_id": "01-76N8MD6QT3C-E",
"pdc_id": null,
"gateway_aid": "A557RN68",
"uuid": "5526c7e5-cef0-4256-9397-5ff00a409ee5",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Service Labtest Bangladesh Ltd._MRSL",
"legal_name": "Intertek Testing Service Labtest Bangladesh Ltd._MRSL",
"address_1": "Intertek House, Phonix Tower, 407, Tejgoan Industrial Area, 1208",
"address_2": null,
"city": "Tejgaon",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "+8809666776669",
"email": "neyamul.hasan@intertek.com",
"contact_first_name": "Neyamul",
"contact_last_name": "Hasan",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8603,
"id": 20,
"valid_until": "2026-03-16T00:00:00.000000Z",
"created_at": "2024-01-02T00:00:00.000000Z",
"updated_at": "2026-03-13T00:00:00.000000Z"
}
},
{
"id": 8635,
"maxio_customer_id": 310382,
"reference_id": "01-S27UDKYRCKS-Y",
"pdc_id": null,
"gateway_aid": "A775EK75",
"uuid": "215f574e-e1ab-4a5c-be13-7334f7ca8db0",
"type_id": 7,
"status": "approved",
"name": "SGS Supervise Gozetme Etud Kontrol Servisleri A.S._MRSL",
"legal_name": "SGS Supervise Gozetme Etud Kontrol Servisleri A.S._MRSL",
"address_1": "IS IStanbul Plaza Baglar Mah. Osmanpasa Cad. No:95 E Girisi/Gunesli 34209 Istanbul Turkey",
"address_2": null,
"city": "Gunesli",
"state": "Istanbul",
"location": "US",
"zip": "",
"phone": "-",
"email": "birol.cakmak@sgs.com",
"contact_first_name": "Birol",
"contact_last_name": "ÇAKMAK",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-07-13T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United States",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8635,
"id": 21,
"valid_until": "2026-04-15T00:00:00.000000Z",
"created_at": "2024-01-11T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8652,
"maxio_customer_id": 310399,
"reference_id": "01-MX94FCFSRAG-X",
"pdc_id": null,
"gateway_aid": "A229LO23",
"uuid": "27b2aef8-4608-4f5c-a7df-2d58410b88c5",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland LGA Products GmbH_MRSL",
"legal_name": "TUV Rheinland LGA Products GmbH_MRSL",
"address_1": "Am Grauen Stein 51105 Koeln",
"address_2": null,
"city": "Koln",
"state": "Nordrhein Westfalen",
"location": "DE",
"zip": "",
"phone": "+49 221 8060",
"email": "steffen.tuemptner@de.tuv.com",
"contact_first_name": "ATA",
"contact_last_name": "bayraktar",
"website": "https://www.tuv.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:52.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Germany",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8652,
"id": 22,
"valid_until": "2026-03-20T00:00:00.000000Z",
"created_at": "2024-01-16T00:00:00.000000Z",
"updated_at": "2026-03-19T00:00:00.000000Z"
}
},
{
"id": 8600,
"maxio_customer_id": 310347,
"reference_id": "01-TMEJGAMVSLT-W",
"pdc_id": null,
"gateway_aid": "A820MS41",
"uuid": "a9df7805-cbaa-4aab-b73e-81a0dccd26ad",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Vietnam_MRSL",
"legal_name": "TUV SUD Vietnam_MRSL",
"address_1": "Lot III-26, 19/5A Street, Industry Group III, Tan Binh Industrial Park",
"address_2": null,
"city": "",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "+842862678507",
"email": "minh-thang.le@tuvsud.com",
"contact_first_name": "Nguyen",
"contact_last_name": "Truc",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:42.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8600,
"id": 23,
"valid_until": "2026-01-29T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-01-26T00:00:00.000000Z"
}
},
{
"id": 8661,
"maxio_customer_id": 310408,
"reference_id": "01-ZJAX393ZNYS-E",
"pdc_id": null,
"gateway_aid": "A525LH13",
"uuid": "f61ec85b-5397-4e5c-8a12-cade64ec5b82",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Bangladesh (Pvt.) Ltd_MRSL",
"legal_name": "TUV SUD Bangladesh (Pvt.) Ltd_MRSL",
"address_1": "Level 7 & 8, Update Tower, 01 Shahajalal Ave, 1230",
"address_2": null,
"city": "",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "+880 2-58954115",
"email": "Raffaella.Santoro@tuv.it",
"contact_first_name": "Shafikul",
"contact_last_name": "ISLAM",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:54.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8661,
"id": 24,
"valid_until": "2025-11-12T00:00:00.000000Z",
"created_at": "2024-11-30T00:00:00.000000Z",
"updated_at": "2025-09-30T00:00:00.000000Z"
}
},
{
"id": 8653,
"maxio_customer_id": 310400,
"reference_id": "01-VDTWAZAYP43-U",
"pdc_id": null,
"gateway_aid": "A956NT67",
"uuid": "061c1936-d6e3-4385-bfea-ee2b9670a61c",
"type_id": 7,
"status": "approved",
"name": "ToxServices LLC",
"legal_name": "ToxServices LLC",
"address_1": "1367 Connecticut Avenue, N.W., Suite 300 20036",
"address_2": null,
"city": "",
"state": "Washington",
"location": "US",
"zip": "",
"phone": "(202) 429-8787",
"email": "Mwhittaker@toxservices.com",
"contact_first_name": "Margaret",
"contact_last_name": "Whittaker",
"website": "https://www.toxservices.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-13T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:53.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United States",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8653,
"id": 25,
"valid_until": "2026-02-05T00:00:00.000000Z",
"created_at": "2024-02-19T00:00:00.000000Z",
"updated_at": "2026-01-12T00:00:00.000000Z"
}
},
{
"id": 8631,
"maxio_customer_id": 310378,
"reference_id": "01-S27UDKYVHZL-P",
"pdc_id": null,
"gateway_aid": "A444NZ79",
"uuid": "6836990a-8642-490f-89f7-cc784df0e8bf",
"type_id": 7,
"status": "approved",
"name": "SGS Taiwan Ltd. (Taipei)",
"legal_name": "SGS Taiwan Ltd. (Taipei)",
"address_1": "31, Wu Chyuan Road, New Taipei Industrial Park, Wu Ku Dist., 24886, New Taipei City Taiwan, Province of China",
"address_2": null,
"city": "New Taipei City",
"state": "New Taipei",
"location": "TW",
"zip": "",
"phone": "-",
"email": "Jerry.tung@sgs.com",
"contact_first_name": "jerry",
"contact_last_name": "tung",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-25T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Taiwan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8631,
"id": 26,
"valid_until": "2026-01-12T00:00:00.000000Z",
"created_at": "2024-02-29T00:00:00.000000Z",
"updated_at": "2025-12-17T00:00:00.000000Z"
}
},
{
"id": 8697,
"maxio_customer_id": 310444,
"reference_id": "01-BUKVW698S2E-J",
"pdc_id": null,
"gateway_aid": "A273NP76",
"uuid": "919cbdb3-553e-423b-966d-e3a75cf80d9e",
"type_id": 7,
"status": "approved",
"name": "Eurofins Modern Testing Services (Bangladesh) Limited",
"legal_name": "Eurofins Modern Testing Services (Bangladesh) Limited",
"address_1": "280 East Narsinghpur, Ashulia 1341 Dhaka Bangladesh",
"address_2": null,
"city": "Dhaka",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "-",
"email": "zakir@mtsbd.com",
"contact_first_name": "Probir",
"contact_last_name": "Chandra Das",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2024-03-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:20:01.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8697,
"id": 27,
"valid_until": "2026-04-03T00:00:00.000000Z",
"created_at": "2025-01-10T00:00:00.000000Z",
"updated_at": "2026-04-02T00:00:00.000000Z"
}
},
{
"id": 9114,
"maxio_customer_id": 310860,
"reference_id": "01-S27UDAGNJHW-W",
"pdc_id": null,
"gateway_aid": "A438IE31",
"uuid": "f5f853da-aba6-4901-9602-e08111c4993e",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland / CCIC (Qingdao) Co., Ltd.",
"legal_name": "TUV Rheinland / CCIC (Qingdao) Co., Ltd.",
"address_1": "6F, No. 2 Bldg., No. 175 Zhuzhou Road Qingdao 266000 China",
"address_2": null,
"city": "Qingdao",
"state": "Shandong",
"location": "CN",
"zip": "",
"phone": "-",
"email": "Echo.Xu@tuv.com",
"contact_first_name": "Echo",
"contact_last_name": "Xu",
"website": "https://www.tuv.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2025-01-03T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:23.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 9114,
"id": 28,
"valid_until": "2026-04-08T00:00:00.000000Z",
"created_at": "2025-03-17T00:00:00.000000Z",
"updated_at": "2026-04-07T00:00:00.000000Z"
}
},
{
"id": 8993,
"maxio_customer_id": 310739,
"reference_id": "01-2V6NQCSN8HE-M",
"pdc_id": null,
"gateway_aid": "A254LK97",
"uuid": "2ff1860c-c0c5-4220-b2b7-7f6fbd5e9da5",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Certification and Testing (China) Co., Ltd. Shanghai Branch_MRSL",
"legal_name": "TUV SUD Certification and Testing (China) Co., Ltd. Shanghai Branch_MRSL",
"address_1": "No. 1999 Du Hui Road, Minhang District, 201108 Shanghai China",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "+86 21 6141 0123",
"email": "Chenghui.Zhang@tuvsud.com",
"contact_first_name": "shen",
"contact_last_name": "Hui",
"website": "https://www.tuvsud.cn/",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:00.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8993,
"id": 29,
"valid_until": "2026-01-09T00:00:00.000000Z",
"created_at": "2024-01-17T00:00:00.000000Z",
"updated_at": "2026-01-07T00:00:00.000000Z"
}
},
{
"id": 8997,
"maxio_customer_id": 310743,
"reference_id": "01-WEJAPLNEV6W-H",
"pdc_id": null,
"gateway_aid": "A548JP59",
"uuid": "512bfff6-4ef0-48d2-9e57-2484513817fa",
"type_id": 7,
"status": "approved",
"name": "United Testing Services (Fujian) Co., Ltd",
"legal_name": "United Testing Services (Fujian) Co., Ltd",
"address_1": "Address: Room 5205, Building C, South of Clothing City, No. 88 Nanyang Road, Lingxiu Town, Shishi, Quanzhou, Fujian, China.",
"address_2": null,
"city": "Shishi",
"state": "Fujian",
"location": "CN",
"zip": "",
"phone": "+86 595 83667715",
"email": "mike.wong@fabricschina.com.cn",
"contact_first_name": "Mike",
"contact_last_name": "User",
"website": "https://www.c-uts.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-01-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:01.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8997,
"id": 30,
"valid_until": "2026-02-01T00:00:00.000000Z",
"created_at": "2023-12-26T00:00:00.000000Z",
"updated_at": "2026-01-30T00:00:00.000000Z"
}
},
{
"id": 10787,
"maxio_customer_id": 312533,
"reference_id": "01-HRBL6KCZEDB-L",
"pdc_id": null,
"gateway_aid": "A576LQ13",
"uuid": "5de3557d-458e-4ccd-a876-9877734d4ab1",
"type_id": 7,
"status": "approved",
"name": "CTC ARS TINCTORIA SRL",
"legal_name": "CTC ARS TINCTORIA SRL",
"address_1": "VIA DEL BOSCO 125 56029",
"address_2": null,
"city": "Santa Croce sull Arno",
"state": "Pisa",
"location": "IT",
"zip": "",
"phone": "+39 0571 35110",
"email": "gdefeo@ctcgroupe.com",
"contact_first_name": "GUSTAVO",
"contact_last_name": "Defeo",
"website": "https://www.ctcgroupe.com/en/",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:26:46.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 10787,
"id": 31,
"valid_until": "2026-04-07T00:00:00.000000Z",
"created_at": "2024-01-15T00:00:00.000000Z",
"updated_at": "2026-03-20T00:00:00.000000Z"
}
},
{
"id": 8594,
"maxio_customer_id": 310341,
"reference_id": "01-S27UDK9KWZR-O",
"pdc_id": null,
"gateway_aid": "A302YG32",
"uuid": "a21868a0-e599-4172-8158-6a2d4530a922",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Taiwan Ltd._MRSL",
"legal_name": "Intertek Testing Services Taiwan Ltd._MRSL",
"address_1": "Floor 10, No.423, Ruiguang Road Neihu Dist.",
"address_2": null,
"city": "Taipei",
"state": "Taipei",
"location": "TW",
"zip": "",
"phone": "+886 2 66022888",
"email": "limei.chu@intertek.com",
"contact_first_name": "Limei",
"contact_last_name": "Chu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:41.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Taiwan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8594,
"id": 32,
"valid_until": "2026-04-14T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8660,
"maxio_customer_id": 310407,
"reference_id": "01-43HF2Y2HCJN-B",
"pdc_id": null,
"gateway_aid": "A350AD73",
"uuid": "2f1af83b-e1a4-414a-90f9-0693967c282e",
"type_id": 7,
"status": "approved",
"name": "FITI Testing & Research Institute",
"legal_name": "FITI Testing & Research Institute",
"address_1": "79, Magokjungang 8-ro 3-gil, Gangseo-gu",
"address_2": null,
"city": "Gangseo",
"state": "Seoul",
"location": "KR",
"zip": "",
"phone": "+82232998222",
"email": "jun_park@fitiglobal.com",
"contact_first_name": "Kelvin JeongYoon",
"contact_last_name": "Lee",
"website": "https://www.fiti.re.kr/en/?sub_num=284",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:54.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "South Korea",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8660,
"id": 33,
"valid_until": "2026-03-30T00:00:00.000000Z",
"created_at": "2023-12-27T00:00:00.000000Z",
"updated_at": "2026-03-13T00:00:00.000000Z"
}
},
{
"id": 5883,
"maxio_customer_id": 307630,
"reference_id": "01-S27UD99XAKV-X",
"pdc_id": null,
"gateway_aid": "A852OE62",
"uuid": "29ebf086-5a21-4246-8672-9d670858901a",
"type_id": 7,
"status": "approved",
"name": "Testtex India Laboratories Private Limited",
"legal_name": "Testtex India Laboratories Private Limited",
"address_1": "301-304 Premsons Industrial Estate, Caves Rd, Jogeshwari East, 400060",
"address_2": null,
"city": "Mumbai",
"state": "Maharashtra",
"location": "IN",
"zip": "400060",
"phone": "+91 22 2825 9190",
"email": "meeta@testtex.com",
"contact_first_name": "Meeta",
"contact_last_name": "Shingala",
"website": "https://www.testtex.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:10:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 5883,
"id": 34,
"valid_until": "2025-12-16T00:00:00.000000Z",
"created_at": "2023-12-21T00:00:00.000000Z",
"updated_at": "2025-12-13T00:00:00.000000Z"
}
},
{
"id": 8655,
"maxio_customer_id": 310402,
"reference_id": "01-E94CYGYYWNV-U",
"pdc_id": null,
"gateway_aid": "A176RO67",
"uuid": "8d09254e-3403-4f40-84a4-f5990f4c5b59",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Bangladesh Pvt. Ltd._MRSL",
"legal_name": "TUV Rheinland Bangladesh Pvt. Ltd._MRSL",
"address_1": "Road 113/A, Plot 17, Aladdin Tower, 5th to 8 th floor 1212",
"address_2": null,
"city": "Dhaka",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "+88229894904",
"email": "Rakesh.Vazirani@tuv.com",
"contact_first_name": "Md Wakil",
"contact_last_name": "Hossain",
"website": "http://www.tuv.com/detox",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:53.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8655,
"id": 35,
"valid_until": "2026-04-05T00:00:00.000000Z",
"created_at": "2024-01-17T00:00:00.000000Z",
"updated_at": "2026-03-11T00:00:00.000000Z"
}
},
{
"id": 8622,
"maxio_customer_id": 310369,
"reference_id": "01-WEJAPXSNQJ7-A",
"pdc_id": null,
"gateway_aid": "A778MT32",
"uuid": "4fcbc012-eef8-4918-a27d-47d3cc1a405a",
"type_id": 7,
"status": "approved",
"name": "UL Italy - IISG Srl_MRSL",
"legal_name": "UL Italy - IISG Srl_MRSL",
"address_1": "via Europa 28, 22060 Cabiate, Italy",
"address_2": null,
"city": "Cabiate",
"state": "Como",
"location": "IT",
"zip": "",
"phone": "+39.031.8125.000",
"email": "luciano.buraschi@ul.com",
"contact_first_name": "Domenico",
"contact_last_name": "Pelle",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-03-23T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:46.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8622,
"id": 36,
"valid_until": "2026-03-12T00:00:00.000000Z",
"created_at": "2024-01-22T00:00:00.000000Z",
"updated_at": "2026-02-24T00:00:00.000000Z"
}
},
{
"id": 9222,
"maxio_customer_id": 310968,
"reference_id": "01-NWZQ9YBUJCH-S",
"pdc_id": null,
"gateway_aid": "A778EY21",
"uuid": "927e09ba-73a3-4402-8593-08028399b05d",
"type_id": 7,
"status": "approved",
"name": "Bay Area Compliance Labs Corp.",
"legal_name": "Bay Area Compliance Labs Corp.",
"address_1": "6/F, the 3rd Phase of Wan Li Industrial Bldg., Shihua Rd., FuTian",
"address_2": null,
"city": "Futian",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "+8675533320018",
"email": "laura.cortes@baclcorp.com",
"contact_first_name": "laura",
"contact_last_name": "Cortes",
"website": "https://www.baclcorp.com.cn",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-12-18T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 9222,
"id": 37,
"valid_until": "2026-04-08T00:00:00.000000Z",
"created_at": "2024-03-23T00:00:00.000000Z",
"updated_at": "2026-03-23T00:00:00.000000Z"
}
},
{
"id": 8639,
"maxio_customer_id": 310386,
"reference_id": "01-LKV6ZNBBGX3-G",
"pdc_id": null,
"gateway_aid": "A800GZ98",
"uuid": "8f14c048-8bc1-4257-b64c-a3d66d4bd67e",
"type_id": 7,
"status": "approved",
"name": "BUREAU VERITAS CONSUMER PRODUCTS SERVICES LANKA (PRIVATE) LIMITED_MRSL",
"legal_name": "BUREAU VERITAS CONSUMER PRODUCTS SERVICES LANKA (PRIVATE) LIMITED_MRSL",
"address_1": "NNo.570,Galle road,Katubedda,Sri Lanka",
"address_2": null,
"city": "Kaduwela",
"state": "Western Province",
"location": "LK",
"zip": "",
"phone": "-",
"email": "sonali.nakandala@bureauveritas.com",
"contact_first_name": "Sanduni",
"contact_last_name": "Nakandala",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-09-29T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:50.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Sri Lanka",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8639,
"id": 38,
"valid_until": "2026-04-06T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-03T00:00:00.000000Z"
}
},
{
"id": 5893,
"maxio_customer_id": 307640,
"reference_id": "01-E94CY66BUDP-U",
"pdc_id": null,
"gateway_aid": "A344OJ22",
"uuid": "ac420973-b93a-4a2a-93aa-22a24106a0e1",
"type_id": 7,
"status": "approved",
"name": "BUREAU VERITAS SINGAPORE PTE LTD_MRSL",
"legal_name": "BUREAU VERITAS SINGAPORE PTE LTD_MRSL",
"address_1": "37A, Tampines Street 92,#06-‐01 Singapore, 528886",
"address_2": null,
"city": "Singapore City",
"state": "Singapore",
"location": "SG",
"zip": "528886",
"phone": "-",
"email": "kenny.mak@bureauveritas.com",
"contact_first_name": "Ya Nan",
"contact_last_name": "Wang",
"website": "https://group.bureauveritas.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2022-05-13T00:00:00.000000Z",
"updated_at": "2026-05-12T15:10:46.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Singapore",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 5893,
"id": 39,
"valid_until": "2026-03-05T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-03-02T00:00:00.000000Z"
}
},
{
"id": 8630,
"maxio_customer_id": 310377,
"reference_id": "01-WEJAPXSWJTS-K",
"pdc_id": null,
"gateway_aid": "A851GA58",
"uuid": "afb9e014-db7b-4592-bbf8-af96548ccfb7",
"type_id": 7,
"status": "approved",
"name": "Eurofins MTS Consumer Product Testing (Shanghai) Co. Ltd",
"legal_name": "Eurofins MTS Consumer Product Testing (Shanghai) Co. Ltd",
"address_1": "No.105 Guangzhong Rd. Zhuanqiao Town, Shanghai",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "viviangu@mts-global.com",
"contact_first_name": "Eddie",
"contact_last_name": "Zhang",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-22T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8630,
"id": 40,
"valid_until": "2026-03-30T00:00:00.000000Z",
"created_at": "2023-12-22T00:00:00.000000Z",
"updated_at": "2026-03-04T00:00:00.000000Z"
}
},
{
"id": 7750,
"maxio_customer_id": 309497,
"reference_id": "01-9P3HLLPPYNX-Z",
"pdc_id": null,
"gateway_aid": "A662FL36",
"uuid": "5bb6931d-2655-4a04-9964-d56ccc04f387",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Thailand Ltd._MRSL",
"legal_name": "TUV Rheinland Thailand Ltd._MRSL",
"address_1": "123/1, Soi Chalongkung 31 Ladkrabang lndustrial Estate Lamplatew, Ladkrabang Bangkok 10520",
"address_2": null,
"city": "Lat Krabang",
"state": "Bangkok",
"location": "TH",
"zip": "10520",
"phone": "+66 2 326-1333",
"email": "Rakesh.Vazirani@tuv.com",
"contact_first_name": "Nutkritta",
"contact_last_name": "Thongdee",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-03-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:58.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Thailand",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7750,
"id": 41,
"valid_until": "2026-02-04T00:00:00.000000Z",
"created_at": "2023-12-22T00:00:00.000000Z",
"updated_at": "2025-12-18T00:00:00.000000Z"
}
},
{
"id": 2094,
"maxio_customer_id": 303756,
"reference_id": "01-BUKVWT7CHL4-H",
"pdc_id": null,
"gateway_aid": "A155YG88",
"uuid": "42162b76-c772-4463-9d2f-31603764cb32",
"type_id": 7,
"status": "approved",
"name": "VERIS IMPACT",
"legal_name": "VERIS IMPACT",
"address_1": "B-88, AEES, Gulistan e jauhar, Block-8, Karachi 75290 Pakistan",
"address_2": null,
"city": "Karachi",
"state": "Sindh",
"location": "PK",
"zip": "",
"phone": "",
"email": "jamal.gulzar@verisimpact.com",
"contact_first_name": "Jamal",
"contact_last_name": "Gulzar",
"website": "https://www.verisimpact.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2026-03-13T00:00:00.000000Z",
"updated_at": "2026-05-12T14:52:31.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Pakistan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 2094,
"id": 42,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2026-04-07T00:00:00.000000Z",
"updated_at": "2026-04-13T00:00:00.000000Z"
}
},
{
"id": 8626,
"maxio_customer_id": 310373,
"reference_id": "01-NWZQ9M3DYJV-I",
"pdc_id": null,
"gateway_aid": "A596TF96",
"uuid": "cdb999c3-24f2-422a-ac7d-fb59c73bbce8",
"type_id": 7,
"status": "approved",
"name": "SGS-CSTC Standards Technical Services Co., Ltd. Guangzhou Branch",
"legal_name": "SGS-CSTC Standards Technical Services Co., Ltd. Guangzhou Branch",
"address_1": "198 Kezhu Road, Scientech Park, Guangzhou Economic & Technology Development District, 510663, Guangzhou, China",
"address_2": null,
"city": "Guangzhou",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "00862082155632",
"email": "Ivan.Xie@sgs.com",
"contact_first_name": "Liane",
"contact_last_name": "liu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-04-19T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8626,
"id": 43,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8566,
"maxio_customer_id": 310313,
"reference_id": "01-FBL2N7GV3XN-F",
"pdc_id": null,
"gateway_aid": "A184OQ79",
"uuid": "591df904-4afd-4694-ad6c-e57443f1f3d9",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services (Tianjin) Ltd.",
"legal_name": "Intertek Testing Services (Tianjin) Ltd.",
"address_1": "2-4/F Yishanghutong Building No. 7 Guiyuan Road. Huayuan Hi-Tech Park",
"address_2": null,
"city": "Tianjin",
"state": "Tianjin",
"location": "CN",
"zip": "",
"phone": "+86 22 8371 2202",
"email": "patrick.gong@intertek.com",
"contact_first_name": "Ben",
"contact_last_name": "Cheng ZDHC MRSL",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:36.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8566,
"id": 44,
"valid_until": "2026-04-10T00:00:00.000000Z",
"created_at": "2024-05-11T00:00:00.000000Z",
"updated_at": "2027-10-04T00:00:00.000000Z"
}
},
{
"id": 8588,
"maxio_customer_id": 310335,
"reference_id": "01-S27UDK9JDRR-S",
"pdc_id": null,
"gateway_aid": "A382HL60",
"uuid": "8a53e67d-ba82-4b5c-adde-344dcf5a7067",
"type_id": 7,
"status": "approved",
"name": "Intertek India Private Limited (Banglalore)",
"legal_name": "Intertek India Private Limited (Banglalore)",
"address_1": "No-17/F, Industrial Subrub, Yeshwanthpur, Yeshwanthpur, 560022",
"address_2": null,
"city": "Bengalooru",
"state": "Karnataka",
"location": "IN",
"zip": "",
"phone": "+9140213700",
"email": "Aatheeswaran.s@intertek.com",
"contact_first_name": "Aatheeswaran",
"contact_last_name": "User",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:40.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8588,
"id": 45,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8605,
"maxio_customer_id": 310352,
"reference_id": "01-TMEJGAMW99X-Y",
"pdc_id": null,
"gateway_aid": "A202RF74",
"uuid": "6becb420-a5c0-4a35-97d1-46385b2a564c",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Hong Kong Ltd._MRSL",
"legal_name": "TUV Rheinland Hong Kong Ltd._MRSL",
"address_1": "3-4, 11/F, Fou Wah Industrial Building, 10-16 Pun Shan St, Tsuen Wan",
"address_2": null,
"city": "Hong Kong",
"state": "Hong Kong",
"location": "HK",
"zip": "",
"phone": "+852 2192 1022",
"email": "jet.lee@tuv.com",
"contact_first_name": "Anthony",
"contact_last_name": "TU",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Hong Kong SAR China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8605,
"id": 46,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2024-01-02T00:00:00.000000Z",
"updated_at": "2026-04-13T00:00:00.000000Z"
}
},
{
"id": 8562,
"maxio_customer_id": 310309,
"reference_id": "01-E94CYGWMHFQ-T",
"pdc_id": null,
"gateway_aid": "A885GA11",
"uuid": "31f791c4-306c-46d4-b2e1-c75ea3681cdc",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Ltd., Shanghai",
"legal_name": "Intertek Testing Services Ltd., Shanghai",
"address_1": "2/F, Building No. 4 Shanghai Comalong Technology Service Park 889 Yi Shan Road",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "+86 (21) 6120 6060",
"email": "jane.wu@intertek.com",
"contact_first_name": "Jane",
"contact_last_name": "Wu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8562,
"id": 47,
"valid_until": "2026-04-02T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-02T00:00:00.000000Z"
}
},
{
"id": 8623,
"maxio_customer_id": 310370,
"reference_id": "01-2V6NQ8XPXTU-N",
"pdc_id": null,
"gateway_aid": "A113LK71",
"uuid": "94a4ec0d-deca-4397-abbe-2d5c6f09bf28",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Korea Ltd._MRSL",
"legal_name": "Intertek Testing Services Korea Ltd._MRSL",
"address_1": "1F, A-Ju digital tower, 7, Achasan-ro 5-gil, Seongdong-gu 04793 Seoul Korea Republic of",
"address_2": null,
"city": "Seongdong",
"state": "Seoul",
"location": "KR",
"zip": "",
"phone": "-",
"email": "ryan.kwak@intertek.com",
"contact_first_name": "Heloise",
"contact_last_name": "Jeong",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-03-24T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "South Korea",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8623,
"id": 48,
"valid_until": "2026-04-03T00:00:00.000000Z",
"created_at": "2024-02-16T00:00:00.000000Z",
"updated_at": "2026-02-19T00:00:00.000000Z"
}
},
{
"id": 8567,
"maxio_customer_id": 310314,
"reference_id": "01-8ZQM4EKQRV3-B",
"pdc_id": null,
"gateway_aid": "A904AT31",
"uuid": "042f9b98-c0c0-4c76-a85f-75d059a4c9b6",
"type_id": 7,
"status": "approved",
"name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"legal_name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"address_1": "Via Fona di Mezzana, 59100",
"address_2": null,
"city": "Mezzana",
"state": "Prato",
"location": "IT",
"zip": "",
"phone": "+390574591343",
"email": "giancarlo.diblasi@brachi.it",
"contact_first_name": "Giancarlo",
"contact_last_name": "Di Blasi",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:36.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8567,
"id": 49,
"valid_until": "2026-04-13T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-10T00:00:00.000000Z"
}
},
{
"id": 8633,
"maxio_customer_id": 310380,
"reference_id": "01-ZJAX39WTFF9-R",
"pdc_id": null,
"gateway_aid": "A840WS25",
"uuid": "f31fac18-eefb-49c7-aae5-6b9b6d2f83c9",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Guangzhou) Co.,Ltd_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Guangzhou) Co.,Ltd_MRSL",
"address_1": "No.183, Shi Nan Road, Mei Lin Plaza Block B, Dong",
"address_2": null,
"city": "Guangzhou",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "-",
"email": "nina.ren@bureauveritas.com",
"contact_first_name": "Nina",
"contact_last_name": "REN",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-14T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8633,
"id": 50,
"valid_until": "2026-04-01T00:00:00.000000Z",
"created_at": "2024-01-30T00:00:00.000000Z",
"updated_at": "2026-03-23T00:00:00.000000Z"
}
},
{
"id": 8624,
"maxio_customer_id": 310371,
"reference_id": "01-TMEJGAYYMHY-G",
"pdc_id": null,
"gateway_aid": "A532HF62",
"uuid": "124965cc-6ec7-421e-ac31-5da3569ebe85",
"type_id": 7,
"status": "approved",
"name": "SGS Vietnam Ltd (Ho Chi Minh)_MRSL",
"legal_name": "SGS Vietnam Ltd (Ho Chi Minh)_MRSL",
"address_1": "Lot III/21, 19/5A St. Tan Binh Industrial Zone, Tay Thanh 700000",
"address_2": null,
"city": "Tan Phu",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "-",
"email": "rhodora.quinto@sgs.com",
"contact_first_name": "Pham",
"contact_last_name": "DUNG",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-04-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8624,
"id": 51,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-26T00:00:00.000000Z",
"updated_at": "2026-03-31T00:00:00.000000Z"
}
},
{
"id": 7752,
"maxio_customer_id": 309499,
"reference_id": "01-TMEJGGMKYL4-U",
"pdc_id": null,
"gateway_aid": "A380PK51",
"uuid": "c03141ee-796e-45c3-a5e1-5a43cee07a2f",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland India (Gurugram) Pvt. Ltd_MRSL",
"legal_name": "TUV Rheinland India (Gurugram) Pvt. Ltd_MRSL",
"address_1": "Plot no. 330-331, Udyog Vihar – Phase IV, Gurugram – 122015, Haryana, India",
"address_2": null,
"city": "Gurgaon",
"state": "Haryana",
"location": "IN",
"zip": "122015",
"phone": "+91 80 3923 4301",
"email": "Shivendra.Parmar@ind.tuv.com",
"contact_first_name": "Shivendra",
"contact_last_name": "Parmar",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2022-01-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7752,
"id": 52,
"valid_until": "2026-03-16T00:00:00.000000Z",
"created_at": "2024-01-03T00:00:00.000000Z",
"updated_at": "2026-03-05T00:00:00.000000Z"
}
},
{
"id": 8561,
"maxio_customer_id": 310308,
"reference_id": "01-8ZQM4EKZQGH-S",
"pdc_id": null,
"gateway_aid": "A210ZF97",
"uuid": "b922aa67-6b83-458d-be23-ee970e93b795",
"type_id": 7,
"status": "approved",
"name": "ZHEJIANG FANGYUAN TEST GROUP CO., LTD.",
"legal_name": "ZHEJIANG FANGYUAN TEST GROUP CO., LTD.",
"address_1": "No.300 Xiasha Road, Hangzhou Economic & Technological Development Area. 310018 Hangzhou, Zhejiang",
"address_2": null,
"city": "Hangzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "+",
"email": "slc_tc@163.com",
"contact_first_name": "Yahong",
"contact_last_name": "Zhang",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-03-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8561,
"id": 53,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-28T00:00:00.000000Z",
"updated_at": "2026-04-16T00:00:00.000000Z"
}
},
{
"id": 8610,
"maxio_customer_id": 310357,
"reference_id": "01-3SRBVLSXB8Z-D",
"pdc_id": null,
"gateway_aid": "A395JH61",
"uuid": "bcdfe895-57a8-4f98-bdc4-90a900de5070",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Shenzhen Ltd. Guangzhou Branch",
"legal_name": "Intertek Testing Services Shenzhen Ltd. Guangzhou Branch",
"address_1": "Room 601, No. 8, East BaoYing Road, Huangpu District, Guangzhou 510730,",
"address_2": null,
"city": "Guangzhou",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "+86 20 28209501",
"email": "vivian.px.li@intertek.com",
"contact_first_name": "Vivian",
"contact_last_name": "Li",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8610,
"id": 54,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-21T00:00:00.000000Z",
"updated_at": "2026-04-20T00:00:00.000000Z"
}
},
{
"id": 8636,
"maxio_customer_id": 310383,
"reference_id": "01-HRBL623CSUQ-H",
"pdc_id": null,
"gateway_aid": "A342QT20",
"uuid": "0fc2a375-0490-4e48-937b-dce8dbed0b81",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services Vietnam_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services Vietnam_MRSL",
"address_1": "Lot C7-C9, Conurbation 2, Cat Lai Industrial Zone, Thanh My Loi Ward, District 2, 700000,Ho Chi Minh City, Vietnam",
"address_2": null,
"city": "Ho Chi Minh City",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "-",
"email": "lina.vo@bureauveritas.com",
"contact_first_name": "Suri",
"contact_last_name": "Tran",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-07-25T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8636,
"id": 55,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-22T00:00:00.000000Z",
"updated_at": "2026-02-09T00:00:00.000000Z"
}
},
{
"id": 8625,
"maxio_customer_id": 310372,
"reference_id": "01-43HF2Y6YTEA-E",
"pdc_id": null,
"gateway_aid": "A574ZY10",
"uuid": "372d85ea-42bc-4aae-a279-db159aa078ee",
"type_id": 7,
"status": "approved",
"name": "SGS-CSTC Standards Technical Services (Shanghai) Co., Ltd._MRSL",
"legal_name": "SGS-CSTC Standards Technical Services (Shanghai) Co., Ltd._MRSL",
"address_1": "4/F, 4thBuilding No. 889, Yishan Rd, Xuhui District, 200030 Shanghai, China",
"address_2": null,
"city": "Xuhui",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "barry.lou@sgs.com",
"contact_first_name": "IVEN",
"contact_last_name": "DI",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-04-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8625,
"id": 56,
"valid_until": "2026-04-13T00:00:00.000000Z",
"created_at": "2024-01-05T00:00:00.000000Z",
"updated_at": "2026-04-08T00:00:00.000000Z"
}
},
{
"id": 8683,
"maxio_customer_id": 310430,
"reference_id": "01-HRBL6228FJ8-G",
"pdc_id": null,
"gateway_aid": "A891GF64",
"uuid": "e879f052-6547-4474-ab20-0105064ca411",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (I) Pvt. Ltd. (Bangalore)_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (I) Pvt. Ltd. (Bangalore)_MRSL",
"address_1": "AKR Tech Park, Ground floor, C Block, Survey no 112, Bangalore, 560068,",
"address_2": null,
"city": "Bangalore",
"state": "Karnataka",
"location": "IN",
"zip": "",
"phone": "-",
"email": "sudalaimuthu.vs@bureauveritas.com",
"contact_first_name": "Sudalaimuthu",
"contact_last_name": "VS",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-09-01T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:58.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8683,
"id": 57,
"valid_until": "2026-04-10T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-03-30T00:00:00.000000Z"
}
},
{
"id": 7742,
"maxio_customer_id": 309489,
"reference_id": "01-FBL2NNAL9BR-F",
"pdc_id": null,
"gateway_aid": "A467YQ44",
"uuid": "d5ef0f03-b637-4867-8a6c-0c90d9321202",
"type_id": 7,
"status": "approved",
"name": "Eurofins MTS Consumer Product Testing (Dongguan) Co. Ltd",
"legal_name": "Eurofins MTS Consumer Product Testing (Dongguan) Co. Ltd",
"address_1": "No, 76 Liangping road, Xin jiu wei village, liaobo town, 523400 Dongguan China",
"address_2": null,
"city": "Dongguan City",
"state": "Guangdong",
"location": "CN",
"zip": "523400",
"phone": "-",
"email": "Carol.ke@cpt.eurofinscn.com",
"contact_first_name": "CAROL",
"contact_last_name": "Ke",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-23T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:57.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7742,
"id": 58,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-17T00:00:00.000000Z"
}
},
{
"id": 8559,
"maxio_customer_id": 310306,
"reference_id": "01-CHFY7SAA6R2-Y",
"pdc_id": null,
"gateway_aid": "A679WF94",
"uuid": "151e16f6-d103-4c78-b303-8c7e8336b661",
"type_id": 7,
"status": "approved",
"name": "Centre Testing International Group Co., Ltd. (CTI)",
"legal_name": "Centre Testing International Group Co., Ltd. (CTI)",
"address_1": "CTI Building, No.4, Liuxian 3rd Road, Xin’an Street, Bao’an District",
"address_2": null,
"city": "Shenzhen",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "+",
"email": "kevin.lu@cti-cert.com",
"contact_first_name": "Kevin",
"contact_last_name": "Lu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-01-29T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8559,
"id": 59,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-15T00:00:00.000000Z"
}
},
{
"id": 5835,
"maxio_customer_id": 307582,
"reference_id": "01-8ZQM4BGUY6M-T",
"pdc_id": null,
"gateway_aid": "A826RC45",
"uuid": "f13d4431-8b6d-422e-a91c-4cbbc52987fa",
"type_id": 7,
"status": "approved",
"name": "Nimkartek Technical Services Pvt Ltd",
"legal_name": "Nimkartek Technical Services Pvt Ltd",
"address_1": "3rd Floor, Narmada, Laxmi Industrial Complex, Vartak Nagar, Pokhran Road 1",
"address_2": null,
"city": "",
"state": "Maharashtra",
"location": "IN",
"zip": "400606",
"phone": "+91 9819641527",
"email": "anagha.nimkar@nimkartek.com",
"contact_first_name": "Anagha",
"contact_last_name": "Nimkar",
"website": "https://www.nimkartek.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:10:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 5835,
"id": 60,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-13T00:00:00.000000Z"
}
},
{
"id": 8662,
"maxio_customer_id": 310409,
"reference_id": "01-S27UDKGPZMN-X",
"pdc_id": null,
"gateway_aid": "A743LA72",
"uuid": "99e5814e-7e90-4d02-b298-63dc490bd043",
"type_id": 7,
"status": "approved",
"name": "Elle.A.Ci.Ti. srl",
"legal_name": "Elle.A.Ci.Ti. srl",
"address_1": "Via Leopardi 11a 22075",
"address_2": null,
"city": "Lurate Caccivio",
"state": "Como",
"location": "IT",
"zip": "",
"phone": "+39031492543",
"email": "e.scudella@elleaciti.com",
"contact_first_name": "Elisa Silvia",
"contact_last_name": "Botto",
"website": "https://www.elleaciti.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:54.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8662,
"id": 61,
"valid_until": "2026-04-15T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2027-12-13T00:00:00.000000Z"
}
},
{
"id": 8569,
"maxio_customer_id": 310316,
"reference_id": "01-S27UDK6VX3D-J",
"pdc_id": null,
"gateway_aid": "A460HH65",
"uuid": "f2d95b47-df0f-4b1f-99ec-47970a5565f8",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Vietnam Co., Ltd_MRSL",
"legal_name": "TUV Rheinland Vietnam Co., Ltd_MRSL",
"address_1": "Centre Point, 106 Nguyễn Văn Trỗi, Phường 8, Phú Nhuận Softlines & Hardlines Laboratory Hall 10, Road No.1, Quang Trung Software City, Tan Chanh Hiep Ward",
"address_2": null,
"city": "Phu Nhuan",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "+84 28 3842 0600",
"email": "Linh.dao@tuv.com",
"contact_first_name": "Tan Anh",
"contact_last_name": "Nguyen Ngo",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:37.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8569,
"id": 62,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-15T00:00:00.000000Z"
}
},
{
"id": 8628,
"maxio_customer_id": 310375,
"reference_id": "01-R7UKTVECN3U-G",
"pdc_id": null,
"gateway_aid": "A459HZ44",
"uuid": "e9645cca-9f71-4508-a739-15f3164ff0c8",
"type_id": 7,
"status": "approved",
"name": "CU Inspections & Certifications India Pvt. Ltd",
"legal_name": "CU Inspections & Certifications India Pvt. Ltd",
"address_1": "23rd Floor, B wing • Arihant Aura • Plot no. 13/1, TTC • Opp. Turbhe Railway Station Thane Belapur Road, MIDC side",
"address_2": null,
"city": "Navi Mumbai",
"state": "Maharashtra",
"location": "IN",
"zip": "",
"phone": "-",
"email": "amolp@controlunion.com",
"contact_first_name": "Amol",
"contact_last_name": "Patil",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-12T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8628,
"id": 63,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8719,
"maxio_customer_id": 310465,
"reference_id": "01-MX94FCJMAUJ-M",
"pdc_id": null,
"gateway_aid": "A897PW37",
"uuid": "8692ffd3-513f-4f34-9b8a-1b62490a72e8",
"type_id": 7,
"status": "approved",
"name": "ICEA",
"legal_name": "ICEA",
"address_1": "Via Brugnoli 15",
"address_2": null,
"city": "Bologna",
"state": "Bologna",
"location": "IT",
"zip": "",
"phone": "+39051272986",
"email": "paolo.foglia@icea.bio",
"contact_first_name": "Francesco",
"contact_last_name": "Pazzi",
"website": "https://www.icea.bio",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-04-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:20:05.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8719,
"id": 64,
"valid_until": "2025-04-28T00:00:00.000000Z",
"created_at": "2025-04-24T00:00:00.000000Z",
"updated_at": "2023-07-14T00:00:00.000000Z"
}
},
{
"id": 8629,
"maxio_customer_id": 310376,
"reference_id": "01-R7UKTVEJY9K-J",
"pdc_id": null,
"gateway_aid": "A382AD87",
"uuid": "1e4f95d8-b4fc-4434-9372-024f8ece9c0e",
"type_id": 7,
"status": "approved",
"name": "UL VS Bangladesh Ltd._MRSL",
"legal_name": "UL VS Bangladesh Ltd._MRSL",
"address_1": "The Pearl Trade Center (5th, 14th & 15th Floor), Cha-90/3, Progoti Sharani, North Badda. 1212 Dhaka Bangladesh",
"address_2": null,
"city": "Badda",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "-",
"email": "Ahammad.Hossen@ul.com",
"contact_first_name": "Ahammad",
"contact_last_name": "Hossen",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-15T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8629,
"id": 65,
"valid_until": "2024-12-09T00:00:00.000000Z",
"created_at": "2023-12-24T00:00:00.000000Z",
"updated_at": "2024-12-03T00:00:00.000000Z"
}
},
{
"id": 8632,
"maxio_customer_id": 310379,
"reference_id": "01-6TWZXQVDXKG-F",
"pdc_id": null,
"gateway_aid": "A634ZE37",
"uuid": "5e43fd51-7ea0-4d61-bfd4-4da9a4a40366",
"type_id": 7,
"status": "approved",
"name": "UL India Private Limited, Gurugram, India_MRSL",
"legal_name": "UL India Private Limited, Gurugram, India_MRSL",
"address_1": "A12,Infociry,Sector 34, 122001, Gurgaon,Haryana, India",
"address_2": null,
"city": "Gurgaon",
"state": "Haryana",
"location": "IN",
"zip": "",
"phone": "-",
"email": "shashi.b.rout@ul.com",
"contact_first_name": "Shashi",
"contact_last_name": "Rout",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-14T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8632,
"id": 66,
"valid_until": "2025-01-02T00:00:00.000000Z",
"created_at": "2024-12-24T00:00:00.000000Z",
"updated_at": "2024-12-23T00:00:00.000000Z"
}
},
{
"id": 8591,
"maxio_customer_id": 310338,
"reference_id": "01-BUKVW6CCGJJ-A",
"pdc_id": null,
"gateway_aid": "A981IZ54",
"uuid": "35bbdda4-f0d1-46cc-8e06-d0a42bcb2d10",
"type_id": 7,
"status": "approved",
"name": "Eurofins - BLC Leather Technology Centre Ltd",
"legal_name": "Eurofins - BLC Leather Technology Centre Ltd",
"address_1": "Kings Park Road, Moulton Park NN 3 6JD",
"address_2": null,
"city": "Northampton",
"state": "Northamptonshire",
"location": "GB",
"zip": "",
"phone": "+44 1604 679999",
"email": "Georgina.Mawer@cpt.eurofinseu.com",
"contact_first_name": "Georgina",
"contact_last_name": "Mawer",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:41.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United Kingdom",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8591,
"id": 67,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-16T00:00:00.000000Z"
}
},
{
"id": 8627,
"maxio_customer_id": 310374,
"reference_id": "01-PYSRKBD4KL7-E",
"pdc_id": null,
"gateway_aid": "A535AF86",
"uuid": "5ed3e4e2-c076-424a-a34a-7e5a0544d49f",
"type_id": 7,
"status": "approved",
"name": "UL VS Shanghai Limited_MRSL",
"legal_name": "UL VS Shanghai Limited_MRSL",
"address_1": "2F, Building 1, Caohejing Hi Tech Park. No.188, PingFu Road, Xu Hui District, 200231 Shanghai China",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "Sherry.Xue@ul.com",
"contact_first_name": "sherry",
"contact_last_name": "xue",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8627,
"id": 69,
"valid_until": "2024-04-24T00:00:00.000000Z",
"created_at": "2024-01-19T00:00:00.000000Z",
"updated_at": "2024-01-18T00:00:00.000000Z"
}
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show a CTZ Standard
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard/3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard/3"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"ctz_level_id": 1,
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-13T11:27:29.000000Z",
"ctz_level": {
"id": 1,
"name": "Foundational",
"created_at": "2026-05-08T21:42:17.000000Z",
"updated_at": "2026-05-08T21:42:17.000000Z"
},
"organisations": [
{
"id": 8613,
"maxio_customer_id": 310360,
"reference_id": "01-TMEJGAMNT76-Z",
"pdc_id": null,
"gateway_aid": "A718TE34",
"uuid": "a137f0fd-60df-47cc-99b6-6db56701d205",
"type_id": 7,
"status": "approved",
"name": "Inditex_MRSL",
"legal_name": "Inditex_MRSL",
"address_1": "Avda. de la Dioputacion s/n, 15142 Arteixo, A Coruna.",
"address_2": null,
"city": "Arteijo",
"state": "Galicia",
"location": "ES",
"zip": "",
"phone": "0034 981185400",
"email": "germangi@inditex.com",
"contact_first_name": "Beatriz",
"contact_last_name": "Baeza",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-02-21T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:45.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Spain",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8613,
"id": 1,
"valid_until": "2026-03-16T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2033-10-25T00:00:00.000000Z"
}
},
{
"id": 7753,
"maxio_customer_id": 309500,
"reference_id": "01-TMEJGGMBW39-E",
"pdc_id": null,
"gateway_aid": "A339JQ58",
"uuid": "8afdf188-2575-4347-aad8-c9f521e188c4",
"type_id": 7,
"status": "approved",
"name": "Test & Innovation Lab",
"legal_name": "Test & Innovation Lab",
"address_1": "Viale Montegrappa, 320 - PRATO - 59100 - ITALY",
"address_2": null,
"city": "Prato",
"state": "Prato",
"location": "IT",
"zip": "59100",
"phone": "+39 0574 1770001",
"email": "giuseppe.bartolini@labtil.com",
"contact_first_name": "Andrea",
"contact_last_name": "Franchi",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-09T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7753,
"id": 2,
"valid_until": "2026-03-27T00:00:00.000000Z",
"created_at": "2024-01-25T00:00:00.000000Z",
"updated_at": "2026-03-25T00:00:00.000000Z"
}
},
{
"id": 7738,
"maxio_customer_id": 309485,
"reference_id": "01-NWZQ99R2VV8-H",
"pdc_id": null,
"gateway_aid": "A932KJ49",
"uuid": "f538e6ef-c0ae-4f7d-8064-71c784e1cb45",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Shenzhen Co., Ltd._MRSL",
"legal_name": "TUV Rheinland Shenzhen Co., Ltd._MRSL",
"address_1": "1F East &2-4F, Cybio Technology Building No. 1, No. 16 Kejibei 2nd Road, High-Tech Industrial Park North, Nanshan District, 518057 Shenzhen, China",
"address_2": null,
"city": "Shenzhen",
"state": "Guangdong",
"location": "CN",
"zip": "518057",
"phone": "+852 2192 1022",
"email": "jet.lee@tuv.com",
"contact_first_name": "Nick",
"contact_last_name": "Yang",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2022-01-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:55.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7738,
"id": 3,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-16T00:00:00.000000Z"
}
},
{
"id": 8608,
"maxio_customer_id": 310355,
"reference_id": "01-TMEJGAMMZYV-F",
"pdc_id": null,
"gateway_aid": "A353QZ62",
"uuid": "ff550de3-8165-4abc-86cc-69b706f69f90",
"type_id": 7,
"status": "approved",
"name": "bluesign® Technologies AG",
"legal_name": "bluesign® Technologies AG",
"address_1": "Moevenstrasse 18, 9015 St. Gallen, Switzerland",
"address_2": null,
"city": "Saint Gallen",
"state": "Sankt Gallen",
"location": "CH",
"zip": "",
"phone": "+41 71 272 29 90",
"email": "kurt_schlaepfer@bluesign.com",
"contact_first_name": "Kurt",
"contact_last_name": "Schäpfer",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Switzerland",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8608,
"id": 8,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-20T00:00:00.000000Z"
}
},
{
"id": 8673,
"maxio_customer_id": 310420,
"reference_id": "01-3SRBVLXQG9V-J",
"pdc_id": null,
"gateway_aid": "A754MT47",
"uuid": "1e28b961-cdbf-492a-8b8c-51519010b861",
"type_id": 7,
"status": "approved",
"name": "GCL International",
"legal_name": "GCL International",
"address_1": "1, St Mark Street, London, E1 8DA, United Kingdom",
"address_2": null,
"city": "London",
"state": "London",
"location": "GB",
"zip": "",
"phone": "+91-8754694888",
"email": "pradip@gcl-intl.com",
"contact_first_name": "Pradip",
"contact_last_name": "Patil",
"website": "https://www.gcl.uk/",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-12-20T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:56.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United Kingdom",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8673,
"id": 9,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2024-01-11T00:00:00.000000Z",
"updated_at": "2026-04-09T00:00:00.000000Z"
}
},
{
"id": 8634,
"maxio_customer_id": 310381,
"reference_id": "01-S27UDKYCQ3A-W",
"pdc_id": null,
"gateway_aid": "A346HD39",
"uuid": "a6484b22-b794-43d0-9285-3c315b3af1c0",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Shanghai) Co., Ltd._MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Shanghai) Co., Ltd._MRSL",
"address_1": "No. 168 GuangHua Road,MinHang District, 201108, Shanghai",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "peter.lu@bureauveritas.com",
"contact_first_name": "Steven han",
"contact_last_name": "Steven han",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-29T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8634,
"id": 10,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-08T00:00:00.000000Z"
}
},
{
"id": 8687,
"maxio_customer_id": 310434,
"reference_id": "01-S27UDKKD2QR-E",
"pdc_id": null,
"gateway_aid": "A282WC67",
"uuid": "040b5047-76a1-4d29-8df1-6cd83c67f9f0",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Hong Kong) Limited, Taiwan Branch_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Hong Kong) Limited, Taiwan Branch_MRSL",
"address_1": "37, Zhongyang S. Rd., Sec. 2, Beitou, Taipei 112, Taiwan",
"address_2": null,
"city": "Taipei",
"state": "Taipei",
"location": "TW",
"zip": "",
"phone": "-",
"email": "Vico.lin@bureauveritas.com",
"contact_first_name": "Vico",
"contact_last_name": "Lin",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-10-11T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Taiwan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8687,
"id": 11,
"valid_until": "2026-03-24T00:00:00.000000Z",
"created_at": "2024-01-10T00:00:00.000000Z",
"updated_at": "2026-03-12T00:00:00.000000Z"
}
},
{
"id": 8638,
"maxio_customer_id": 310385,
"reference_id": "01-76N8MD26GWS-O",
"pdc_id": null,
"gateway_aid": "A715SZ55",
"uuid": "31c0ce0f-d232-4d24-b2a5-8ec1d213b5a3",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer products Services (I) Pvt. Ltd. (Noida)",
"legal_name": "Bureau Veritas Consumer products Services (I) Pvt. Ltd. (Noida)",
"address_1": "C-19 , Sector-7 201301 Noida India",
"address_2": null,
"city": "Noida",
"state": "Uttar Pradesh",
"location": "IN",
"zip": "",
"phone": "-",
"email": "sumanta.swain@bureauveritas.com",
"contact_first_name": "Sumanta",
"contact_last_name": "Swain",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-09-19T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:50.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8638,
"id": 12,
"valid_until": "2025-09-25T00:00:00.000000Z",
"created_at": "2024-05-31T00:00:00.000000Z",
"updated_at": "2025-07-26T00:00:00.000000Z"
}
},
{
"id": 8551,
"maxio_customer_id": 310298,
"reference_id": "01-WEJAPXHF6V4-V",
"pdc_id": null,
"gateway_aid": "A549OE34",
"uuid": "5afbe0cf-f430-4bd4-bdc3-17427cddb67c",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services A.S.Turkey",
"legal_name": "Intertek Testing Services A.S.Turkey",
"address_1": "Merkez Mahallesi, Sanayi Cad. Altındağ Plaza No:23",
"address_2": null,
"city": "Sanayi",
"state": "Istanbul",
"location": "US",
"zip": "",
"phone": "+902124964646",
"email": "zeynep.akin@intertek.com",
"contact_first_name": "Ben",
"contact_last_name": "Cheng ZDHC MRSL",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:33.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United States",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8551,
"id": 13,
"valid_until": "2026-03-23T00:00:00.000000Z",
"created_at": "2024-01-22T00:00:00.000000Z",
"updated_at": "2026-03-17T00:00:00.000000Z"
}
},
{
"id": 8695,
"maxio_customer_id": 310442,
"reference_id": "01-S27UDKAQZ4J-G",
"pdc_id": null,
"gateway_aid": "A825AG65",
"uuid": "bf446a0f-07c4-4776-a3d4-221cf3596478",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Bangladesh) Ltd._MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Bangladesh) Ltd._MRSL",
"address_1": "Plot#130, DEPZ Extension Area, Savar, Dhaka 1349 Bangladesh",
"address_2": null,
"city": "Savar",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "-",
"email": "nur.alam@bureauveritas.com",
"contact_first_name": "Sharan",
"contact_last_name": "Roy",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2024-02-19T00:00:00.000000Z",
"updated_at": "2026-05-12T15:20:01.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8695,
"id": 14,
"valid_until": "2025-02-13T00:00:00.000000Z",
"created_at": "2024-06-29T00:00:00.000000Z",
"updated_at": "2025-01-21T00:00:00.000000Z"
}
},
{
"id": 9068,
"maxio_customer_id": 310814,
"reference_id": "01-S27UDAYQVRK-R",
"pdc_id": null,
"gateway_aid": "A555PX59",
"uuid": "f171c290-f9d4-4a39-9f26-03093b40a5af",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Certification and Testing (China) Co. Ltd. Xiamen Branch",
"legal_name": "TUV SUD Certification and Testing (China) Co. Ltd. Xiamen Branch",
"address_1": "Unit 401, No.93 Huli Industrial Park, Meixi Road, Tong’an District 361100, Xiamen China",
"address_2": null,
"city": "Xiamen",
"state": "Fujian",
"location": "CN",
"zip": "",
"phone": "-",
"email": "nemo.chen@tuvsud.com",
"contact_first_name": "chao",
"contact_last_name": "chen",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-10-24T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:14.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 9068,
"id": 15,
"valid_until": "2026-01-07T00:00:00.000000Z",
"created_at": "2023-12-25T00:00:00.000000Z",
"updated_at": "2025-09-15T00:00:00.000000Z"
}
},
{
"id": 8581,
"maxio_customer_id": 310328,
"reference_id": "01-2V6NQ8T6AHT-F",
"pdc_id": null,
"gateway_aid": "A752DH57",
"uuid": "763fb7d2-476c-4217-9f79-a683052a9361",
"type_id": 7,
"status": "approved",
"name": "Intertek India Pvt Ltd Gurgaon_MRSL",
"legal_name": "Intertek India Pvt Ltd Gurgaon_MRSL",
"address_1": "Udhog Vihar phase 2, Plot no 290 Gurgaon India",
"address_2": null,
"city": "Gurgaon",
"state": "Haryana",
"location": "IN",
"zip": "",
"phone": "+91 0124 450 3400",
"email": "ravindra.s@intertek.com",
"contact_first_name": "Ravindra",
"contact_last_name": "Singh",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:39.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8581,
"id": 16,
"valid_until": "2026-02-20T00:00:00.000000Z",
"created_at": "2024-05-01T00:00:00.000000Z",
"updated_at": "2026-01-31T00:00:00.000000Z"
}
},
{
"id": 8589,
"maxio_customer_id": 310336,
"reference_id": "01-S27UDK9WJ3K-L",
"pdc_id": null,
"gateway_aid": "A588PW46",
"uuid": "79e11446-97a1-41d5-84c6-ce24af34a8c9",
"type_id": 7,
"status": "approved",
"name": "TEXANLAB LABORATORIES PVT. LTD.",
"legal_name": "TEXANLAB LABORATORIES PVT. LTD.",
"address_1": "R-855, 1st Floor, T.T.C. Industrial Area, Rabale, 400701",
"address_2": null,
"city": "Mumbai",
"state": "Maharashtra",
"location": "IN",
"zip": "",
"phone": "+91 22 6141 7130",
"email": "anitha.balkrishna@texanlabglobal.com",
"contact_first_name": "Milind",
"contact_last_name": "Marathe",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:40.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8589,
"id": 17,
"valid_until": "2026-03-31T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-03-30T00:00:00.000000Z"
}
},
{
"id": 8637,
"maxio_customer_id": 310384,
"reference_id": "01-6TWZXQVEWQQ-M",
"pdc_id": null,
"gateway_aid": "A384ZL32",
"uuid": "958d920f-eff9-4183-9636-b63dbd9a8bd5",
"type_id": 7,
"status": "approved",
"name": "Analytical srl",
"legal_name": "Analytical srl",
"address_1": "Viale Industria 24 Arzignano 36071 Italy",
"address_2": null,
"city": "Arzignano",
"state": "Vicenza",
"location": "IT",
"zip": "",
"phone": "-",
"email": "f.ferrigato@analytical.it",
"contact_first_name": "Francesca",
"contact_last_name": "Ferrigato",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-07-25T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8637,
"id": 18,
"valid_until": "2026-03-11T00:00:00.000000Z",
"created_at": "2024-02-20T00:00:00.000000Z",
"updated_at": "2026-03-10T00:00:00.000000Z"
}
},
{
"id": 8604,
"maxio_customer_id": 310351,
"reference_id": "01-CHFY7SHYMZD-P",
"pdc_id": null,
"gateway_aid": "A888YX20",
"uuid": "7641e55d-fd93-4bf8-b511-2944ae04c960",
"type_id": 7,
"status": "approved",
"name": "SGS Global",
"legal_name": "SGS Global",
"address_1": "4/F On Wui Centre, 25 Lok Yip Road Fanling, N.T., Hong Kong.",
"address_2": null,
"city": "Hong Kong",
"state": "Hong Kong",
"location": "HK",
"zip": "",
"phone": "+852 22048354",
"email": "Keith.Tsang@sgs.com",
"contact_first_name": "Padmanaban",
"contact_last_name": "K S",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Hong Kong SAR China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8604,
"id": 19,
"valid_until": "2026-02-26T00:00:00.000000Z",
"created_at": "2024-01-04T00:00:00.000000Z",
"updated_at": "2026-01-15T00:00:00.000000Z"
}
},
{
"id": 8603,
"maxio_customer_id": 310350,
"reference_id": "01-76N8MD6QT3C-E",
"pdc_id": null,
"gateway_aid": "A557RN68",
"uuid": "5526c7e5-cef0-4256-9397-5ff00a409ee5",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Service Labtest Bangladesh Ltd._MRSL",
"legal_name": "Intertek Testing Service Labtest Bangladesh Ltd._MRSL",
"address_1": "Intertek House, Phonix Tower, 407, Tejgoan Industrial Area, 1208",
"address_2": null,
"city": "Tejgaon",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "+8809666776669",
"email": "neyamul.hasan@intertek.com",
"contact_first_name": "Neyamul",
"contact_last_name": "Hasan",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8603,
"id": 20,
"valid_until": "2026-03-16T00:00:00.000000Z",
"created_at": "2024-01-02T00:00:00.000000Z",
"updated_at": "2026-03-13T00:00:00.000000Z"
}
},
{
"id": 8635,
"maxio_customer_id": 310382,
"reference_id": "01-S27UDKYRCKS-Y",
"pdc_id": null,
"gateway_aid": "A775EK75",
"uuid": "215f574e-e1ab-4a5c-be13-7334f7ca8db0",
"type_id": 7,
"status": "approved",
"name": "SGS Supervise Gozetme Etud Kontrol Servisleri A.S._MRSL",
"legal_name": "SGS Supervise Gozetme Etud Kontrol Servisleri A.S._MRSL",
"address_1": "IS IStanbul Plaza Baglar Mah. Osmanpasa Cad. No:95 E Girisi/Gunesli 34209 Istanbul Turkey",
"address_2": null,
"city": "Gunesli",
"state": "Istanbul",
"location": "US",
"zip": "",
"phone": "-",
"email": "birol.cakmak@sgs.com",
"contact_first_name": "Birol",
"contact_last_name": "ÇAKMAK",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-07-13T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United States",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8635,
"id": 21,
"valid_until": "2026-04-15T00:00:00.000000Z",
"created_at": "2024-01-11T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8652,
"maxio_customer_id": 310399,
"reference_id": "01-MX94FCFSRAG-X",
"pdc_id": null,
"gateway_aid": "A229LO23",
"uuid": "27b2aef8-4608-4f5c-a7df-2d58410b88c5",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland LGA Products GmbH_MRSL",
"legal_name": "TUV Rheinland LGA Products GmbH_MRSL",
"address_1": "Am Grauen Stein 51105 Koeln",
"address_2": null,
"city": "Koln",
"state": "Nordrhein Westfalen",
"location": "DE",
"zip": "",
"phone": "+49 221 8060",
"email": "steffen.tuemptner@de.tuv.com",
"contact_first_name": "ATA",
"contact_last_name": "bayraktar",
"website": "https://www.tuv.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:52.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Germany",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8652,
"id": 22,
"valid_until": "2026-03-20T00:00:00.000000Z",
"created_at": "2024-01-16T00:00:00.000000Z",
"updated_at": "2026-03-19T00:00:00.000000Z"
}
},
{
"id": 8600,
"maxio_customer_id": 310347,
"reference_id": "01-TMEJGAMVSLT-W",
"pdc_id": null,
"gateway_aid": "A820MS41",
"uuid": "a9df7805-cbaa-4aab-b73e-81a0dccd26ad",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Vietnam_MRSL",
"legal_name": "TUV SUD Vietnam_MRSL",
"address_1": "Lot III-26, 19/5A Street, Industry Group III, Tan Binh Industrial Park",
"address_2": null,
"city": "",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "+842862678507",
"email": "minh-thang.le@tuvsud.com",
"contact_first_name": "Nguyen",
"contact_last_name": "Truc",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:42.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8600,
"id": 23,
"valid_until": "2026-01-29T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-01-26T00:00:00.000000Z"
}
},
{
"id": 8661,
"maxio_customer_id": 310408,
"reference_id": "01-ZJAX393ZNYS-E",
"pdc_id": null,
"gateway_aid": "A525LH13",
"uuid": "f61ec85b-5397-4e5c-8a12-cade64ec5b82",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Bangladesh (Pvt.) Ltd_MRSL",
"legal_name": "TUV SUD Bangladesh (Pvt.) Ltd_MRSL",
"address_1": "Level 7 & 8, Update Tower, 01 Shahajalal Ave, 1230",
"address_2": null,
"city": "",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "+880 2-58954115",
"email": "Raffaella.Santoro@tuv.it",
"contact_first_name": "Shafikul",
"contact_last_name": "ISLAM",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:54.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8661,
"id": 24,
"valid_until": "2025-11-12T00:00:00.000000Z",
"created_at": "2024-11-30T00:00:00.000000Z",
"updated_at": "2025-09-30T00:00:00.000000Z"
}
},
{
"id": 8653,
"maxio_customer_id": 310400,
"reference_id": "01-VDTWAZAYP43-U",
"pdc_id": null,
"gateway_aid": "A956NT67",
"uuid": "061c1936-d6e3-4385-bfea-ee2b9670a61c",
"type_id": 7,
"status": "approved",
"name": "ToxServices LLC",
"legal_name": "ToxServices LLC",
"address_1": "1367 Connecticut Avenue, N.W., Suite 300 20036",
"address_2": null,
"city": "",
"state": "Washington",
"location": "US",
"zip": "",
"phone": "(202) 429-8787",
"email": "Mwhittaker@toxservices.com",
"contact_first_name": "Margaret",
"contact_last_name": "Whittaker",
"website": "https://www.toxservices.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-13T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:53.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United States",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8653,
"id": 25,
"valid_until": "2026-02-05T00:00:00.000000Z",
"created_at": "2024-02-19T00:00:00.000000Z",
"updated_at": "2026-01-12T00:00:00.000000Z"
}
},
{
"id": 8631,
"maxio_customer_id": 310378,
"reference_id": "01-S27UDKYVHZL-P",
"pdc_id": null,
"gateway_aid": "A444NZ79",
"uuid": "6836990a-8642-490f-89f7-cc784df0e8bf",
"type_id": 7,
"status": "approved",
"name": "SGS Taiwan Ltd. (Taipei)",
"legal_name": "SGS Taiwan Ltd. (Taipei)",
"address_1": "31, Wu Chyuan Road, New Taipei Industrial Park, Wu Ku Dist., 24886, New Taipei City Taiwan, Province of China",
"address_2": null,
"city": "New Taipei City",
"state": "New Taipei",
"location": "TW",
"zip": "",
"phone": "-",
"email": "Jerry.tung@sgs.com",
"contact_first_name": "jerry",
"contact_last_name": "tung",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-25T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Taiwan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8631,
"id": 26,
"valid_until": "2026-01-12T00:00:00.000000Z",
"created_at": "2024-02-29T00:00:00.000000Z",
"updated_at": "2025-12-17T00:00:00.000000Z"
}
},
{
"id": 8697,
"maxio_customer_id": 310444,
"reference_id": "01-BUKVW698S2E-J",
"pdc_id": null,
"gateway_aid": "A273NP76",
"uuid": "919cbdb3-553e-423b-966d-e3a75cf80d9e",
"type_id": 7,
"status": "approved",
"name": "Eurofins Modern Testing Services (Bangladesh) Limited",
"legal_name": "Eurofins Modern Testing Services (Bangladesh) Limited",
"address_1": "280 East Narsinghpur, Ashulia 1341 Dhaka Bangladesh",
"address_2": null,
"city": "Dhaka",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "-",
"email": "zakir@mtsbd.com",
"contact_first_name": "Probir",
"contact_last_name": "Chandra Das",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2024-03-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:20:01.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8697,
"id": 27,
"valid_until": "2026-04-03T00:00:00.000000Z",
"created_at": "2025-01-10T00:00:00.000000Z",
"updated_at": "2026-04-02T00:00:00.000000Z"
}
},
{
"id": 9114,
"maxio_customer_id": 310860,
"reference_id": "01-S27UDAGNJHW-W",
"pdc_id": null,
"gateway_aid": "A438IE31",
"uuid": "f5f853da-aba6-4901-9602-e08111c4993e",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland / CCIC (Qingdao) Co., Ltd.",
"legal_name": "TUV Rheinland / CCIC (Qingdao) Co., Ltd.",
"address_1": "6F, No. 2 Bldg., No. 175 Zhuzhou Road Qingdao 266000 China",
"address_2": null,
"city": "Qingdao",
"state": "Shandong",
"location": "CN",
"zip": "",
"phone": "-",
"email": "Echo.Xu@tuv.com",
"contact_first_name": "Echo",
"contact_last_name": "Xu",
"website": "https://www.tuv.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2025-01-03T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:23.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 9114,
"id": 28,
"valid_until": "2026-04-08T00:00:00.000000Z",
"created_at": "2025-03-17T00:00:00.000000Z",
"updated_at": "2026-04-07T00:00:00.000000Z"
}
},
{
"id": 8993,
"maxio_customer_id": 310739,
"reference_id": "01-2V6NQCSN8HE-M",
"pdc_id": null,
"gateway_aid": "A254LK97",
"uuid": "2ff1860c-c0c5-4220-b2b7-7f6fbd5e9da5",
"type_id": 7,
"status": "approved",
"name": "TUV SUD Certification and Testing (China) Co., Ltd. Shanghai Branch_MRSL",
"legal_name": "TUV SUD Certification and Testing (China) Co., Ltd. Shanghai Branch_MRSL",
"address_1": "No. 1999 Du Hui Road, Minhang District, 201108 Shanghai China",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "+86 21 6141 0123",
"email": "Chenghui.Zhang@tuvsud.com",
"contact_first_name": "shen",
"contact_last_name": "Hui",
"website": "https://www.tuvsud.cn/",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:00.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8993,
"id": 29,
"valid_until": "2026-01-09T00:00:00.000000Z",
"created_at": "2024-01-17T00:00:00.000000Z",
"updated_at": "2026-01-07T00:00:00.000000Z"
}
},
{
"id": 8997,
"maxio_customer_id": 310743,
"reference_id": "01-WEJAPLNEV6W-H",
"pdc_id": null,
"gateway_aid": "A548JP59",
"uuid": "512bfff6-4ef0-48d2-9e57-2484513817fa",
"type_id": 7,
"status": "approved",
"name": "United Testing Services (Fujian) Co., Ltd",
"legal_name": "United Testing Services (Fujian) Co., Ltd",
"address_1": "Address: Room 5205, Building C, South of Clothing City, No. 88 Nanyang Road, Lingxiu Town, Shishi, Quanzhou, Fujian, China.",
"address_2": null,
"city": "Shishi",
"state": "Fujian",
"location": "CN",
"zip": "",
"phone": "+86 595 83667715",
"email": "mike.wong@fabricschina.com.cn",
"contact_first_name": "Mike",
"contact_last_name": "User",
"website": "https://www.c-uts.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-01-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:01.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8997,
"id": 30,
"valid_until": "2026-02-01T00:00:00.000000Z",
"created_at": "2023-12-26T00:00:00.000000Z",
"updated_at": "2026-01-30T00:00:00.000000Z"
}
},
{
"id": 10787,
"maxio_customer_id": 312533,
"reference_id": "01-HRBL6KCZEDB-L",
"pdc_id": null,
"gateway_aid": "A576LQ13",
"uuid": "5de3557d-458e-4ccd-a876-9877734d4ab1",
"type_id": 7,
"status": "approved",
"name": "CTC ARS TINCTORIA SRL",
"legal_name": "CTC ARS TINCTORIA SRL",
"address_1": "VIA DEL BOSCO 125 56029",
"address_2": null,
"city": "Santa Croce sull Arno",
"state": "Pisa",
"location": "IT",
"zip": "",
"phone": "+39 0571 35110",
"email": "gdefeo@ctcgroupe.com",
"contact_first_name": "GUSTAVO",
"contact_last_name": "Defeo",
"website": "https://www.ctcgroupe.com/en/",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:26:46.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 10787,
"id": 31,
"valid_until": "2026-04-07T00:00:00.000000Z",
"created_at": "2024-01-15T00:00:00.000000Z",
"updated_at": "2026-03-20T00:00:00.000000Z"
}
},
{
"id": 8594,
"maxio_customer_id": 310341,
"reference_id": "01-S27UDK9KWZR-O",
"pdc_id": null,
"gateway_aid": "A302YG32",
"uuid": "a21868a0-e599-4172-8158-6a2d4530a922",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Taiwan Ltd._MRSL",
"legal_name": "Intertek Testing Services Taiwan Ltd._MRSL",
"address_1": "Floor 10, No.423, Ruiguang Road Neihu Dist.",
"address_2": null,
"city": "Taipei",
"state": "Taipei",
"location": "TW",
"zip": "",
"phone": "+886 2 66022888",
"email": "limei.chu@intertek.com",
"contact_first_name": "Limei",
"contact_last_name": "Chu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:41.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Taiwan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8594,
"id": 32,
"valid_until": "2026-04-14T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8660,
"maxio_customer_id": 310407,
"reference_id": "01-43HF2Y2HCJN-B",
"pdc_id": null,
"gateway_aid": "A350AD73",
"uuid": "2f1af83b-e1a4-414a-90f9-0693967c282e",
"type_id": 7,
"status": "approved",
"name": "FITI Testing & Research Institute",
"legal_name": "FITI Testing & Research Institute",
"address_1": "79, Magokjungang 8-ro 3-gil, Gangseo-gu",
"address_2": null,
"city": "Gangseo",
"state": "Seoul",
"location": "KR",
"zip": "",
"phone": "+82232998222",
"email": "jun_park@fitiglobal.com",
"contact_first_name": "Kelvin JeongYoon",
"contact_last_name": "Lee",
"website": "https://www.fiti.re.kr/en/?sub_num=284",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:54.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "South Korea",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8660,
"id": 33,
"valid_until": "2026-03-30T00:00:00.000000Z",
"created_at": "2023-12-27T00:00:00.000000Z",
"updated_at": "2026-03-13T00:00:00.000000Z"
}
},
{
"id": 5883,
"maxio_customer_id": 307630,
"reference_id": "01-S27UD99XAKV-X",
"pdc_id": null,
"gateway_aid": "A852OE62",
"uuid": "29ebf086-5a21-4246-8672-9d670858901a",
"type_id": 7,
"status": "approved",
"name": "Testtex India Laboratories Private Limited",
"legal_name": "Testtex India Laboratories Private Limited",
"address_1": "301-304 Premsons Industrial Estate, Caves Rd, Jogeshwari East, 400060",
"address_2": null,
"city": "Mumbai",
"state": "Maharashtra",
"location": "IN",
"zip": "400060",
"phone": "+91 22 2825 9190",
"email": "meeta@testtex.com",
"contact_first_name": "Meeta",
"contact_last_name": "Shingala",
"website": "https://www.testtex.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:10:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 5883,
"id": 34,
"valid_until": "2025-12-16T00:00:00.000000Z",
"created_at": "2023-12-21T00:00:00.000000Z",
"updated_at": "2025-12-13T00:00:00.000000Z"
}
},
{
"id": 8655,
"maxio_customer_id": 310402,
"reference_id": "01-E94CYGYYWNV-U",
"pdc_id": null,
"gateway_aid": "A176RO67",
"uuid": "8d09254e-3403-4f40-84a4-f5990f4c5b59",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Bangladesh Pvt. Ltd._MRSL",
"legal_name": "TUV Rheinland Bangladesh Pvt. Ltd._MRSL",
"address_1": "Road 113/A, Plot 17, Aladdin Tower, 5th to 8 th floor 1212",
"address_2": null,
"city": "Dhaka",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "+88229894904",
"email": "Rakesh.Vazirani@tuv.com",
"contact_first_name": "Md Wakil",
"contact_last_name": "Hossain",
"website": "http://www.tuv.com/detox",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:53.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8655,
"id": 35,
"valid_until": "2026-04-05T00:00:00.000000Z",
"created_at": "2024-01-17T00:00:00.000000Z",
"updated_at": "2026-03-11T00:00:00.000000Z"
}
},
{
"id": 8622,
"maxio_customer_id": 310369,
"reference_id": "01-WEJAPXSNQJ7-A",
"pdc_id": null,
"gateway_aid": "A778MT32",
"uuid": "4fcbc012-eef8-4918-a27d-47d3cc1a405a",
"type_id": 7,
"status": "approved",
"name": "UL Italy - IISG Srl_MRSL",
"legal_name": "UL Italy - IISG Srl_MRSL",
"address_1": "via Europa 28, 22060 Cabiate, Italy",
"address_2": null,
"city": "Cabiate",
"state": "Como",
"location": "IT",
"zip": "",
"phone": "+39.031.8125.000",
"email": "luciano.buraschi@ul.com",
"contact_first_name": "Domenico",
"contact_last_name": "Pelle",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-03-23T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:46.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8622,
"id": 36,
"valid_until": "2026-03-12T00:00:00.000000Z",
"created_at": "2024-01-22T00:00:00.000000Z",
"updated_at": "2026-02-24T00:00:00.000000Z"
}
},
{
"id": 9222,
"maxio_customer_id": 310968,
"reference_id": "01-NWZQ9YBUJCH-S",
"pdc_id": null,
"gateway_aid": "A778EY21",
"uuid": "927e09ba-73a3-4402-8593-08028399b05d",
"type_id": 7,
"status": "approved",
"name": "Bay Area Compliance Labs Corp.",
"legal_name": "Bay Area Compliance Labs Corp.",
"address_1": "6/F, the 3rd Phase of Wan Li Industrial Bldg., Shihua Rd., FuTian",
"address_2": null,
"city": "Futian",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "+8675533320018",
"email": "laura.cortes@baclcorp.com",
"contact_first_name": "laura",
"contact_last_name": "Cortes",
"website": "https://www.baclcorp.com.cn",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-12-18T00:00:00.000000Z",
"updated_at": "2026-05-12T15:21:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 9222,
"id": 37,
"valid_until": "2026-04-08T00:00:00.000000Z",
"created_at": "2024-03-23T00:00:00.000000Z",
"updated_at": "2026-03-23T00:00:00.000000Z"
}
},
{
"id": 8639,
"maxio_customer_id": 310386,
"reference_id": "01-LKV6ZNBBGX3-G",
"pdc_id": null,
"gateway_aid": "A800GZ98",
"uuid": "8f14c048-8bc1-4257-b64c-a3d66d4bd67e",
"type_id": 7,
"status": "approved",
"name": "BUREAU VERITAS CONSUMER PRODUCTS SERVICES LANKA (PRIVATE) LIMITED_MRSL",
"legal_name": "BUREAU VERITAS CONSUMER PRODUCTS SERVICES LANKA (PRIVATE) LIMITED_MRSL",
"address_1": "NNo.570,Galle road,Katubedda,Sri Lanka",
"address_2": null,
"city": "Kaduwela",
"state": "Western Province",
"location": "LK",
"zip": "",
"phone": "-",
"email": "sonali.nakandala@bureauveritas.com",
"contact_first_name": "Sanduni",
"contact_last_name": "Nakandala",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-09-29T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:50.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Sri Lanka",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8639,
"id": 38,
"valid_until": "2026-04-06T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-03T00:00:00.000000Z"
}
},
{
"id": 5893,
"maxio_customer_id": 307640,
"reference_id": "01-E94CY66BUDP-U",
"pdc_id": null,
"gateway_aid": "A344OJ22",
"uuid": "ac420973-b93a-4a2a-93aa-22a24106a0e1",
"type_id": 7,
"status": "approved",
"name": "BUREAU VERITAS SINGAPORE PTE LTD_MRSL",
"legal_name": "BUREAU VERITAS SINGAPORE PTE LTD_MRSL",
"address_1": "37A, Tampines Street 92,#06-‐01 Singapore, 528886",
"address_2": null,
"city": "Singapore City",
"state": "Singapore",
"location": "SG",
"zip": "528886",
"phone": "-",
"email": "kenny.mak@bureauveritas.com",
"contact_first_name": "Ya Nan",
"contact_last_name": "Wang",
"website": "https://group.bureauveritas.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2022-05-13T00:00:00.000000Z",
"updated_at": "2026-05-12T15:10:46.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Singapore",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 5893,
"id": 39,
"valid_until": "2026-03-05T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-03-02T00:00:00.000000Z"
}
},
{
"id": 8630,
"maxio_customer_id": 310377,
"reference_id": "01-WEJAPXSWJTS-K",
"pdc_id": null,
"gateway_aid": "A851GA58",
"uuid": "afb9e014-db7b-4592-bbf8-af96548ccfb7",
"type_id": 7,
"status": "approved",
"name": "Eurofins MTS Consumer Product Testing (Shanghai) Co. Ltd",
"legal_name": "Eurofins MTS Consumer Product Testing (Shanghai) Co. Ltd",
"address_1": "No.105 Guangzhong Rd. Zhuanqiao Town, Shanghai",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "viviangu@mts-global.com",
"contact_first_name": "Eddie",
"contact_last_name": "Zhang",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-22T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8630,
"id": 40,
"valid_until": "2026-03-30T00:00:00.000000Z",
"created_at": "2023-12-22T00:00:00.000000Z",
"updated_at": "2026-03-04T00:00:00.000000Z"
}
},
{
"id": 7750,
"maxio_customer_id": 309497,
"reference_id": "01-9P3HLLPPYNX-Z",
"pdc_id": null,
"gateway_aid": "A662FL36",
"uuid": "5bb6931d-2655-4a04-9964-d56ccc04f387",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Thailand Ltd._MRSL",
"legal_name": "TUV Rheinland Thailand Ltd._MRSL",
"address_1": "123/1, Soi Chalongkung 31 Ladkrabang lndustrial Estate Lamplatew, Ladkrabang Bangkok 10520",
"address_2": null,
"city": "Lat Krabang",
"state": "Bangkok",
"location": "TH",
"zip": "10520",
"phone": "+66 2 326-1333",
"email": "Rakesh.Vazirani@tuv.com",
"contact_first_name": "Nutkritta",
"contact_last_name": "Thongdee",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-03-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:58.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Thailand",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7750,
"id": 41,
"valid_until": "2026-02-04T00:00:00.000000Z",
"created_at": "2023-12-22T00:00:00.000000Z",
"updated_at": "2025-12-18T00:00:00.000000Z"
}
},
{
"id": 2094,
"maxio_customer_id": 303756,
"reference_id": "01-BUKVWT7CHL4-H",
"pdc_id": null,
"gateway_aid": "A155YG88",
"uuid": "42162b76-c772-4463-9d2f-31603764cb32",
"type_id": 7,
"status": "approved",
"name": "VERIS IMPACT",
"legal_name": "VERIS IMPACT",
"address_1": "B-88, AEES, Gulistan e jauhar, Block-8, Karachi 75290 Pakistan",
"address_2": null,
"city": "Karachi",
"state": "Sindh",
"location": "PK",
"zip": "",
"phone": "",
"email": "jamal.gulzar@verisimpact.com",
"contact_first_name": "Jamal",
"contact_last_name": "Gulzar",
"website": "https://www.verisimpact.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2026-03-13T00:00:00.000000Z",
"updated_at": "2026-05-12T14:52:31.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Pakistan",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 2094,
"id": 42,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2026-04-07T00:00:00.000000Z",
"updated_at": "2026-04-13T00:00:00.000000Z"
}
},
{
"id": 8626,
"maxio_customer_id": 310373,
"reference_id": "01-NWZQ9M3DYJV-I",
"pdc_id": null,
"gateway_aid": "A596TF96",
"uuid": "cdb999c3-24f2-422a-ac7d-fb59c73bbce8",
"type_id": 7,
"status": "approved",
"name": "SGS-CSTC Standards Technical Services Co., Ltd. Guangzhou Branch",
"legal_name": "SGS-CSTC Standards Technical Services Co., Ltd. Guangzhou Branch",
"address_1": "198 Kezhu Road, Scientech Park, Guangzhou Economic & Technology Development District, 510663, Guangzhou, China",
"address_2": null,
"city": "Guangzhou",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "00862082155632",
"email": "Ivan.Xie@sgs.com",
"contact_first_name": "Liane",
"contact_last_name": "liu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-04-19T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8626,
"id": 43,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8566,
"maxio_customer_id": 310313,
"reference_id": "01-FBL2N7GV3XN-F",
"pdc_id": null,
"gateway_aid": "A184OQ79",
"uuid": "591df904-4afd-4694-ad6c-e57443f1f3d9",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services (Tianjin) Ltd.",
"legal_name": "Intertek Testing Services (Tianjin) Ltd.",
"address_1": "2-4/F Yishanghutong Building No. 7 Guiyuan Road. Huayuan Hi-Tech Park",
"address_2": null,
"city": "Tianjin",
"state": "Tianjin",
"location": "CN",
"zip": "",
"phone": "+86 22 8371 2202",
"email": "patrick.gong@intertek.com",
"contact_first_name": "Ben",
"contact_last_name": "Cheng ZDHC MRSL",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:36.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8566,
"id": 44,
"valid_until": "2026-04-10T00:00:00.000000Z",
"created_at": "2024-05-11T00:00:00.000000Z",
"updated_at": "2027-10-04T00:00:00.000000Z"
}
},
{
"id": 8588,
"maxio_customer_id": 310335,
"reference_id": "01-S27UDK9JDRR-S",
"pdc_id": null,
"gateway_aid": "A382HL60",
"uuid": "8a53e67d-ba82-4b5c-adde-344dcf5a7067",
"type_id": 7,
"status": "approved",
"name": "Intertek India Private Limited (Banglalore)",
"legal_name": "Intertek India Private Limited (Banglalore)",
"address_1": "No-17/F, Industrial Subrub, Yeshwanthpur, Yeshwanthpur, 560022",
"address_2": null,
"city": "Bengalooru",
"state": "Karnataka",
"location": "IN",
"zip": "",
"phone": "+9140213700",
"email": "Aatheeswaran.s@intertek.com",
"contact_first_name": "Aatheeswaran",
"contact_last_name": "User",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:40.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8588,
"id": 45,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8605,
"maxio_customer_id": 310352,
"reference_id": "01-TMEJGAMW99X-Y",
"pdc_id": null,
"gateway_aid": "A202RF74",
"uuid": "6becb420-a5c0-4a35-97d1-46385b2a564c",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Hong Kong Ltd._MRSL",
"legal_name": "TUV Rheinland Hong Kong Ltd._MRSL",
"address_1": "3-4, 11/F, Fou Wah Industrial Building, 10-16 Pun Shan St, Tsuen Wan",
"address_2": null,
"city": "Hong Kong",
"state": "Hong Kong",
"location": "HK",
"zip": "",
"phone": "+852 2192 1022",
"email": "jet.lee@tuv.com",
"contact_first_name": "Anthony",
"contact_last_name": "TU",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-07T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:43.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Hong Kong SAR China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8605,
"id": 46,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2024-01-02T00:00:00.000000Z",
"updated_at": "2026-04-13T00:00:00.000000Z"
}
},
{
"id": 8562,
"maxio_customer_id": 310309,
"reference_id": "01-E94CYGWMHFQ-T",
"pdc_id": null,
"gateway_aid": "A885GA11",
"uuid": "31f791c4-306c-46d4-b2e1-c75ea3681cdc",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Ltd., Shanghai",
"legal_name": "Intertek Testing Services Ltd., Shanghai",
"address_1": "2/F, Building No. 4 Shanghai Comalong Technology Service Park 889 Yi Shan Road",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "+86 (21) 6120 6060",
"email": "jane.wu@intertek.com",
"contact_first_name": "Jane",
"contact_last_name": "Wu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8562,
"id": 47,
"valid_until": "2026-04-02T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-02T00:00:00.000000Z"
}
},
{
"id": 8623,
"maxio_customer_id": 310370,
"reference_id": "01-2V6NQ8XPXTU-N",
"pdc_id": null,
"gateway_aid": "A113LK71",
"uuid": "94a4ec0d-deca-4397-abbe-2d5c6f09bf28",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Korea Ltd._MRSL",
"legal_name": "Intertek Testing Services Korea Ltd._MRSL",
"address_1": "1F, A-Ju digital tower, 7, Achasan-ro 5-gil, Seongdong-gu 04793 Seoul Korea Republic of",
"address_2": null,
"city": "Seongdong",
"state": "Seoul",
"location": "KR",
"zip": "",
"phone": "-",
"email": "ryan.kwak@intertek.com",
"contact_first_name": "Heloise",
"contact_last_name": "Jeong",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-03-24T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "South Korea",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8623,
"id": 48,
"valid_until": "2026-04-03T00:00:00.000000Z",
"created_at": "2024-02-16T00:00:00.000000Z",
"updated_at": "2026-02-19T00:00:00.000000Z"
}
},
{
"id": 8567,
"maxio_customer_id": 310314,
"reference_id": "01-8ZQM4EKQRV3-B",
"pdc_id": null,
"gateway_aid": "A904AT31",
"uuid": "042f9b98-c0c0-4c76-a85f-75d059a4c9b6",
"type_id": 7,
"status": "approved",
"name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"legal_name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"address_1": "Via Fona di Mezzana, 59100",
"address_2": null,
"city": "Mezzana",
"state": "Prato",
"location": "IT",
"zip": "",
"phone": "+390574591343",
"email": "giancarlo.diblasi@brachi.it",
"contact_first_name": "Giancarlo",
"contact_last_name": "Di Blasi",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:36.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8567,
"id": 49,
"valid_until": "2026-04-13T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-10T00:00:00.000000Z"
}
},
{
"id": 8633,
"maxio_customer_id": 310380,
"reference_id": "01-ZJAX39WTFF9-R",
"pdc_id": null,
"gateway_aid": "A840WS25",
"uuid": "f31fac18-eefb-49c7-aae5-6b9b6d2f83c9",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (Guangzhou) Co.,Ltd_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (Guangzhou) Co.,Ltd_MRSL",
"address_1": "No.183, Shi Nan Road, Mei Lin Plaza Block B, Dong",
"address_2": null,
"city": "Guangzhou",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "-",
"email": "nina.ren@bureauveritas.com",
"contact_first_name": "Nina",
"contact_last_name": "REN",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-14T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8633,
"id": 50,
"valid_until": "2026-04-01T00:00:00.000000Z",
"created_at": "2024-01-30T00:00:00.000000Z",
"updated_at": "2026-03-23T00:00:00.000000Z"
}
},
{
"id": 8624,
"maxio_customer_id": 310371,
"reference_id": "01-TMEJGAYYMHY-G",
"pdc_id": null,
"gateway_aid": "A532HF62",
"uuid": "124965cc-6ec7-421e-ac31-5da3569ebe85",
"type_id": 7,
"status": "approved",
"name": "SGS Vietnam Ltd (Ho Chi Minh)_MRSL",
"legal_name": "SGS Vietnam Ltd (Ho Chi Minh)_MRSL",
"address_1": "Lot III/21, 19/5A St. Tan Binh Industrial Zone, Tay Thanh 700000",
"address_2": null,
"city": "Tan Phu",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "-",
"email": "rhodora.quinto@sgs.com",
"contact_first_name": "Pham",
"contact_last_name": "DUNG",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-04-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8624,
"id": 51,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-26T00:00:00.000000Z",
"updated_at": "2026-03-31T00:00:00.000000Z"
}
},
{
"id": 7752,
"maxio_customer_id": 309499,
"reference_id": "01-TMEJGGMKYL4-U",
"pdc_id": null,
"gateway_aid": "A380PK51",
"uuid": "c03141ee-796e-45c3-a5e1-5a43cee07a2f",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland India (Gurugram) Pvt. Ltd_MRSL",
"legal_name": "TUV Rheinland India (Gurugram) Pvt. Ltd_MRSL",
"address_1": "Plot no. 330-331, Udyog Vihar – Phase IV, Gurugram – 122015, Haryana, India",
"address_2": null,
"city": "Gurgaon",
"state": "Haryana",
"location": "IN",
"zip": "122015",
"phone": "+91 80 3923 4301",
"email": "Shivendra.Parmar@ind.tuv.com",
"contact_first_name": "Shivendra",
"contact_last_name": "Parmar",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2022-01-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7752,
"id": 52,
"valid_until": "2026-03-16T00:00:00.000000Z",
"created_at": "2024-01-03T00:00:00.000000Z",
"updated_at": "2026-03-05T00:00:00.000000Z"
}
},
{
"id": 8561,
"maxio_customer_id": 310308,
"reference_id": "01-8ZQM4EKZQGH-S",
"pdc_id": null,
"gateway_aid": "A210ZF97",
"uuid": "b922aa67-6b83-458d-be23-ee970e93b795",
"type_id": 7,
"status": "approved",
"name": "ZHEJIANG FANGYUAN TEST GROUP CO., LTD.",
"legal_name": "ZHEJIANG FANGYUAN TEST GROUP CO., LTD.",
"address_1": "No.300 Xiasha Road, Hangzhou Economic & Technological Development Area. 310018 Hangzhou, Zhejiang",
"address_2": null,
"city": "Hangzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "+",
"email": "slc_tc@163.com",
"contact_first_name": "Yahong",
"contact_last_name": "Zhang",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-03-26T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8561,
"id": 53,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-28T00:00:00.000000Z",
"updated_at": "2026-04-16T00:00:00.000000Z"
}
},
{
"id": 8610,
"maxio_customer_id": 310357,
"reference_id": "01-3SRBVLSXB8Z-D",
"pdc_id": null,
"gateway_aid": "A395JH61",
"uuid": "bcdfe895-57a8-4f98-bdc4-90a900de5070",
"type_id": 7,
"status": "approved",
"name": "Intertek Testing Services Shenzhen Ltd. Guangzhou Branch",
"legal_name": "Intertek Testing Services Shenzhen Ltd. Guangzhou Branch",
"address_1": "Room 601, No. 8, East BaoYing Road, Huangpu District, Guangzhou 510730,",
"address_2": null,
"city": "Guangzhou",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "+86 20 28209501",
"email": "vivian.px.li@intertek.com",
"contact_first_name": "Vivian",
"contact_last_name": "Li",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8610,
"id": 54,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-21T00:00:00.000000Z",
"updated_at": "2026-04-20T00:00:00.000000Z"
}
},
{
"id": 8636,
"maxio_customer_id": 310383,
"reference_id": "01-HRBL623CSUQ-H",
"pdc_id": null,
"gateway_aid": "A342QT20",
"uuid": "0fc2a375-0490-4e48-937b-dce8dbed0b81",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services Vietnam_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services Vietnam_MRSL",
"address_1": "Lot C7-C9, Conurbation 2, Cat Lai Industrial Zone, Thanh My Loi Ward, District 2, 700000,Ho Chi Minh City, Vietnam",
"address_2": null,
"city": "Ho Chi Minh City",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "-",
"email": "lina.vo@bureauveritas.com",
"contact_first_name": "Suri",
"contact_last_name": "Tran",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-07-25T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8636,
"id": 55,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-22T00:00:00.000000Z",
"updated_at": "2026-02-09T00:00:00.000000Z"
}
},
{
"id": 8625,
"maxio_customer_id": 310372,
"reference_id": "01-43HF2Y6YTEA-E",
"pdc_id": null,
"gateway_aid": "A574ZY10",
"uuid": "372d85ea-42bc-4aae-a279-db159aa078ee",
"type_id": 7,
"status": "approved",
"name": "SGS-CSTC Standards Technical Services (Shanghai) Co., Ltd._MRSL",
"legal_name": "SGS-CSTC Standards Technical Services (Shanghai) Co., Ltd._MRSL",
"address_1": "4/F, 4thBuilding No. 889, Yishan Rd, Xuhui District, 200030 Shanghai, China",
"address_2": null,
"city": "Xuhui",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "barry.lou@sgs.com",
"contact_first_name": "IVEN",
"contact_last_name": "DI",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-04-05T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:47.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8625,
"id": 56,
"valid_until": "2026-04-13T00:00:00.000000Z",
"created_at": "2024-01-05T00:00:00.000000Z",
"updated_at": "2026-04-08T00:00:00.000000Z"
}
},
{
"id": 8683,
"maxio_customer_id": 310430,
"reference_id": "01-HRBL6228FJ8-G",
"pdc_id": null,
"gateway_aid": "A891GF64",
"uuid": "e879f052-6547-4474-ab20-0105064ca411",
"type_id": 7,
"status": "approved",
"name": "Bureau Veritas Consumer Products Services (I) Pvt. Ltd. (Bangalore)_MRSL",
"legal_name": "Bureau Veritas Consumer Products Services (I) Pvt. Ltd. (Bangalore)_MRSL",
"address_1": "AKR Tech Park, Ground floor, C Block, Survey no 112, Bangalore, 560068,",
"address_2": null,
"city": "Bangalore",
"state": "Karnataka",
"location": "IN",
"zip": "",
"phone": "-",
"email": "sudalaimuthu.vs@bureauveritas.com",
"contact_first_name": "Sudalaimuthu",
"contact_last_name": "VS",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-09-01T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:58.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8683,
"id": 57,
"valid_until": "2026-04-10T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-03-30T00:00:00.000000Z"
}
},
{
"id": 7742,
"maxio_customer_id": 309489,
"reference_id": "01-FBL2NNAL9BR-F",
"pdc_id": null,
"gateway_aid": "A467YQ44",
"uuid": "d5ef0f03-b637-4867-8a6c-0c90d9321202",
"type_id": 7,
"status": "approved",
"name": "Eurofins MTS Consumer Product Testing (Dongguan) Co. Ltd",
"legal_name": "Eurofins MTS Consumer Product Testing (Dongguan) Co. Ltd",
"address_1": "No, 76 Liangping road, Xin jiu wei village, liaobo town, 523400 Dongguan China",
"address_2": null,
"city": "Dongguan City",
"state": "Guangdong",
"location": "CN",
"zip": "523400",
"phone": "-",
"email": "Carol.ke@cpt.eurofinscn.com",
"contact_first_name": "CAROL",
"contact_last_name": "Ke",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-23T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:57.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 7742,
"id": 58,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-17T00:00:00.000000Z"
}
},
{
"id": 8559,
"maxio_customer_id": 310306,
"reference_id": "01-CHFY7SAA6R2-Y",
"pdc_id": null,
"gateway_aid": "A679WF94",
"uuid": "151e16f6-d103-4c78-b303-8c7e8336b661",
"type_id": 7,
"status": "approved",
"name": "Centre Testing International Group Co., Ltd. (CTI)",
"legal_name": "Centre Testing International Group Co., Ltd. (CTI)",
"address_1": "CTI Building, No.4, Liuxian 3rd Road, Xin’an Street, Bao’an District",
"address_2": null,
"city": "Shenzhen",
"state": "Guangdong",
"location": "CN",
"zip": "",
"phone": "+",
"email": "kevin.lu@cti-cert.com",
"contact_first_name": "Kevin",
"contact_last_name": "Lu",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-01-29T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8559,
"id": 59,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-15T00:00:00.000000Z"
}
},
{
"id": 5835,
"maxio_customer_id": 307582,
"reference_id": "01-8ZQM4BGUY6M-T",
"pdc_id": null,
"gateway_aid": "A826RC45",
"uuid": "f13d4431-8b6d-422e-a91c-4cbbc52987fa",
"type_id": 7,
"status": "approved",
"name": "Nimkartek Technical Services Pvt Ltd",
"legal_name": "Nimkartek Technical Services Pvt Ltd",
"address_1": "3rd Floor, Narmada, Laxmi Industrial Complex, Vartak Nagar, Pokhran Road 1",
"address_2": null,
"city": "",
"state": "Maharashtra",
"location": "IN",
"zip": "400606",
"phone": "+91 9819641527",
"email": "anagha.nimkar@nimkartek.com",
"contact_first_name": "Anagha",
"contact_last_name": "Nimkar",
"website": "https://www.nimkartek.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:10:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 5835,
"id": 60,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-13T00:00:00.000000Z"
}
},
{
"id": 8662,
"maxio_customer_id": 310409,
"reference_id": "01-S27UDKGPZMN-X",
"pdc_id": null,
"gateway_aid": "A743LA72",
"uuid": "99e5814e-7e90-4d02-b298-63dc490bd043",
"type_id": 7,
"status": "approved",
"name": "Elle.A.Ci.Ti. srl",
"legal_name": "Elle.A.Ci.Ti. srl",
"address_1": "Via Leopardi 11a 22075",
"address_2": null,
"city": "Lurate Caccivio",
"state": "Como",
"location": "IT",
"zip": "",
"phone": "+39031492543",
"email": "e.scudella@elleaciti.com",
"contact_first_name": "Elisa Silvia",
"contact_last_name": "Botto",
"website": "https://www.elleaciti.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:54.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8662,
"id": 61,
"valid_until": "2026-04-15T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2027-12-13T00:00:00.000000Z"
}
},
{
"id": 8569,
"maxio_customer_id": 310316,
"reference_id": "01-S27UDK6VX3D-J",
"pdc_id": null,
"gateway_aid": "A460HH65",
"uuid": "f2d95b47-df0f-4b1f-99ec-47970a5565f8",
"type_id": 7,
"status": "approved",
"name": "TUV Rheinland Vietnam Co., Ltd_MRSL",
"legal_name": "TUV Rheinland Vietnam Co., Ltd_MRSL",
"address_1": "Centre Point, 106 Nguyễn Văn Trỗi, Phường 8, Phú Nhuận Softlines & Hardlines Laboratory Hall 10, Road No.1, Quang Trung Software City, Tan Chanh Hiep Ward",
"address_2": null,
"city": "Phu Nhuan",
"state": "Ho Chi Minh City",
"location": "VN",
"zip": "",
"phone": "+84 28 3842 0600",
"email": "Linh.dao@tuv.com",
"contact_first_name": "Tan Anh",
"contact_last_name": "Nguyen Ngo",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:37.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Vietnam",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8569,
"id": 62,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-15T00:00:00.000000Z"
}
},
{
"id": 8628,
"maxio_customer_id": 310375,
"reference_id": "01-R7UKTVECN3U-G",
"pdc_id": null,
"gateway_aid": "A459HZ44",
"uuid": "e9645cca-9f71-4508-a739-15f3164ff0c8",
"type_id": 7,
"status": "approved",
"name": "CU Inspections & Certifications India Pvt. Ltd",
"legal_name": "CU Inspections & Certifications India Pvt. Ltd",
"address_1": "23rd Floor, B wing • Arihant Aura • Plot no. 13/1, TTC • Opp. Turbhe Railway Station Thane Belapur Road, MIDC side",
"address_2": null,
"city": "Navi Mumbai",
"state": "Maharashtra",
"location": "IN",
"zip": "",
"phone": "-",
"email": "amolp@controlunion.com",
"contact_first_name": "Amol",
"contact_last_name": "Patil",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-12T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8628,
"id": 63,
"valid_until": "2026-04-20T00:00:00.000000Z",
"created_at": "2023-12-20T00:00:00.000000Z",
"updated_at": "2026-04-14T00:00:00.000000Z"
}
},
{
"id": 8719,
"maxio_customer_id": 310465,
"reference_id": "01-MX94FCJMAUJ-M",
"pdc_id": null,
"gateway_aid": "A897PW37",
"uuid": "8692ffd3-513f-4f34-9b8a-1b62490a72e8",
"type_id": 7,
"status": "approved",
"name": "ICEA",
"legal_name": "ICEA",
"address_1": "Via Brugnoli 15",
"address_2": null,
"city": "Bologna",
"state": "Bologna",
"location": "IT",
"zip": "",
"phone": "+39051272986",
"email": "paolo.foglia@icea.bio",
"contact_first_name": "Francesco",
"contact_last_name": "Pazzi",
"website": "https://www.icea.bio",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-04-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:20:05.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8719,
"id": 64,
"valid_until": "2025-04-28T00:00:00.000000Z",
"created_at": "2025-04-24T00:00:00.000000Z",
"updated_at": "2023-07-14T00:00:00.000000Z"
}
},
{
"id": 8629,
"maxio_customer_id": 310376,
"reference_id": "01-R7UKTVEJY9K-J",
"pdc_id": null,
"gateway_aid": "A382AD87",
"uuid": "1e4f95d8-b4fc-4434-9372-024f8ece9c0e",
"type_id": 7,
"status": "approved",
"name": "UL VS Bangladesh Ltd._MRSL",
"legal_name": "UL VS Bangladesh Ltd._MRSL",
"address_1": "The Pearl Trade Center (5th, 14th & 15th Floor), Cha-90/3, Progoti Sharani, North Badda. 1212 Dhaka Bangladesh",
"address_2": null,
"city": "Badda",
"state": "Dhaka",
"location": "BD",
"zip": "",
"phone": "-",
"email": "Ahammad.Hossen@ul.com",
"contact_first_name": "Ahammad",
"contact_last_name": "Hossen",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-15T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Bangladesh",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8629,
"id": 65,
"valid_until": "2024-12-09T00:00:00.000000Z",
"created_at": "2023-12-24T00:00:00.000000Z",
"updated_at": "2024-12-03T00:00:00.000000Z"
}
},
{
"id": 8632,
"maxio_customer_id": 310379,
"reference_id": "01-6TWZXQVDXKG-F",
"pdc_id": null,
"gateway_aid": "A634ZE37",
"uuid": "5e43fd51-7ea0-4d61-bfd4-4da9a4a40366",
"type_id": 7,
"status": "approved",
"name": "UL India Private Limited, Gurugram, India_MRSL",
"legal_name": "UL India Private Limited, Gurugram, India_MRSL",
"address_1": "A12,Infociry,Sector 34, 122001, Gurgaon,Haryana, India",
"address_2": null,
"city": "Gurgaon",
"state": "Haryana",
"location": "IN",
"zip": "",
"phone": "-",
"email": "shashi.b.rout@ul.com",
"contact_first_name": "Shashi",
"contact_last_name": "Rout",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-06-14T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:49.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8632,
"id": 66,
"valid_until": "2025-01-02T00:00:00.000000Z",
"created_at": "2024-12-24T00:00:00.000000Z",
"updated_at": "2024-12-23T00:00:00.000000Z"
}
},
{
"id": 8591,
"maxio_customer_id": 310338,
"reference_id": "01-BUKVW6CCGJJ-A",
"pdc_id": null,
"gateway_aid": "A981IZ54",
"uuid": "35bbdda4-f0d1-46cc-8e06-d0a42bcb2d10",
"type_id": 7,
"status": "approved",
"name": "Eurofins - BLC Leather Technology Centre Ltd",
"legal_name": "Eurofins - BLC Leather Technology Centre Ltd",
"address_1": "Kings Park Road, Moulton Park NN 3 6JD",
"address_2": null,
"city": "Northampton",
"state": "Northamptonshire",
"location": "GB",
"zip": "",
"phone": "+44 1604 679999",
"email": "Georgina.Mawer@cpt.eurofinseu.com",
"contact_first_name": "Georgina",
"contact_last_name": "Mawer",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:41.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United Kingdom",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8591,
"id": 67,
"valid_until": "2026-04-17T00:00:00.000000Z",
"created_at": "2023-12-19T00:00:00.000000Z",
"updated_at": "2026-04-16T00:00:00.000000Z"
}
},
{
"id": 8627,
"maxio_customer_id": 310374,
"reference_id": "01-PYSRKBD4KL7-E",
"pdc_id": null,
"gateway_aid": "A535AF86",
"uuid": "5ed3e4e2-c076-424a-a34a-7e5a0544d49f",
"type_id": 7,
"status": "approved",
"name": "UL VS Shanghai Limited_MRSL",
"legal_name": "UL VS Shanghai Limited_MRSL",
"address_1": "2F, Building 1, Caohejing Hi Tech Park. No.188, PingFu Road, Xu Hui District, 200231 Shanghai China",
"address_2": null,
"city": "Shanghai",
"state": "Shanghai",
"location": "CN",
"zip": "",
"phone": "-",
"email": "Sherry.Xue@ul.com",
"contact_first_name": "sherry",
"contact_last_name": "xue",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2023-05-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:48.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"pivot": {
"ctz_standard_id": 3,
"organisation_id": 8627,
"id": 69,
"valid_until": "2024-04-24T00:00:00.000000Z",
"created_at": "2024-01-19T00:00:00.000000Z",
"updated_at": "2024-01-18T00:00:00.000000Z"
}
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Create a new CTZ Standard
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"dzne\",
\"version\": \"klbgiwmp\",
\"start_date\": \"2026-05-21T16:14:53\",
\"end_date\": \"2026-05-21T16:14:53\",
\"status\": \"FAILED\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "dzne",
"version": "klbgiwmp",
"start_date": "2026-05-21T16:14:53",
"end_date": "2026-05-21T16:14:53",
"status": "FAILED"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"ctz_level_id": 1,
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-13T11:27:29.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a CTZ Standard
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard/3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"zabizuktiucaryemlnp\",
\"version\": \"aemtcrdgmffpo\",
\"start_date\": \"2026-05-21T16:14:53\",
\"end_date\": \"2026-05-21T16:14:53\",
\"status\": \"PASSED\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard/3"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "zabizuktiucaryemlnp",
"version": "aemtcrdgmffpo",
"start_date": "2026-05-21T16:14:53",
"end_date": "2026-05-21T16:14:53",
"status": "PASSED"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"ctz_level_id": 1,
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-13T11:27:29.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Delete a CTZ Standard
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard/3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/ctz-standard/3"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Certification Bodies/V1
CTZ Standard
List CTZ standards
requires authentication
Returns a paginated list of CTZ standards for this certification body.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/ctz-standard?per_page=6&page=1&filter%5Bname%5D=enim&filter%5Bversion%5D=4&filter%5Bctz_level_id%5D=6&filter%5Bctz_level_name%5D=sit&filter%5Bstatus%5D=FAILED&filter%5Bstart_date%5D=%3D+2026-05-27+16%3A14%3A54&filter%5Bend_date%5D=%3C%3D+2026-06-09+16%3A14%3A54&filter%5Bcreated_at%5D=%3D+2026-06-03+16%3A14%3A54&filter%5Bupdated_at%5D=%3C%3D+2026-06-05+16%3A14%3A54&search=reiciendis&sort=name&column=name" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/ctz-standard"
);
const params = {
"per_page": "6",
"page": "1",
"filter[name]": "enim",
"filter[version]": "4",
"filter[ctz_level_id]": "6",
"filter[ctz_level_name]": "sit",
"filter[status]": "FAILED",
"filter[start_date]": "= 2026-05-27 16:14:54",
"filter[end_date]": "<= 2026-06-09 16:14:54",
"filter[created_at]": "= 2026-06-03 16:14:54",
"filter[updated_at]": "<= 2026-06-05 16:14:54",
"search": "reiciendis",
"sort": "name",
"column": "name",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
{
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
MRSL Standard
List MRSL standards
requires authentication
Returns a paginated list of MRSL standards for this certification body.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/mrsl-standard?per_page=17&page=1&filter%5Bname%5D=facere&filter%5Bversion%5D=6&filter%5Bconformance_level_id%5D=8&filter%5Bconformance_level_name%5D=et&filter%5Bstatus%5D=FAILED&filter%5Bstart_date%5D=%3C+2026-05-26+16%3A14%3A54&filter%5Bend_date%5D=%3C+2026-06-03+16%3A14%3A54&filter%5Bcreated_at%5D=%3C+2026-06-10+16%3A14%3A54&filter%5Bupdated_at%5D=%3D+2026-06-18+16%3A14%3A54&search=voluptatum&sort=name&column=name" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/mrsl-standard"
);
const params = {
"per_page": "17",
"page": "1",
"filter[name]": "facere",
"filter[version]": "6",
"filter[conformance_level_id]": "8",
"filter[conformance_level_name]": "et",
"filter[status]": "FAILED",
"filter[start_date]": "< 2026-05-26 16:14:54",
"filter[end_date]": "< 2026-06-03 16:14:54",
"filter[created_at]": "< 2026-06-10 16:14:54",
"filter[updated_at]": "= 2026-06-18 16:14:54",
"search": "voluptatum",
"sort": "name",
"column": "name",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "30-HRBQFLXEEXU-K",
"name": "Brachi Testing Services",
"version": "ZDHC MRSL v2.0",
"start_date": "2020-08-12T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"expired_at": "2026-05-12T15:01:47.000000Z",
"conformance_level_id": 1,
"conformance_level_name": "Level 1"
},
{
"id": 1,
"reference_id": "30-HRBQFLXEEXU-K",
"name": "Brachi Testing Services",
"version": "ZDHC MRSL v2.0",
"start_date": "2020-08-12T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"expired_at": "2026-05-12T15:01:47.000000Z",
"conformance_level_id": 1,
"conformance_level_name": "Level 1"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product Assignment
List product assignments
requires authentication
Returns a paginated list of product assignments for this certification body.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment?per_page=2&page=1&filter%5Bproduct_id%5D=1&filter%5Bproduct_reference_id%5D=et&filter%5Bproduct_name%5D=non&filter%5Bproduct_alternate_names%5D=cumque&filter%5Bassignment_status%5D=UNDER_REVIEW&filter%5Bformulator_id%5D=9&filter%5Bformulator_reference_id%5D=recusandae&filter%5Bformulator_name%5D=rerum&filter%5Bmrsl_level_id%5D=15&filter%5Bctz_level_id%5D=11&filter%5Bassigned_at%5D=%3C+2026-06-12+16%3A14%3A54&filter%5Bupdated_at%5D=%3E%3D+2026-06-12+16%3A14%3A54&filter%5Bproduct_use_types_id%5D=10&filter%5Bproduct_categories_id%5D=10&search=atque&sort=id&column=id" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment"
);
const params = {
"per_page": "2",
"page": "1",
"filter[product_id]": "1",
"filter[product_reference_id]": "et",
"filter[product_name]": "non",
"filter[product_alternate_names]": "cumque",
"filter[assignment_status]": "UNDER_REVIEW",
"filter[formulator_id]": "9",
"filter[formulator_reference_id]": "recusandae",
"filter[formulator_name]": "rerum",
"filter[mrsl_level_id]": "15",
"filter[ctz_level_id]": "11",
"filter[assigned_at]": "< 2026-06-12 16:14:54",
"filter[updated_at]": ">= 2026-06-12 16:14:54",
"filter[product_use_types_id]": "10",
"filter[product_categories_id]": "10",
"search": "atque",
"sort": "id",
"column": "id",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": null,
"product_id": 1,
"product_reference_id": "20-Z4289ZZUE9-W",
"product_name": "A-POLE G-2 [P214AG76]",
"product_description": null,
"product_alternate_names": [
"P214AG76"
],
"formulator_id": 5905,
"formulator_reference_id": "01-3SRBVESEWXG-W",
"formulator_name": "Nicca Chemical Co., Ltd.",
"assignment_status": null,
"mrsl_level_id": null,
"mrsl_level_name": null,
"ctz_level_id": null,
"ctz_level_name": null,
"assigned_at": null,
"updated_at": null
},
{
"id": null,
"product_id": 1,
"product_reference_id": "20-Z4289ZZUE9-W",
"product_name": "A-POLE G-2 [P214AG76]",
"product_description": null,
"product_alternate_names": [
"P214AG76"
],
"formulator_id": 5905,
"formulator_reference_id": "01-3SRBVESEWXG-W",
"formulator_name": "Nicca Chemical Co., Ltd.",
"assignment_status": null,
"mrsl_level_id": null,
"mrsl_level_name": null,
"ctz_level_id": null,
"ctz_level_name": null,
"assigned_at": null,
"updated_at": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a product assignment's certifications
requires authentication
The certifications array in the request body is the complete desired state for this assignment.
After a successful call, the assignment holds exactly those certifications (MRSL rows, and CTZ rows
where applicable). Anything already stored on the assignment that is not included in the request
is removed or deactivated server-side—omitting an existing certification therefore deletes it
from the assignment's active set.
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"certifications\": [
{
\"mrsl_standard_id\": 1,
\"ctz_standard_id\": 1,
\"safety_data_sheet_id\": 1
}
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"certifications": [
{
"mrsl_standard_id": 1,
"ctz_standard_id": 1,
"safety_data_sheet_id": 1
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"assignment_status": "ACCEPTED",
"product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"alternate_names": [
"P397IA55"
],
"description": null,
"version": 1,
"status": "PUBLISHED",
"formulator": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"safety_data_sheets": [
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
}
],
"sds_url": null,
"website_url": null
},
"current_max_mrsl_certification": {
"id": 15779,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
"current_max_ctz_certification": null,
"mrsl_certifications": [
{
"id": 1,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 308,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 553,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 15779,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2027-01-31T00:00:00.000000Z",
"expired_at": null
},
{
"id": 98662,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-31T00:00:00.000000Z",
"expired_at": "2025-01-31T23:59:59.000000Z"
},
{
"id": 224448,
"mrsl_standard": {
"id": 243,
"reference_id": "30-MX97SE4TFV6-Z",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v2.0",
"start_date": "2017-12-05T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"expired_at": "2026-05-12T15:01:47.000000Z",
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2024-01-31T00:00:00.000000Z",
"expired_at": "2024-01-31T23:59:59.000000Z"
}
],
"ctz_certifications": [
{
"id": 265324,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 274036,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 274037,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 274038,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 550773,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-03-06T00:00:00.000000Z",
"expired_at": "2026-03-06T23:59:59.000000Z"
},
{
"id": 658121,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z"
},
{
"id": 658122,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z"
},
{
"id": 658123,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z"
},
{
"id": 658857,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z"
},
{
"id": 658858,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z"
},
{
"id": 658859,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z"
}
],
"assigned_at": "2026-05-14T19:42:10.000000Z",
"updated_at": "2026-05-14T19:42:10.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Bulk-update product assignments
requires authentication
Each element of certifications includes an assignment_id (product assignment row for this CB).
Rows are grouped by that id: for each assignment, the rows with matching assignment_id form the
complete desired state for that assignment only. After the call, each touched assignment holds
exactly those certifications (same replace semantics as the single update endpoint).
The response data is a summary object (counts and IDs), not a product-assignment API resource collection.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/bulk-update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"certifications\": [
{
\"assignment_id\": 1,
\"mrsl_standard_id\": 1,
\"ctz_standard_id\": 1,
\"safety_data_sheet_id\": 1
}
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/bulk-update"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"certifications": [
{
"assignment_id": 1,
"mrsl_standard_id": 1,
"ctz_standard_id": 1,
"safety_data_sheet_id": 1
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, All submitted IDs were eligible and are now updated.):
{
"message": "Product assignments updated successfully",
"data": {
"submitted_count": 2,
"updated_count": 2,
"updated_ids": [
101,
102
],
"not_updateable_count": 0,
"errors": []
}
}
Example response (200, Some submitted IDs could not be updated (e.g. declined between validation and persistence); those IDs appear under `errors`. Same response shape as full success.):
{
"message": "Product assignments partially updated",
"data": {
"submitted_count": 2,
"updated_count": 1,
"updated_ids": [
101
],
"not_updateable_count": 1,
"errors": [
{
"assignment_id": 102,
"error": "Product assignment is already declined"
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Decline a product assignment
requires authentication
Marks the assignment identified in the URL as declined for this certification body.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/1/decline" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reason\": \"Unable to process at this time.\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/1/decline"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reason": "Unable to process at this time."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"assignment_status": "ACCEPTED",
"product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"alternate_names": [
"P397IA55"
],
"description": null,
"version": 1,
"status": "PUBLISHED",
"formulator": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"safety_data_sheets": [
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
}
],
"sds_url": null,
"website_url": null
},
"current_max_mrsl_certification": {
"id": 15779,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
"current_max_ctz_certification": null,
"mrsl_certifications": [
{
"id": 1,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 308,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 553,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 15779,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2027-01-31T00:00:00.000000Z",
"expired_at": null
},
{
"id": 98662,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-31T00:00:00.000000Z",
"expired_at": "2025-01-31T23:59:59.000000Z"
},
{
"id": 224448,
"mrsl_standard": {
"id": 243,
"reference_id": "30-MX97SE4TFV6-Z",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v2.0",
"start_date": "2017-12-05T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"expired_at": "2026-05-12T15:01:47.000000Z",
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2024-01-31T00:00:00.000000Z",
"expired_at": "2024-01-31T23:59:59.000000Z"
}
],
"ctz_certifications": [
{
"id": 265324,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 274036,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 274037,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 274038,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 550773,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-03-06T00:00:00.000000Z",
"expired_at": "2026-03-06T23:59:59.000000Z"
},
{
"id": 658121,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z"
},
{
"id": 658122,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z"
},
{
"id": 658123,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z"
},
{
"id": 658857,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z"
},
{
"id": 658858,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z"
},
{
"id": 658859,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z"
}
],
"assigned_at": "2026-05-14T19:42:10.000000Z",
"updated_at": "2026-05-14T19:42:10.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Bulk-decline product assignments
requires authentication
Marks several assignments as declined in one request. Assignments that are already declined are skipped.
The response data is a summary object (counts and IDs), not a product-assignment API resource collection.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/bulk-decline" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"assignment_ids\": [
101
],
\"reason\": \"Unable to process at this time.\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/bulk-decline"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"assignment_ids": [
101
],
"reason": "Unable to process at this time."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, All submitted IDs were eligible and are now declined.):
{
"message": "Product assignments declined successfully",
"data": {
"submitted_count": 2,
"declined_count": 2,
"declined_ids": [
101,
102
],
"already_declined_count": 0,
"already_declined_ids": []
}
}
Example response (200, Some IDs were already declined; they are listed under `already_declined_ids` (same response shape).):
{
"message": "Product assignments partially declined",
"data": {
"submitted_count": 2,
"declined_count": 1,
"declined_ids": [
101
],
"already_declined_count": 1,
"already_declined_ids": [
102
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a product assignment
requires authentication
Returns one assignment, including related certification and product data.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"assignment_status": "ACCEPTED",
"product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"alternate_names": [
"P397IA55"
],
"description": null,
"version": 1,
"status": "PUBLISHED",
"formulator": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"safety_data_sheets": [
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
}
],
"sds_url": null,
"website_url": null
},
"current_max_mrsl_certification": {
"id": 15779,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
"current_max_ctz_certification": null,
"mrsl_certifications": [
{
"id": 1,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 308,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 553,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 15779,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2027-01-31T00:00:00.000000Z",
"expired_at": null
},
{
"id": 98662,
"mrsl_standard": {
"id": 281,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"expired_at": null,
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-31T00:00:00.000000Z",
"expired_at": "2025-01-31T23:59:59.000000Z"
},
{
"id": 224448,
"mrsl_standard": {
"id": 243,
"reference_id": "30-MX97SE4TFV6-Z",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v2.0",
"start_date": "2017-12-05T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"expired_at": "2026-05-12T15:01:47.000000Z",
"conformance_level_id": 3,
"conformance_level_name": "Level 3"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2024-01-31T00:00:00.000000Z",
"expired_at": "2024-01-31T23:59:59.000000Z"
}
],
"ctz_certifications": [
{
"id": 265324,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 274036,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 274037,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 274038,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": null,
"expired_at": null
},
{
"id": 550773,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2026-03-06T00:00:00.000000Z",
"expired_at": "2026-03-06T23:59:59.000000Z"
},
{
"id": 658121,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z"
},
{
"id": 658122,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z"
},
{
"id": 658123,
"ctz_standard": {
"id": 4,
"name": "CTZ Prov. Progressive — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 2,
"ctz_level_name": "Prov. Progressive"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z"
},
{
"id": 658857,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z"
},
{
"id": 658858,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z"
},
{
"id": 658859,
"ctz_standard": {
"id": 3,
"name": "CTZ Foundational — 1.0.0",
"version": "1.0.0",
"start_date": "2023-12-19T00:00:00.000000Z",
"end_date": null,
"status": "PASSED",
"expired_at": null,
"ctz_level_id": 1,
"ctz_level_name": "Foundational"
},
"safety_data_sheet": {
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"version": 1,
"locale": "en",
"uploaded_by": {
"id": 6267,
"name": "Meghmani Dyes and Intermediates LLP",
"reference_id": "01-76N8M6UUCZG-Y"
},
"file_url": null
},
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z"
}
],
"assigned_at": "2026-05-14T19:42:10.000000Z",
"updated_at": "2026-05-14T19:42:10.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download a safety data sheet
requires authentication
Returns the SDS file for the chemical product linked to the given assignment.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/impedit/safety-data-sheet/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/certification-bodies/v1/1/product-assignment/impedit/safety-data-sheet/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
file
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Chemical
Chemcheck Report
Show
requires authentication
Show the chemcheck report as a pdf
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/chemcheck-report" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/chemcheck-report"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
content of the pdf
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Chemcheck Summary Report
Show
requires authentication
Show the ChemCheck Summary report as a PDF.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/chemcheck-summary-report/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/chemcheck-summary-report/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
content of the pdf
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Activity logs
Index
requires authentication
List available activity logs for chemical actions
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/activity-logs?sort=context-%3Eproduct_id&filter%5Bproduct_id%5D=20&filter%5Bproduct_reference_id%5D=totam&filter%5Bmrsl_standard_name%5D=voluptatem&filter%5Bmrsl_standard_reference_id%5D=voluptate&filter%5Bctz_standard_name%5D=voluptatem&filter%5Baction_type%5D=iure&filter%5Buser_name%5D=perspiciatis&filter%5Bcreated_at%5D=fugit&column=context-%3Eproduct_id&search=error&page=1&per_page=14" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/activity-logs"
);
const params = {
"sort": "context->product_id",
"filter[product_id]": "20",
"filter[product_reference_id]": "totam",
"filter[mrsl_standard_name]": "voluptatem",
"filter[mrsl_standard_reference_id]": "voluptate",
"filter[ctz_standard_name]": "voluptatem",
"filter[action_type]": "iure",
"filter[user_name]": "perspiciatis",
"filter[created_at]": "fugit",
"column": "context->product_id",
"search": "error",
"page": "1",
"per_page": "14",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 82
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Inventory
Bulk Store
requires authentication
Create or update one or more chemical inventories and their products in a single request.
Inventories can only be submitted or modified within 45 days after the end of the reporting month. The submission window closes at the end of that period (the last eligible day is 45 days after the month ends).
For example, for April 2026 (reporting month ending 30 April 2026), the window closes on 14 June 2026. Requests for a reporting period after this date are rejected.
When the window has closed, the API responds with 422 Unprocessable Entity and a message such as:
The deadline for submitting or modifying inventory for April 2026 has passed.
Solution providers should surface this error to suppliers so they understand that resubmission is no longer possible for that period.
Inventories for a future reporting month are also rejected with 422 (The inventory date cannot be in the future.).
If a supplier takes no action on a submitted inventory within 45 days, the Performance InCheck is automatically published without requiring explicit supplier approval. This affects how solution providers should design polling and notification logic around submitted inventories awaiting supplier review.
Solution providers do not need to implement custom timeouts or trigger publish themselves — the platform runs a daily job that auto-publishes eligible inventories. Monitor inventory status via the API instead of enforcing your own deadline.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/bulk/store" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"inventories\": [
{
\"year\": 5,
\"month\": 4,
\"submit\": false,
\"type\": \"unspecified\",
\"products\": [
{
\"chemical_product_id\": 19,
\"formulator_name\": \"qscany\",
\"name\": \"esse\",
\"weight\": 72
}
]
}
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/bulk/store"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"inventories": [
{
"year": 5,
"month": 4,
"submit": false,
"type": "unspecified",
"products": [
{
"chemical_product_id": 19,
"formulator_name": "qscany",
"name": "esse",
"weight": 72
}
]
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Index
requires authentication
Show chemical inventories
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory?per_page=5&filter%5Bsupplier_id%5D=12&filter%5Byear%5D=14&filter%5Bmonth%5D=17&filter%5Bstatus%5D=tenetur&filter%5Breference_id%5D=inventore&sort=year&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory"
);
const params = {
"per_page": "5",
"filter[supplier_id]": "12",
"filter[year]": "14",
"filter[month]": "17",
"filter[status]": "tenetur",
"filter[reference_id]": "inventore",
"sort": "year",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "40-4SLWVAK6HPG-B",
"submitting_user_id": null,
"submitting_organisation_id": null,
"supplier_id": 13680,
"period": "2019-05-01T00:00:00.000000Z",
"type": "unspecified",
"status": "published",
"auto_published": 0,
"published_at": "2020-08-07T00:00:00.000000Z",
"submitted_at": "2020-08-07T00:00:00.000000Z",
"declined_at": null,
"declined_reason": null,
"declined_additional_info": null,
"created_at": "2026-05-19T08:41:21.000000Z",
"updated_at": "2026-05-19T09:32:48.000000Z",
"expected_expiration": "2020-09-20T23:59:59.999999Z",
"publishable": false,
"published_inventory": {
"id": 1,
"level": {
"id": 2,
"name": "Level 1",
"created_at": "2026-05-08T21:42:24.000000Z",
"updated_at": "2026-05-19T11:35:13.000000Z"
}
},
"organisation": {
"id": 13680,
"maxio_customer_id": 315360,
"reference_id": "01-S27UGVEFKZ9-Q",
"pdc_id": null,
"gateway_aid": "A419RY42",
"uuid": "49d6452f-9cce-4ecc-a841-29a69647b810",
"type_id": 2,
"status": "approved",
"name": "Combined Fabrics Ltd",
"legal_name": "Combined Fabrics Ltd",
"address_1": "Atta Buksh Road (off Bank Stop) 17 KM Ferozpur Road Lahore",
"address_2": null,
"city": "Lahore",
"state": "Punjab",
"location": "PK",
"zip": "54760",
"phone": "009242111266246",
"email": "raja.naukhaiz@combinedfabrics.com",
"contact_first_name": "Waleed Yousaf",
"contact_last_name": "Butt",
"website": "https://www.combinedfabrics.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2018-05-08T06:00:48.000000Z",
"updated_at": "2026-05-12T15:36:12.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Pakistan"
}
},
{
"id": 1,
"reference_id": "40-4SLWVAK6HPG-B",
"submitting_user_id": null,
"submitting_organisation_id": null,
"supplier_id": 13680,
"period": "2019-05-01T00:00:00.000000Z",
"type": "unspecified",
"status": "published",
"auto_published": 0,
"published_at": "2020-08-07T00:00:00.000000Z",
"submitted_at": "2020-08-07T00:00:00.000000Z",
"declined_at": null,
"declined_reason": null,
"declined_additional_info": null,
"created_at": "2026-05-19T08:41:21.000000Z",
"updated_at": "2026-05-19T09:32:48.000000Z",
"expected_expiration": "2020-09-20T23:59:59.999999Z",
"publishable": false,
"published_inventory": {
"id": 1,
"level": {
"id": 2,
"name": "Level 1",
"created_at": "2026-05-08T21:42:24.000000Z",
"updated_at": "2026-05-19T11:35:13.000000Z"
}
},
"organisation": {
"id": 13680,
"maxio_customer_id": 315360,
"reference_id": "01-S27UGVEFKZ9-Q",
"pdc_id": null,
"gateway_aid": "A419RY42",
"uuid": "49d6452f-9cce-4ecc-a841-29a69647b810",
"type_id": 2,
"status": "approved",
"name": "Combined Fabrics Ltd",
"legal_name": "Combined Fabrics Ltd",
"address_1": "Atta Buksh Road (off Bank Stop) 17 KM Ferozpur Road Lahore",
"address_2": null,
"city": "Lahore",
"state": "Punjab",
"location": "PK",
"zip": "54760",
"phone": "009242111266246",
"email": "raja.naukhaiz@combinedfabrics.com",
"contact_first_name": "Waleed Yousaf",
"contact_last_name": "Butt",
"website": "https://www.combinedfabrics.com",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2018-05-08T06:00:48.000000Z",
"updated_at": "2026-05-12T15:36:12.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Pakistan"
}
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Store a new chemical inventory
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"year\": 20,
\"month\": 6,
\"submit\": true,
\"type\": \"unspecified\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"year": 20,
"month": 6,
"submit": true,
"type": "unspecified"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update an existing chemical inventory
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"year\": 16,
\"month\": 5,
\"submit\": false,
\"type\": \"unspecified\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"year": 16,
"month": 5,
"submit": false,
"type": "unspecified"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Decline
requires authentication
Decline a chemical inventory
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/1/decline" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reason\": \"Non-compliance with MRSL requirements\",
\"additional_info\": \"officiis\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/1/decline"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reason": "Non-compliance with MRSL requirements",
"additional_info": "officiis"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Publish
requires authentication
Publish a chemical inventory. Only one report can be published per month. Higher-level reports can upgrade (replace) lower-level published reports.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/1/publish" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/1/publish"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Inventory Product
Index
requires authentication
List all products of a given inventory
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/et/product?per_page=6&search=quia&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/et/product"
);
const params = {
"per_page": "6",
"search": "quia",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"supplier_chemical_inventory_id": 1,
"chemical_product_id": null,
"formulator_name": "",
"weight": 0,
"name": "[No product name] #584543",
"created_at": "2026-05-19T08:41:21.000000Z",
"updated_at": "2026-05-19T08:41:21.000000Z",
"original_product": null
},
{
"id": 1,
"supplier_chemical_inventory_id": 1,
"chemical_product_id": null,
"formulator_name": "",
"weight": 0,
"name": "[No product name] #584543",
"created_at": "2026-05-19T08:41:21.000000Z",
"updated_at": "2026-05-19T08:41:21.000000Z",
"original_product": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Store a custom product
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/enim/product" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"chemical_product_id\": 8,
\"formulator_name\": \"oxkewkjkmdpnvlcppwwozx\",
\"name\": \"laboriosam\",
\"weight\": 57
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/enim/product"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"chemical_product_id": 8,
"formulator_name": "oxkewkjkmdpnvlcppwwozx",
"name": "laboriosam",
"weight": 57
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a custom product
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/iure/product/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"chemical_product_id\": 20,
\"formulator_name\": \"dybydygzrstifhe\",
\"name\": \"enim\",
\"weight\": 84
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/iure/product/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"chemical_product_id": 20,
"formulator_name": "dybydygzrstifhe",
"name": "enim",
"weight": 84
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Destroy a custom product
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/perferendis/product/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/inventory/perferendis/product/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product
Index
requires authentication
Get Products
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product?per_page=2&page=1&filter%5Bconformance_level_id%5D=19&filter%5Bctz_level_id%5D=1&search=sunt&sort=chemical_products.id&column=chemical_products.id" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"filter\": {
\"name\": \"kzkuvslrptbavkrrdeud\",
\"organisations__dot__3VgoU1G8AH8ljIWTname\": \"shpxztpiwrcnsngdzyvucurxthaedonqrxvktpocthyckbdprovo\"
},
\"search\": \"svlwxbrzyxvsiztfoebkrhyhehtyrdaowctf\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product"
);
const params = {
"per_page": "2",
"page": "1",
"filter[conformance_level_id]": "19",
"filter[ctz_level_id]": "1",
"search": "sunt",
"sort": "chemical_products.id",
"column": "chemical_products.id",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"filter": {
"name": "kzkuvslrptbavkrrdeud",
"organisations__dot__3VgoU1G8AH8ljIWTname": "shpxztpiwrcnsngdzyvucurxthaedonqrxvktpocthyckbdprovo"
},
"search": "svlwxbrzyxvsiztfoebkrhyhehtyrdaowctf"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": "",
"conformance_level": null,
"ctz_level": null
},
{
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": "",
"conformance_level": null,
"ctz_level": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Search by name cached
requires authentication
Search all products by name cached
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/search-by-name-cached?filter%5Bname%5D=voluptates&per_page=5&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"filter\": {
\"name\": \"emhrkqdvxxcwn\",
\"organisations__dot__3VgoU1G8AH8ljIWTname\": \"dvoysldszoxaymyjfeyqvzuamcddlezhaxjcchoiiqbxailbz\"
},
\"search\": \"fzkrufttbxclisifpcbxcpljnnvrkyvmxcurgigaoinulfqmocohfyxfdoelmbkgjmhtdn\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/search-by-name-cached"
);
const params = {
"filter[name]": "voluptates",
"per_page": "5",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"filter": {
"name": "emhrkqdvxxcwn",
"organisations__dot__3VgoU1G8AH8ljIWTname": "dvoysldszoxaymyjfeyqvzuamcddlezhaxjcchoiiqbxailbz"
},
"search": "fzkrufttbxclisifpcbxcpljnnvrkyvmxcurgigaoinulfqmocohfyxfdoelmbkgjmhtdn"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": [
{
"reference_id": "20-Z4289ZZUE9-W",
"name": "A-POLE G-2 [P214AG76]"
},
{
"reference_id": "20-Z4289ZZUE9-W",
"name": "A-POLE G-2 [P214AG76]"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show a product
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/accusantium" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/accusantium"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": "",
"organisation": {
"id": 5905,
"reference_id": "01-3SRBVESEWXG-W",
"type_id": 6,
"name": "Nicca Chemical Co., Ltd.",
"address_1": "4-23-1 Bunkyo",
"address_2": null,
"city": "Fukui",
"state": "Fukui",
"location": "JP",
"zip": "910-8670",
"phone": "+81-776-25-8646",
"email": "zdhc@niccachemical.com",
"website": "https://nctexchem.com",
"avatar_url": null,
"location_name": "Japan"
},
"conformance_level": null,
"ctz_level": null,
"highest_mrsl_certification": null,
"highest_ctz_certification": null,
"certification_body_assignments": [],
"safety_data_sheets": [
{
"id": 91697,
"file_name": "A-POLE G-2 20170830.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 1,
"organisation_id": 5905,
"created_at": "2017-10-06T05:21:29.000000Z",
"updated_at": "2018-09-03T04:45:46.000000Z",
"file_url": "",
"chemical_product": {
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"certified_safety_data_sheets": [],
"use_types": [
{
"id": 264,
"name": "Softening agents",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:47.000000Z",
"updated_at": "2026-05-08T21:42:47.000000Z",
"pivot": {
"chemical_product_id": 1,
"product_use_type_id": 264,
"id": 31058
},
"categories": [
{
"id": 2,
"name": "Textile Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 2
},
"substrates": [
{
"id": 2,
"name": "Textile",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 2,
"product_substrate_id": 2
}
}
]
},
{
"id": 62,
"name": "Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-10T02:33:42.000000Z",
"updated_at": "2026-05-10T02:33:42.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 62
},
"substrates": []
}
]
}
],
"activity_logs": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Store a product
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=ugpwvssvrug"\
--form "description=Aspernatur qui distinctio sint quos non aperiam."\
--form "alternate_names[]=xgnvcnfmtlqvbj"\
--form "use_types[]=19"\
--form "certification_bodies[]=11"\
--form "chemical_formulator_id=20"\
--form "sds_url=http://www.corkery.net/laboriosam-dolore-quis-consequatur-fugiat-est-aut.html"\
--form "website_url=http://bartell.com/dicta-beatae-quo-voluptate-culpa-doloribus-autem"\
--form "safety_data_sheet=@/tmp/phpkNnjIL" \
--form "technical_data_sheet=@/tmp/phpPfiPEM" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'ugpwvssvrug');
body.append('description', 'Aspernatur qui distinctio sint quos non aperiam.');
body.append('alternate_names[]', 'xgnvcnfmtlqvbj');
body.append('use_types[]', '19');
body.append('certification_bodies[]', '11');
body.append('chemical_formulator_id', '20');
body.append('sds_url', 'http://www.corkery.net/laboriosam-dolore-quis-consequatur-fugiat-est-aut.html');
body.append('website_url', 'http://bartell.com/dicta-beatae-quo-voluptate-culpa-doloribus-autem');
body.append('safety_data_sheet', document.querySelector('input[name="safety_data_sheet"]').files[0]);
body.append('technical_data_sheet', document.querySelector('input[name="technical_data_sheet"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": "",
"organisation": {
"id": 5905,
"reference_id": "01-3SRBVESEWXG-W",
"type_id": 6,
"name": "Nicca Chemical Co., Ltd.",
"address_1": "4-23-1 Bunkyo",
"address_2": null,
"city": "Fukui",
"state": "Fukui",
"location": "JP",
"zip": "910-8670",
"phone": "+81-776-25-8646",
"email": "zdhc@niccachemical.com",
"website": "https://nctexchem.com",
"avatar_url": null,
"location_name": "Japan"
},
"conformance_level": null,
"ctz_level": null,
"highest_mrsl_certification": null,
"highest_ctz_certification": null,
"certification_body_assignments": [],
"safety_data_sheets": [
{
"id": 91697,
"file_name": "A-POLE G-2 20170830.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 1,
"organisation_id": 5905,
"created_at": "2017-10-06T05:21:29.000000Z",
"updated_at": "2018-09-03T04:45:46.000000Z",
"file_url": "",
"chemical_product": {
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"certified_safety_data_sheets": [],
"use_types": [
{
"id": 264,
"name": "Softening agents",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:47.000000Z",
"updated_at": "2026-05-08T21:42:47.000000Z",
"pivot": {
"chemical_product_id": 1,
"product_use_type_id": 264,
"id": 31058
},
"categories": [
{
"id": 2,
"name": "Textile Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 2
},
"substrates": [
{
"id": 2,
"name": "Textile",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 2,
"product_substrate_id": 2
}
}
]
},
{
"id": 62,
"name": "Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-10T02:33:42.000000Z",
"updated_at": "2026-05-10T02:33:42.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 62
},
"substrates": []
}
]
}
],
"activity_logs": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a product
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/maxime" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=tedqzrvgnrvfvzcnv"\
--form "description=Aut neque dolor rem incidunt illo velit."\
--form "alternate_names[]=elxnesebhieujzrnncxnbblc"\
--form "use_types[]=8"\
--form "certification_bodies[]=2"\
--form "chemical_formulator_id=4"\
--form "sds_url=http://ebert.info/id-aut-ex-enim-eius-iure-numquam-minus-error"\
--form "website_url=http://sauer.com/ut-nemo-qui-voluptas-sit-asperiores-corporis-voluptatem"\
--form "safety_data_sheet=@/tmp/phpKPBaDN" \
--form "technical_data_sheet=@/tmp/phpnFFeDN" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/maxime"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'tedqzrvgnrvfvzcnv');
body.append('description', 'Aut neque dolor rem incidunt illo velit.');
body.append('alternate_names[]', 'elxnesebhieujzrnncxnbblc');
body.append('use_types[]', '8');
body.append('certification_bodies[]', '2');
body.append('chemical_formulator_id', '4');
body.append('sds_url', 'http://ebert.info/id-aut-ex-enim-eius-iure-numquam-minus-error');
body.append('website_url', 'http://sauer.com/ut-nemo-qui-voluptas-sit-asperiores-corporis-voluptatem');
body.append('safety_data_sheet', document.querySelector('input[name="safety_data_sheet"]').files[0]);
body.append('technical_data_sheet', document.querySelector('input[name="technical_data_sheet"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": "",
"organisation": {
"id": 5905,
"reference_id": "01-3SRBVESEWXG-W",
"type_id": 6,
"name": "Nicca Chemical Co., Ltd.",
"address_1": "4-23-1 Bunkyo",
"address_2": null,
"city": "Fukui",
"state": "Fukui",
"location": "JP",
"zip": "910-8670",
"phone": "+81-776-25-8646",
"email": "zdhc@niccachemical.com",
"website": "https://nctexchem.com",
"avatar_url": null,
"location_name": "Japan"
},
"conformance_level": null,
"ctz_level": null,
"highest_mrsl_certification": null,
"highest_ctz_certification": null,
"certification_body_assignments": [],
"safety_data_sheets": [
{
"id": 91697,
"file_name": "A-POLE G-2 20170830.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 1,
"organisation_id": 5905,
"created_at": "2017-10-06T05:21:29.000000Z",
"updated_at": "2018-09-03T04:45:46.000000Z",
"file_url": "",
"chemical_product": {
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"certified_safety_data_sheets": [],
"use_types": [
{
"id": 264,
"name": "Softening agents",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:47.000000Z",
"updated_at": "2026-05-08T21:42:47.000000Z",
"pivot": {
"chemical_product_id": 1,
"product_use_type_id": 264,
"id": 31058
},
"categories": [
{
"id": 2,
"name": "Textile Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 2
},
"substrates": [
{
"id": 2,
"name": "Textile",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 2,
"product_substrate_id": 2
}
}
]
},
{
"id": 62,
"name": "Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-10T02:33:42.000000Z",
"updated_at": "2026-05-10T02:33:42.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 62
},
"substrates": []
}
]
}
],
"activity_logs": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Toggle Publish
requires authentication
Toggle the publish status of a product
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/et/toggle-publish" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/et/toggle-publish"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": "",
"organisation": {
"id": 5905,
"reference_id": "01-3SRBVESEWXG-W",
"type_id": 6,
"name": "Nicca Chemical Co., Ltd.",
"address_1": "4-23-1 Bunkyo",
"address_2": null,
"city": "Fukui",
"state": "Fukui",
"location": "JP",
"zip": "910-8670",
"phone": "+81-776-25-8646",
"email": "zdhc@niccachemical.com",
"website": "https://nctexchem.com",
"avatar_url": null,
"location_name": "Japan"
},
"conformance_level": null,
"ctz_level": null,
"highest_mrsl_certification": null,
"highest_ctz_certification": null,
"certification_body_assignments": [],
"safety_data_sheets": [
{
"id": 91697,
"file_name": "A-POLE G-2 20170830.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 1,
"organisation_id": 5905,
"created_at": "2017-10-06T05:21:29.000000Z",
"updated_at": "2018-09-03T04:45:46.000000Z",
"file_url": "",
"chemical_product": {
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"certified_safety_data_sheets": [],
"use_types": [
{
"id": 264,
"name": "Softening agents",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:47.000000Z",
"updated_at": "2026-05-08T21:42:47.000000Z",
"pivot": {
"chemical_product_id": 1,
"product_use_type_id": 264,
"id": 31058
},
"categories": [
{
"id": 2,
"name": "Textile Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 2
},
"substrates": [
{
"id": 2,
"name": "Textile",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 2,
"product_substrate_id": 2
}
}
]
},
{
"id": 62,
"name": "Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-10T02:33:42.000000Z",
"updated_at": "2026-05-10T02:33:42.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 62
},
"substrates": []
}
]
}
],
"activity_logs": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Destroy a product
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/consequatur" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/consequatur"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Product deleted successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download Safety Data Sheet (by id, product owner context)
requires authentication
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/safety-data-sheet/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/safety-data-sheet/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
file
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download Technical Data Sheet
requires authentication
Download a technical data sheet
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/technical-data-sheet" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/technical-data-sheet"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
file
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product public profile
Download Public Safety Data Sheet
requires authentication
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/safety-data-sheet/public" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/safety-data-sheet/public"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
file
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Public product profile
requires authentication
Get a public product profile
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/public-profile" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/public-profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation": {
"id": 5905,
"reference_id": "01-3SRBVESEWXG-W",
"type_id": 6,
"name": "Nicca Chemical Co., Ltd.",
"address_1": "4-23-1 Bunkyo",
"address_2": null,
"city": "Fukui",
"state": "Fukui",
"location": "JP",
"zip": "910-8670",
"phone": "+81-776-25-8646",
"email": "zdhc@niccachemical.com",
"website": "https://nctexchem.com",
"avatar_url": null,
"location_name": "Japan"
},
"name": "A-POLE G-2 [P214AG76]",
"description": null,
"alternate_names": [
"P214AG76"
],
"version": 1,
"status": "DRAFT",
"technical_data_sheet_url": null,
"conformance_level": null,
"ctz_level": null,
"use_types": [
{
"id": 264,
"name": "Softening agents",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:47.000000Z",
"updated_at": "2026-05-08T21:42:47.000000Z",
"pivot": {
"chemical_product_id": 1,
"product_use_type_id": 264,
"id": 31058
},
"categories": [
{
"id": 2,
"name": "Textile Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 2
},
"substrates": [
{
"id": 2,
"name": "Textile",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 2,
"product_substrate_id": 2
}
}
]
},
{
"id": 62,
"name": "Finishing Assistants",
"is_inactive": 0,
"created_at": "2026-05-10T02:33:42.000000Z",
"updated_at": "2026-05-10T02:33:42.000000Z",
"pivot": {
"product_use_type_id": 264,
"product_category_id": 62
},
"substrates": []
}
]
}
],
"sds_visibility": null,
"sds_url": null,
"website_url": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download Public Technical Data Sheet
requires authentication
Download a public technical data sheet
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/technical-data-sheet/public" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product/1/technical-data-sheet/public"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
file
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product Assignment
Index
requires authentication
Get Product Assignments
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product-assignment?per_page=16&page=1&filter%5Bname%5D=est&filter%5Bzdhc_pid%5D=6&filter%5Bstatus%5D=DRAFT&filter%5Bassignment_status%5D=UNDER_REVIEW&filter%5Borganisation_id%5D=11&filter%5Bmax_conformance_level_id%5D=6&filter%5Bmax_ctz_level_id%5D=19&filter%5Bcreated_at%5D=distinctio&filter%5Bupdated_at%5D=tempore&search=facilis&sort=id&column=id" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product-assignment"
);
const params = {
"per_page": "16",
"page": "1",
"filter[name]": "est",
"filter[zdhc_pid]": "6",
"filter[status]": "DRAFT",
"filter[assignment_status]": "UNDER_REVIEW",
"filter[organisation_id]": "11",
"filter[max_conformance_level_id]": "6",
"filter[max_ctz_level_id]": "19",
"filter[created_at]": "distinctio",
"filter[updated_at]": "tempore",
"search": "facilis",
"sort": "id",
"column": "id",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": "",
"conformance_level": null,
"ctz_level": null
},
{
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"organisation_id": 5905,
"zdhc_pid": 367089,
"name": "A-POLE G-2 [P214AG76]",
"version": 1,
"description": null,
"alternate_names": [
"P214AG76"
],
"conformance_level_id": null,
"ctz_level_id": null,
"status": "DRAFT",
"sds_url": null,
"website_url": null,
"created_at": "2017-10-06T00:00:00.000000Z",
"updated_at": "2023-02-28T00:00:00.000000Z",
"technical_data_sheet_url": "",
"conformance_level": null,
"ctz_level": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update product assignments
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product-assignment/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "certifications[][mrsl_standard_id]=19"\
--form "certifications[][ctz_standard_id]=7"\
--form "certifications[][safety_data_sheet_id]=3"\
--form "safety_data_sheet=@/tmp/phpfFahbk" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product-assignment/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('certifications[][mrsl_standard_id]', '19');
body.append('certifications[][ctz_standard_id]', '7');
body.append('certifications[][safety_data_sheet_id]', '3');
body.append('safety_data_sheet', document.querySelector('input[name="safety_data_sheet"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"status": "ACCEPTED",
"chemical_product_id": 212878,
"organisation_id": 7747,
"created_at": "2026-05-14T19:42:10.000000Z",
"updated_at": "2026-05-14T19:42:10.000000Z",
"max_conformance_level_id": null,
"max_ctz_level_id": null,
"conformance_level": null,
"ctz_level": null,
"mrsl_certifications": [
{
"id": 1,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 308,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 553,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 15779,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2027-01-31T00:00:00.000000Z",
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"expired_at": null
},
{
"id": 98662,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2025-01-31T00:00:00.000000Z",
"created_at": "2023-11-08T00:00:00.000000Z",
"updated_at": "2023-11-08T00:00:00.000000Z",
"expired_at": "2025-01-31T23:59:59.000000Z"
},
{
"id": 224448,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 243,
"status": "ACTIVE",
"valid_until": "2024-01-31T00:00:00.000000Z",
"created_at": "2023-02-02T00:00:00.000000Z",
"updated_at": "2023-02-02T00:00:00.000000Z",
"expired_at": "2024-01-31T23:59:59.000000Z"
}
],
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": "",
"organisation": {
"id": 6267,
"reference_id": "01-76N8M6UUCZG-Y",
"type_id": 6,
"name": "Meghmani Dyes and Intermediates LLP",
"address_1": "9th floor, Siddhivinayak Tower - 'B' Wing B/H. DCP Office, Off: S.G. Highway Makarba",
"address_2": null,
"city": "Ahmedabad",
"state": "Gujarat",
"location": "IN",
"zip": "380051",
"phone": "8155008201",
"email": "sujarajesh@meghmanidyes.com",
"website": "https://www.meghmanidyes.com",
"avatar_url": null,
"location_name": "India"
},
"conformance_level": {
"id": 3,
"name": "Level 3",
"created_at": null,
"updated_at": null
},
"ctz_level": null,
"highest_mrsl_certification": {
"id": 15779,
"mrsl_standard_id": 281,
"safety_data_sheet_id": 84327,
"chemical_product_id": 212878,
"status": "ACTIVE",
"conformance_level_id": 3,
"actual_validity_date_combined": "2198-08-31",
"certification_body_name": "OEKO-TEX® Service GmbH",
"certification_body_id": 7747
},
"highest_ctz_certification": null,
"certification_body_assignments": [
{
"id": 1,
"status": "ACCEPTED",
"chemical_product_id": 212878,
"organisation_id": 7747,
"created_at": "2026-05-14T19:42:10.000000Z",
"updated_at": "2026-05-14T19:42:10.000000Z",
"max_conformance_level_id": null,
"max_ctz_level_id": null,
"certification_body": {
"id": 7747,
"maxio_customer_id": 309494,
"reference_id": "01-QAX9HHA6TQL-A",
"pdc_id": null,
"gateway_aid": "A713FG39",
"uuid": "9c4dc7e8-4c91-4918-9785-fff616184b7f",
"type_id": 7,
"status": "approved",
"name": "OEKO-TEX® Service GmbH",
"legal_name": "OEKO-TEX® Service GmbH",
"address_1": "Gutenbergstrasse 1, Zürich 8002 Switzerland",
"address_2": null,
"city": "Zurich",
"state": "Zurich",
"location": "CH",
"zip": "8002",
"phone": "+ 41 44 501 26 03",
"email": "j.wehrli@oekotex.com",
"contact_first_name": "Jonathan",
"contact_last_name": "Wehrli",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-03T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:58.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Switzerland"
},
"mrsl_certifications": [
{
"id": 1,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 308,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 553,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 15779,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2027-01-31T00:00:00.000000Z",
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"expired_at": null,
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 98662,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2025-01-31T00:00:00.000000Z",
"created_at": "2023-11-08T00:00:00.000000Z",
"updated_at": "2023-11-08T00:00:00.000000Z",
"expired_at": "2025-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 224448,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 243,
"status": "ACTIVE",
"valid_until": "2024-01-31T00:00:00.000000Z",
"created_at": "2023-02-02T00:00:00.000000Z",
"updated_at": "2023-02-02T00:00:00.000000Z",
"expired_at": "2024-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 243,
"legacy_certification_standard_id": 139,
"reference_id": "30-MX97SE4TFV6-Z",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 3,
"start_date": "2017-12-05T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": "2026-05-12T15:01:47.000000Z"
}
}
]
},
{
"id": 141991,
"status": "ACCEPTED",
"chemical_product_id": 212878,
"organisation_id": 8608,
"created_at": "2026-05-14T19:42:13.000000Z",
"updated_at": "2026-05-14T19:42:13.000000Z",
"max_conformance_level_id": null,
"max_ctz_level_id": null,
"certification_body": {
"id": 8608,
"maxio_customer_id": 310355,
"reference_id": "01-TMEJGAMMZYV-F",
"pdc_id": null,
"gateway_aid": "A353QZ62",
"uuid": "ff550de3-8165-4abc-86cc-69b706f69f90",
"type_id": 7,
"status": "approved",
"name": "bluesign® Technologies AG",
"legal_name": "bluesign® Technologies AG",
"address_1": "Moevenstrasse 18, 9015 St. Gallen, Switzerland",
"address_2": null,
"city": "Saint Gallen",
"state": "Sankt Gallen",
"location": "CH",
"zip": "",
"phone": "+41 71 272 29 90",
"email": "kurt_schlaepfer@bluesign.com",
"contact_first_name": "Kurt",
"contact_last_name": "Schäpfer",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Switzerland"
},
"mrsl_certifications": [
{
"id": 289979,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 225,
"status": "ACTIVE",
"valid_until": "2021-01-18T00:00:00.000000Z",
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2021-01-18T00:00:00.000000Z",
"expired_at": "2021-01-18T23:59:59.000000Z",
"mrsl_standard": {
"id": 225,
"legacy_certification_standard_id": 2,
"reference_id": "30-TMER3UAGYJZ-N",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v1.1",
"conformance_level_id": 3,
"start_date": "2009-03-06T00:00:00.000000Z",
"end_date": "2030-12-17T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 305802,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 232,
"status": "ACTIVE",
"valid_until": "2023-05-25T00:00:00.000000Z",
"created_at": "2021-01-18T00:00:00.000000Z",
"updated_at": "2021-01-18T00:00:00.000000Z",
"expired_at": "2023-05-25T23:59:59.000000Z",
"mrsl_standard": {
"id": 232,
"legacy_certification_standard_id": 67,
"reference_id": "30-QAX2Y9NQWGB-N",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 3,
"start_date": "2019-09-09T00:00:00.000000Z",
"end_date": "2099-01-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 311374,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 256,
"status": "ACTIVE",
"valid_until": "2024-08-29T00:00:00.000000Z",
"created_at": "2023-06-16T00:00:00.000000Z",
"updated_at": "2023-06-16T00:00:00.000000Z",
"expired_at": "2024-08-29T23:59:59.000000Z",
"mrsl_standard": {
"id": 256,
"legacy_certification_standard_id": 195,
"reference_id": "30-PYSW66TBNP6-J",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2002-03-10T00:00:00.000000Z",
"end_date": "2100-09-05T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 316061,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 256,
"status": "ACTIVE",
"valid_until": "2099-12-31T00:00:00.000000Z",
"created_at": "2025-01-06T00:00:00.000000Z",
"updated_at": "2025-04-30T00:00:00.000000Z",
"expired_at": null,
"mrsl_standard": {
"id": 256,
"legacy_certification_standard_id": 195,
"reference_id": "30-PYSW66TBNP6-J",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2002-03-10T00:00:00.000000Z",
"end_date": "2100-09-05T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
}
]
}
],
"safety_data_sheets": [
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 212878,
"organisation_id": 6267,
"created_at": "2019-06-20T08:55:18.000000Z",
"updated_at": "2020-03-03T10:26:35.000000Z",
"file_url": "",
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"certified_safety_data_sheets": [
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 212878,
"organisation_id": 6267,
"created_at": "2019-06-20T08:55:18.000000Z",
"updated_at": "2020-03-03T10:26:35.000000Z",
"file_url": "",
"organisation": {
"id": 6267,
"reference_id": "01-76N8M6UUCZG-Y",
"type_id": 6,
"name": "Meghmani Dyes and Intermediates LLP",
"address_1": "9th floor, Siddhivinayak Tower - 'B' Wing B/H. DCP Office, Off: S.G. Highway Makarba",
"address_2": null,
"city": "Ahmedabad",
"state": "Gujarat",
"location": "IN",
"zip": "380051",
"phone": "8155008201",
"email": "sujarajesh@meghmanidyes.com",
"website": "https://www.meghmanidyes.com",
"avatar_url": null,
"location_name": "India"
},
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
},
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 212878,
"organisation_id": 6267,
"created_at": "2019-06-20T08:55:18.000000Z",
"updated_at": "2020-03-03T10:26:35.000000Z",
"file_url": "",
"organisation": {
"id": 6267,
"reference_id": "01-76N8M6UUCZG-Y",
"type_id": 6,
"name": "Meghmani Dyes and Intermediates LLP",
"address_1": "9th floor, Siddhivinayak Tower - 'B' Wing B/H. DCP Office, Off: S.G. Highway Makarba",
"address_2": null,
"city": "Ahmedabad",
"state": "Gujarat",
"location": "IN",
"zip": "380051",
"phone": "8155008201",
"email": "sujarajesh@meghmanidyes.com",
"website": "https://www.meghmanidyes.com",
"avatar_url": null,
"location_name": "India"
},
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"use_types": [
{
"id": 235,
"name": "Reactive dye",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:47.000000Z",
"updated_at": "2026-05-08T21:42:47.000000Z",
"pivot": {
"chemical_product_id": 212878,
"product_use_type_id": 235,
"id": 2673
},
"categories": [
{
"id": 3,
"name": "Textile Dyes and Pigments",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 235,
"product_category_id": 3
},
"substrates": [
{
"id": 2,
"name": "Textile",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 3,
"product_substrate_id": 2
}
}
]
},
{
"id": 61,
"name": "Dyes And Pigments",
"is_inactive": 0,
"created_at": "2026-05-10T02:33:42.000000Z",
"updated_at": "2026-05-10T02:33:42.000000Z",
"pivot": {
"product_use_type_id": 235,
"product_category_id": 61
},
"substrates": []
}
]
}
],
"activity_logs": []
},
"highest_mrsl_certification": {
"id": 15779,
"mrsl_standard_id": 281,
"safety_data_sheet_id": 84327,
"chemical_product_id": 212878,
"status": "ACTIVE",
"conformance_level_id": 3,
"actual_validity_date_combined": "2198-08-31",
"certification_body_name": "OEKO-TEX® Service GmbH",
"certification_body_id": 7747
},
"ctz_certifications": [
{
"id": 265324,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-02T00:00:00.000000Z"
},
{
"id": 274036,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2025-02-04T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 274037,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2025-02-04T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 274038,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2025-02-04T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 550773,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2026-03-06T00:00:00.000000Z",
"expired_at": "2026-03-06T23:59:59.000000Z",
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-02T00:00:00.000000Z"
},
{
"id": 658121,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658122,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658123,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658857,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658858,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658859,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
}
],
"highest_ctz_certification": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Toggle Decline
requires authentication
Toggle the decline status of a product assignment
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product-assignment/sit/toggle-decline" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reason\": \"wvhxdzyjdol\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product-assignment/sit/toggle-decline"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reason": "wvhxdzyjdol"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"status": "ACCEPTED",
"chemical_product_id": 212878,
"organisation_id": 7747,
"created_at": "2026-05-14T19:42:10.000000Z",
"updated_at": "2026-05-14T19:42:10.000000Z",
"max_conformance_level_id": null,
"max_ctz_level_id": null,
"conformance_level": null,
"ctz_level": null,
"mrsl_certifications": [
{
"id": 1,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 308,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 553,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 15779,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2027-01-31T00:00:00.000000Z",
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"expired_at": null
},
{
"id": 98662,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2025-01-31T00:00:00.000000Z",
"created_at": "2023-11-08T00:00:00.000000Z",
"updated_at": "2023-11-08T00:00:00.000000Z",
"expired_at": "2025-01-31T23:59:59.000000Z"
},
{
"id": 224448,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 243,
"status": "ACTIVE",
"valid_until": "2024-01-31T00:00:00.000000Z",
"created_at": "2023-02-02T00:00:00.000000Z",
"updated_at": "2023-02-02T00:00:00.000000Z",
"expired_at": "2024-01-31T23:59:59.000000Z"
}
],
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": "",
"organisation": {
"id": 6267,
"reference_id": "01-76N8M6UUCZG-Y",
"type_id": 6,
"name": "Meghmani Dyes and Intermediates LLP",
"address_1": "9th floor, Siddhivinayak Tower - 'B' Wing B/H. DCP Office, Off: S.G. Highway Makarba",
"address_2": null,
"city": "Ahmedabad",
"state": "Gujarat",
"location": "IN",
"zip": "380051",
"phone": "8155008201",
"email": "sujarajesh@meghmanidyes.com",
"website": "https://www.meghmanidyes.com",
"avatar_url": null,
"location_name": "India"
},
"conformance_level": {
"id": 3,
"name": "Level 3",
"created_at": null,
"updated_at": null
},
"ctz_level": null,
"highest_mrsl_certification": {
"id": 15779,
"mrsl_standard_id": 281,
"safety_data_sheet_id": 84327,
"chemical_product_id": 212878,
"status": "ACTIVE",
"conformance_level_id": 3,
"actual_validity_date_combined": "2198-08-31",
"certification_body_name": "OEKO-TEX® Service GmbH",
"certification_body_id": 7747
},
"highest_ctz_certification": null,
"certification_body_assignments": [
{
"id": 1,
"status": "ACCEPTED",
"chemical_product_id": 212878,
"organisation_id": 7747,
"created_at": "2026-05-14T19:42:10.000000Z",
"updated_at": "2026-05-14T19:42:10.000000Z",
"max_conformance_level_id": null,
"max_ctz_level_id": null,
"certification_body": {
"id": 7747,
"maxio_customer_id": 309494,
"reference_id": "01-QAX9HHA6TQL-A",
"pdc_id": null,
"gateway_aid": "A713FG39",
"uuid": "9c4dc7e8-4c91-4918-9785-fff616184b7f",
"type_id": 7,
"status": "approved",
"name": "OEKO-TEX® Service GmbH",
"legal_name": "OEKO-TEX® Service GmbH",
"address_1": "Gutenbergstrasse 1, Zürich 8002 Switzerland",
"address_2": null,
"city": "Zurich",
"state": "Zurich",
"location": "CH",
"zip": "8002",
"phone": "+ 41 44 501 26 03",
"email": "j.wehrli@oekotex.com",
"contact_first_name": "Jonathan",
"contact_last_name": "Wehrli",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-03T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:58.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Switzerland"
},
"mrsl_certifications": [
{
"id": 1,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 308,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 553,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 15779,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2027-01-31T00:00:00.000000Z",
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"expired_at": null,
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 98662,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2025-01-31T00:00:00.000000Z",
"created_at": "2023-11-08T00:00:00.000000Z",
"updated_at": "2023-11-08T00:00:00.000000Z",
"expired_at": "2025-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 224448,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 243,
"status": "ACTIVE",
"valid_until": "2024-01-31T00:00:00.000000Z",
"created_at": "2023-02-02T00:00:00.000000Z",
"updated_at": "2023-02-02T00:00:00.000000Z",
"expired_at": "2024-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 243,
"legacy_certification_standard_id": 139,
"reference_id": "30-MX97SE4TFV6-Z",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 3,
"start_date": "2017-12-05T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": "2026-05-12T15:01:47.000000Z"
}
}
]
},
{
"id": 141991,
"status": "ACCEPTED",
"chemical_product_id": 212878,
"organisation_id": 8608,
"created_at": "2026-05-14T19:42:13.000000Z",
"updated_at": "2026-05-14T19:42:13.000000Z",
"max_conformance_level_id": null,
"max_ctz_level_id": null,
"certification_body": {
"id": 8608,
"maxio_customer_id": 310355,
"reference_id": "01-TMEJGAMMZYV-F",
"pdc_id": null,
"gateway_aid": "A353QZ62",
"uuid": "ff550de3-8165-4abc-86cc-69b706f69f90",
"type_id": 7,
"status": "approved",
"name": "bluesign® Technologies AG",
"legal_name": "bluesign® Technologies AG",
"address_1": "Moevenstrasse 18, 9015 St. Gallen, Switzerland",
"address_2": null,
"city": "Saint Gallen",
"state": "Sankt Gallen",
"location": "CH",
"zip": "",
"phone": "+41 71 272 29 90",
"email": "kurt_schlaepfer@bluesign.com",
"contact_first_name": "Kurt",
"contact_last_name": "Schäpfer",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Switzerland"
},
"mrsl_certifications": [
{
"id": 289979,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 225,
"status": "ACTIVE",
"valid_until": "2021-01-18T00:00:00.000000Z",
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2021-01-18T00:00:00.000000Z",
"expired_at": "2021-01-18T23:59:59.000000Z",
"mrsl_standard": {
"id": 225,
"legacy_certification_standard_id": 2,
"reference_id": "30-TMER3UAGYJZ-N",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v1.1",
"conformance_level_id": 3,
"start_date": "2009-03-06T00:00:00.000000Z",
"end_date": "2030-12-17T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 305802,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 232,
"status": "ACTIVE",
"valid_until": "2023-05-25T00:00:00.000000Z",
"created_at": "2021-01-18T00:00:00.000000Z",
"updated_at": "2021-01-18T00:00:00.000000Z",
"expired_at": "2023-05-25T23:59:59.000000Z",
"mrsl_standard": {
"id": 232,
"legacy_certification_standard_id": 67,
"reference_id": "30-QAX2Y9NQWGB-N",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 3,
"start_date": "2019-09-09T00:00:00.000000Z",
"end_date": "2099-01-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 311374,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 256,
"status": "ACTIVE",
"valid_until": "2024-08-29T00:00:00.000000Z",
"created_at": "2023-06-16T00:00:00.000000Z",
"updated_at": "2023-06-16T00:00:00.000000Z",
"expired_at": "2024-08-29T23:59:59.000000Z",
"mrsl_standard": {
"id": 256,
"legacy_certification_standard_id": 195,
"reference_id": "30-PYSW66TBNP6-J",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2002-03-10T00:00:00.000000Z",
"end_date": "2100-09-05T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 316061,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 256,
"status": "ACTIVE",
"valid_until": "2099-12-31T00:00:00.000000Z",
"created_at": "2025-01-06T00:00:00.000000Z",
"updated_at": "2025-04-30T00:00:00.000000Z",
"expired_at": null,
"mrsl_standard": {
"id": 256,
"legacy_certification_standard_id": 195,
"reference_id": "30-PYSW66TBNP6-J",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2002-03-10T00:00:00.000000Z",
"end_date": "2100-09-05T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
}
]
}
],
"safety_data_sheets": [
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 212878,
"organisation_id": 6267,
"created_at": "2019-06-20T08:55:18.000000Z",
"updated_at": "2020-03-03T10:26:35.000000Z",
"file_url": "",
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"certified_safety_data_sheets": [
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 212878,
"organisation_id": 6267,
"created_at": "2019-06-20T08:55:18.000000Z",
"updated_at": "2020-03-03T10:26:35.000000Z",
"file_url": "",
"organisation": {
"id": 6267,
"reference_id": "01-76N8M6UUCZG-Y",
"type_id": 6,
"name": "Meghmani Dyes and Intermediates LLP",
"address_1": "9th floor, Siddhivinayak Tower - 'B' Wing B/H. DCP Office, Off: S.G. Highway Makarba",
"address_2": null,
"city": "Ahmedabad",
"state": "Gujarat",
"location": "IN",
"zip": "380051",
"phone": "8155008201",
"email": "sujarajesh@meghmanidyes.com",
"website": "https://www.meghmanidyes.com",
"avatar_url": null,
"location_name": "India"
},
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
},
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 212878,
"organisation_id": 6267,
"created_at": "2019-06-20T08:55:18.000000Z",
"updated_at": "2020-03-03T10:26:35.000000Z",
"file_url": "",
"organisation": {
"id": 6267,
"reference_id": "01-76N8M6UUCZG-Y",
"type_id": 6,
"name": "Meghmani Dyes and Intermediates LLP",
"address_1": "9th floor, Siddhivinayak Tower - 'B' Wing B/H. DCP Office, Off: S.G. Highway Makarba",
"address_2": null,
"city": "Ahmedabad",
"state": "Gujarat",
"location": "IN",
"zip": "380051",
"phone": "8155008201",
"email": "sujarajesh@meghmanidyes.com",
"website": "https://www.meghmanidyes.com",
"avatar_url": null,
"location_name": "India"
},
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"use_types": [
{
"id": 235,
"name": "Reactive dye",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:47.000000Z",
"updated_at": "2026-05-08T21:42:47.000000Z",
"pivot": {
"chemical_product_id": 212878,
"product_use_type_id": 235,
"id": 2673
},
"categories": [
{
"id": 3,
"name": "Textile Dyes and Pigments",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 235,
"product_category_id": 3
},
"substrates": [
{
"id": 2,
"name": "Textile",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 3,
"product_substrate_id": 2
}
}
]
},
{
"id": 61,
"name": "Dyes And Pigments",
"is_inactive": 0,
"created_at": "2026-05-10T02:33:42.000000Z",
"updated_at": "2026-05-10T02:33:42.000000Z",
"pivot": {
"product_use_type_id": 235,
"product_category_id": 61
},
"substrates": []
}
]
}
],
"activity_logs": []
},
"highest_mrsl_certification": {
"id": 15779,
"mrsl_standard_id": 281,
"safety_data_sheet_id": 84327,
"chemical_product_id": 212878,
"status": "ACTIVE",
"conformance_level_id": 3,
"actual_validity_date_combined": "2198-08-31",
"certification_body_name": "OEKO-TEX® Service GmbH",
"certification_body_id": 7747
},
"ctz_certifications": [
{
"id": 265324,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-02T00:00:00.000000Z"
},
{
"id": 274036,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2025-02-04T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 274037,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2025-02-04T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 274038,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2025-02-04T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 550773,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2026-03-06T00:00:00.000000Z",
"expired_at": "2026-03-06T23:59:59.000000Z",
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-02T00:00:00.000000Z"
},
{
"id": 658121,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658122,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658123,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658857,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658858,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658859,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
}
],
"highest_ctz_certification": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show a product assignment
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product-assignment/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/product-assignment/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"status": "ACCEPTED",
"chemical_product_id": 212878,
"organisation_id": 7747,
"created_at": "2026-05-14T19:42:10.000000Z",
"updated_at": "2026-05-14T19:42:10.000000Z",
"max_conformance_level_id": null,
"max_ctz_level_id": null,
"conformance_level": null,
"ctz_level": null,
"mrsl_certifications": [
{
"id": 1,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 308,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 553,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z"
},
{
"id": 15779,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2027-01-31T00:00:00.000000Z",
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"expired_at": null
},
{
"id": 98662,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2025-01-31T00:00:00.000000Z",
"created_at": "2023-11-08T00:00:00.000000Z",
"updated_at": "2023-11-08T00:00:00.000000Z",
"expired_at": "2025-01-31T23:59:59.000000Z"
},
{
"id": 224448,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 243,
"status": "ACTIVE",
"valid_until": "2024-01-31T00:00:00.000000Z",
"created_at": "2023-02-02T00:00:00.000000Z",
"updated_at": "2023-02-02T00:00:00.000000Z",
"expired_at": "2024-01-31T23:59:59.000000Z"
}
],
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": "",
"organisation": {
"id": 6267,
"reference_id": "01-76N8M6UUCZG-Y",
"type_id": 6,
"name": "Meghmani Dyes and Intermediates LLP",
"address_1": "9th floor, Siddhivinayak Tower - 'B' Wing B/H. DCP Office, Off: S.G. Highway Makarba",
"address_2": null,
"city": "Ahmedabad",
"state": "Gujarat",
"location": "IN",
"zip": "380051",
"phone": "8155008201",
"email": "sujarajesh@meghmanidyes.com",
"website": "https://www.meghmanidyes.com",
"avatar_url": null,
"location_name": "India"
},
"conformance_level": {
"id": 3,
"name": "Level 3",
"created_at": null,
"updated_at": null
},
"ctz_level": null,
"highest_mrsl_certification": {
"id": 15779,
"mrsl_standard_id": 281,
"safety_data_sheet_id": 84327,
"chemical_product_id": 212878,
"status": "ACTIVE",
"conformance_level_id": 3,
"actual_validity_date_combined": "2198-08-31",
"certification_body_name": "OEKO-TEX® Service GmbH",
"certification_body_id": 7747
},
"highest_ctz_certification": null,
"certification_body_assignments": [
{
"id": 1,
"status": "ACCEPTED",
"chemical_product_id": 212878,
"organisation_id": 7747,
"created_at": "2026-05-14T19:42:10.000000Z",
"updated_at": "2026-05-14T19:42:10.000000Z",
"max_conformance_level_id": null,
"max_ctz_level_id": null,
"certification_body": {
"id": 7747,
"maxio_customer_id": 309494,
"reference_id": "01-QAX9HHA6TQL-A",
"pdc_id": null,
"gateway_aid": "A713FG39",
"uuid": "9c4dc7e8-4c91-4918-9785-fff616184b7f",
"type_id": 7,
"status": "approved",
"name": "OEKO-TEX® Service GmbH",
"legal_name": "OEKO-TEX® Service GmbH",
"address_1": "Gutenbergstrasse 1, Zürich 8002 Switzerland",
"address_2": null,
"city": "Zurich",
"state": "Zurich",
"location": "CH",
"zip": "8002",
"phone": "+ 41 44 501 26 03",
"email": "j.wehrli@oekotex.com",
"contact_first_name": "Jonathan",
"contact_last_name": "Wehrli",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-03T00:00:00.000000Z",
"updated_at": "2026-05-12T15:16:58.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Switzerland"
},
"mrsl_certifications": [
{
"id": 1,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 308,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 553,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2026-01-31T00:00:00.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-30T00:00:00.000000Z",
"expired_at": "2026-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 15779,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2027-01-31T00:00:00.000000Z",
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"expired_at": null,
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 98662,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 281,
"status": "ACTIVE",
"valid_until": "2025-01-31T00:00:00.000000Z",
"created_at": "2023-11-08T00:00:00.000000Z",
"updated_at": "2023-11-08T00:00:00.000000Z",
"expired_at": "2025-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 281,
"legacy_certification_standard_id": 263,
"reference_id": "30-MX97SXPN7QK-T",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2020-03-20T00:00:00.000000Z",
"end_date": "2198-08-31T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 224448,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 243,
"status": "ACTIVE",
"valid_until": "2024-01-31T00:00:00.000000Z",
"created_at": "2023-02-02T00:00:00.000000Z",
"updated_at": "2023-02-02T00:00:00.000000Z",
"expired_at": "2024-01-31T23:59:59.000000Z",
"mrsl_standard": {
"id": 243,
"legacy_certification_standard_id": 139,
"reference_id": "30-MX97SE4TFV6-Z",
"name": "OEKO-TEX® Service GmbH ECO PASSPORT - Level 3",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 3,
"start_date": "2017-12-05T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": "2026-05-12T15:01:47.000000Z"
}
}
]
},
{
"id": 141991,
"status": "ACCEPTED",
"chemical_product_id": 212878,
"organisation_id": 8608,
"created_at": "2026-05-14T19:42:13.000000Z",
"updated_at": "2026-05-14T19:42:13.000000Z",
"max_conformance_level_id": null,
"max_ctz_level_id": null,
"certification_body": {
"id": 8608,
"maxio_customer_id": 310355,
"reference_id": "01-TMEJGAMMZYV-F",
"pdc_id": null,
"gateway_aid": "A353QZ62",
"uuid": "ff550de3-8165-4abc-86cc-69b706f69f90",
"type_id": 7,
"status": "approved",
"name": "bluesign® Technologies AG",
"legal_name": "bluesign® Technologies AG",
"address_1": "Moevenstrasse 18, 9015 St. Gallen, Switzerland",
"address_2": null,
"city": "Saint Gallen",
"state": "Sankt Gallen",
"location": "CH",
"zip": "",
"phone": "+41 71 272 29 90",
"email": "kurt_schlaepfer@bluesign.com",
"contact_first_name": "Kurt",
"contact_last_name": "Schäpfer",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-06T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:44.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Switzerland"
},
"mrsl_certifications": [
{
"id": 289979,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 225,
"status": "ACTIVE",
"valid_until": "2021-01-18T00:00:00.000000Z",
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2021-01-18T00:00:00.000000Z",
"expired_at": "2021-01-18T23:59:59.000000Z",
"mrsl_standard": {
"id": 225,
"legacy_certification_standard_id": 2,
"reference_id": "30-TMER3UAGYJZ-N",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v1.1",
"conformance_level_id": 3,
"start_date": "2009-03-06T00:00:00.000000Z",
"end_date": "2030-12-17T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 305802,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 232,
"status": "ACTIVE",
"valid_until": "2023-05-25T00:00:00.000000Z",
"created_at": "2021-01-18T00:00:00.000000Z",
"updated_at": "2021-01-18T00:00:00.000000Z",
"expired_at": "2023-05-25T23:59:59.000000Z",
"mrsl_standard": {
"id": 232,
"legacy_certification_standard_id": 67,
"reference_id": "30-QAX2Y9NQWGB-N",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 3,
"start_date": "2019-09-09T00:00:00.000000Z",
"end_date": "2099-01-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 311374,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 256,
"status": "ACTIVE",
"valid_until": "2024-08-29T00:00:00.000000Z",
"created_at": "2023-06-16T00:00:00.000000Z",
"updated_at": "2023-06-16T00:00:00.000000Z",
"expired_at": "2024-08-29T23:59:59.000000Z",
"mrsl_standard": {
"id": 256,
"legacy_certification_standard_id": 195,
"reference_id": "30-PYSW66TBNP6-J",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2002-03-10T00:00:00.000000Z",
"end_date": "2100-09-05T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
},
{
"id": 316061,
"chemical_product_id": 212878,
"certification_body_id": 8608,
"safety_data_sheet_id": 84327,
"mrsl_standard_id": 256,
"status": "ACTIVE",
"valid_until": "2099-12-31T00:00:00.000000Z",
"created_at": "2025-01-06T00:00:00.000000Z",
"updated_at": "2025-04-30T00:00:00.000000Z",
"expired_at": null,
"mrsl_standard": {
"id": 256,
"legacy_certification_standard_id": 195,
"reference_id": "30-PYSW66TBNP6-J",
"name": "bluesign® Technologies AG",
"version": "ZDHC MRSL v3.1",
"conformance_level_id": 3,
"start_date": "2002-03-10T00:00:00.000000Z",
"end_date": "2100-09-05T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:18.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": null
}
}
]
}
],
"safety_data_sheets": [
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 212878,
"organisation_id": 6267,
"created_at": "2019-06-20T08:55:18.000000Z",
"updated_at": "2020-03-03T10:26:35.000000Z",
"file_url": "",
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"certified_safety_data_sheets": [
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 212878,
"organisation_id": 6267,
"created_at": "2019-06-20T08:55:18.000000Z",
"updated_at": "2020-03-03T10:26:35.000000Z",
"file_url": "",
"organisation": {
"id": 6267,
"reference_id": "01-76N8M6UUCZG-Y",
"type_id": 6,
"name": "Meghmani Dyes and Intermediates LLP",
"address_1": "9th floor, Siddhivinayak Tower - 'B' Wing B/H. DCP Office, Off: S.G. Highway Makarba",
"address_2": null,
"city": "Ahmedabad",
"state": "Gujarat",
"location": "IN",
"zip": "380051",
"phone": "8155008201",
"email": "sujarajesh@meghmanidyes.com",
"website": "https://www.meghmanidyes.com",
"avatar_url": null,
"location_name": "India"
},
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
},
{
"id": 84327,
"file_name": "MSDS YELLOW RNL 150%.pdf",
"mime_type": "application/octet-stream",
"file_size": "0",
"locale": "en",
"version": 1,
"chemical_product_id": 212878,
"organisation_id": 6267,
"created_at": "2019-06-20T08:55:18.000000Z",
"updated_at": "2020-03-03T10:26:35.000000Z",
"file_url": "",
"organisation": {
"id": 6267,
"reference_id": "01-76N8M6UUCZG-Y",
"type_id": 6,
"name": "Meghmani Dyes and Intermediates LLP",
"address_1": "9th floor, Siddhivinayak Tower - 'B' Wing B/H. DCP Office, Off: S.G. Highway Makarba",
"address_2": null,
"city": "Ahmedabad",
"state": "Gujarat",
"location": "IN",
"zip": "380051",
"phone": "8155008201",
"email": "sujarajesh@meghmanidyes.com",
"website": "https://www.meghmanidyes.com",
"avatar_url": null,
"location_name": "India"
},
"chemical_product": {
"id": 212878,
"reference_id": "20-CRTLJRJLKP-O",
"organisation_id": 6267,
"zdhc_pid": 205224,
"name": "REACTOBOND YELLOW RNL 150% [P397IA55]",
"version": 1,
"description": null,
"alternate_names": [
"P397IA55"
],
"conformance_level_id": 3,
"ctz_level_id": null,
"status": "PUBLISHED",
"sds_url": null,
"website_url": null,
"created_at": "2019-06-20T00:00:00.000000Z",
"updated_at": "2026-03-06T00:00:00.000000Z",
"technical_data_sheet_url": ""
}
}
],
"use_types": [
{
"id": 235,
"name": "Reactive dye",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:47.000000Z",
"updated_at": "2026-05-08T21:42:47.000000Z",
"pivot": {
"chemical_product_id": 212878,
"product_use_type_id": 235,
"id": 2673
},
"categories": [
{
"id": 3,
"name": "Textile Dyes and Pigments",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 235,
"product_category_id": 3
},
"substrates": [
{
"id": 2,
"name": "Textile",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 3,
"product_substrate_id": 2
}
}
]
},
{
"id": 61,
"name": "Dyes And Pigments",
"is_inactive": 0,
"created_at": "2026-05-10T02:33:42.000000Z",
"updated_at": "2026-05-10T02:33:42.000000Z",
"pivot": {
"product_use_type_id": 235,
"product_category_id": 61
},
"substrates": []
}
]
}
],
"activity_logs": []
},
"highest_mrsl_certification": {
"id": 15779,
"mrsl_standard_id": 281,
"safety_data_sheet_id": 84327,
"chemical_product_id": 212878,
"status": "ACTIVE",
"conformance_level_id": 3,
"actual_validity_date_combined": "2198-08-31",
"certification_body_name": "OEKO-TEX® Service GmbH",
"certification_body_id": 7747
},
"ctz_certifications": [
{
"id": 265324,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-02T00:00:00.000000Z"
},
{
"id": 274036,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2025-02-04T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 274037,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2025-02-04T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 274038,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": null,
"expired_at": null,
"created_at": "2025-02-04T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 550773,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2026-03-06T00:00:00.000000Z",
"expired_at": "2026-03-06T23:59:59.000000Z",
"created_at": "2026-03-06T00:00:00.000000Z",
"updated_at": "2026-03-02T00:00:00.000000Z"
},
{
"id": 658121,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658122,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658123,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 4,
"status": "ACTIVE",
"valid_until": "2025-02-04T00:00:00.000000Z",
"expired_at": "2025-02-04T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658857,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658858,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
},
{
"id": 658859,
"chemical_product_id": 212878,
"certification_body_id": 7747,
"safety_data_sheet_id": 84327,
"ctz_standard_id": 3,
"status": "ACTIVE",
"valid_until": "2025-01-30T00:00:00.000000Z",
"expired_at": "2025-01-30T23:59:59.000000Z",
"created_at": "2025-01-30T00:00:00.000000Z",
"updated_at": "2025-01-24T00:00:00.000000Z"
}
],
"highest_ctz_certification": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product Category
Index
requires authentication
List all product categories
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category?per_page=1&page=1&filter%5Bname%5D=dolores&filter%5Bis_inactive%5D=1&filter%5Bcreated_at%5D=id&filter%5Bupdated_at%5D=illo&sort=name&search=deserunt&column=name" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category"
);
const params = {
"per_page": "1",
"page": "1",
"filter[name]": "dolores",
"filter[is_inactive]": "1",
"filter[created_at]": "id",
"filter[updated_at]": "illo",
"sort": "name",
"search": "deserunt",
"column": "name",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"name": "Colorant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 1,
"product_substrate_id": 1
}
}
]
},
{
"id": 1,
"name": "Colorant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 1,
"product_substrate_id": 1
}
}
]
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show a product category
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Colorant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 1,
"product_substrate_id": 1
}
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Store a product category
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"fbmpsgr\",
\"is_inactive\": true,
\"substrates\": [
13
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "fbmpsgr",
"is_inactive": true,
"substrates": [
13
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Colorant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 1,
"product_substrate_id": 1
}
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a product category
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"secsytmeuxd\",
\"is_inactive\": true,
\"substrates\": [
18
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "secsytmeuxd",
"is_inactive": true,
"substrates": [
18
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Colorant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 1,
"product_substrate_id": 1
}
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Destroy a product category
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-category/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Product category deleted successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product Substrate
Index
requires authentication
Get Product Substrates
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate?per_page=15&page=1&filter%5Bname%5D=mollitia&filter%5Bis_inactive%5D=&filter%5Bcategories_count%5D=3&filter%5Buse_types_count%5D=14&filter%5Bupdated_at%5D=fugit&filter%5Bcreated_at%5D=ipsum&sort=name&column=name" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate"
);
const params = {
"per_page": "15",
"page": "1",
"filter[name]": "mollitia",
"filter[is_inactive]": "0",
"filter[categories_count]": "3",
"filter[use_types_count]": "14",
"filter[updated_at]": "fugit",
"filter[created_at]": "ipsum",
"sort": "name",
"column": "name",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"categories_count": null,
"use_types_count": null
},
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"categories_count": null,
"use_types_count": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show a product substrate
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Create a new product substrate
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"dqkoakojvycqahpgsuepmsf\",
\"is_inactive\": true,
\"categories\": [
5
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "dqkoakojvycqahpgsuepmsf",
"is_inactive": true,
"categories": [
5
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a product substrate
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"nheyuojuvy\",
\"is_inactive\": true,
\"categories\": [
13
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "nheyuojuvy",
"is_inactive": true,
"categories": [
13
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Destroy a product substrate
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-substrate/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Product substrate deleted successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product Use Type
Index
requires authentication
List all product use types
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type?per_page=13&page=1&filter%5Bname%5D=et&filter%5Bis_inactive%5D=1&filter%5Bcreated_at%5D=qui&filter%5Bupdated_at%5D=similique&sort=name&search=non&column=name" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type"
);
const params = {
"per_page": "13",
"page": "1",
"filter[name]": "et",
"filter[is_inactive]": "1",
"filter[created_at]": "qui",
"filter[updated_at]": "similique",
"sort": "name",
"search": "non",
"column": "name",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"name": "Others",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z"
},
{
"id": 1,
"name": "Others",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show a product use type
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Others",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"categories": [
{
"id": 1,
"name": "Colorant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 1
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 1,
"product_substrate_id": 1
}
}
]
},
{
"id": 44,
"name": "Others",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 44
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 44,
"product_substrate_id": 1
}
}
]
},
{
"id": 45,
"name": "Finishing agent",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 45
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 45,
"product_substrate_id": 1
}
}
]
},
{
"id": 46,
"name": "Lubricant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 46
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 46,
"product_substrate_id": 1
}
}
]
},
{
"id": 47,
"name": "Resin",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 47
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 47,
"product_substrate_id": 1
}
}
]
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Store a product use type
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"jtemmjbaamhaslopnaedp\",
\"is_inactive\": false,
\"categories\": [
36
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "jtemmjbaamhaslopnaedp",
"is_inactive": false,
"categories": [
36
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Others",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"categories": [
{
"id": 1,
"name": "Colorant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 1
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 1,
"product_substrate_id": 1
}
}
]
},
{
"id": 44,
"name": "Others",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 44
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 44,
"product_substrate_id": 1
}
}
]
},
{
"id": 45,
"name": "Finishing agent",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 45
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 45,
"product_substrate_id": 1
}
}
]
},
{
"id": 46,
"name": "Lubricant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 46
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 46,
"product_substrate_id": 1
}
}
]
},
{
"id": 47,
"name": "Resin",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 47
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 47,
"product_substrate_id": 1
}
}
]
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a product use type
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"kizcjybpdqqcpgqgpejpv\",
\"is_inactive\": false,
\"categories\": [
75
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "kizcjybpdqqcpgqgpejpv",
"is_inactive": false,
"categories": [
75
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Others",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"categories": [
{
"id": 1,
"name": "Colorant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 1
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 1,
"product_substrate_id": 1
}
}
]
},
{
"id": 44,
"name": "Others",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 44
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 44,
"product_substrate_id": 1
}
}
]
},
{
"id": 45,
"name": "Finishing agent",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 45
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 45,
"product_substrate_id": 1
}
}
]
},
{
"id": 46,
"name": "Lubricant",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 46
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 46,
"product_substrate_id": 1
}
}
]
},
{
"id": 47,
"name": "Resin",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_use_type_id": 1,
"product_category_id": 47
},
"substrates": [
{
"id": 1,
"name": "Synthetic",
"is_inactive": 0,
"created_at": "2026-05-08T21:42:46.000000Z",
"updated_at": "2026-05-08T21:42:46.000000Z",
"pivot": {
"product_category_id": 47,
"product_substrate_id": 1
}
}
]
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Destroy a product use type
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/classification/product-use-type/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Product use type deleted successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Conformance Levels
Index
requires authentication
get all conformance levels
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/conformance-levels" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/conformance-levels"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Level 1",
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Development
Frontend values
Get a list of almost all values
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/development/frontend/values" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/development/frontend/values"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
[
roles: {}
organisationTypes: {}
wastewaterActionTypes: {}
wastewaterTypes: {}
samplingPoints: {}
msrl_conformance_levels: {}
ctz_conformance_levels: {}
root_cause_reasons: {}
corrective_actions: {}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoints
Store
requires authentication
Create a new Organisation API Key
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/admin/organisation-api-keys" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organisation_user_id\": \"illum\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/organisation-api-keys"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organisation_user_id": "illum"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"message": "Organisation API key created successfully."
"api_key": "foreign_api_key|0de1eb785a5d603f8c56057e6408914a3bd854e4e22e878689b92c6b25b851e7"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/admin/{organisation_id}/wastewater/reporting/activity-logs
requires authentication
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/admin/1/wastewater/reporting/activity-logs?sort=created_at&filter%5Bclearstream_id%5D=12&filter%5Baction_type%5D=nesciunt&filter%5Buser_name%5D=tempora&column=context-%3Ecreated_at&search=natus&page=1&per_page=6" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/admin/1/wastewater/reporting/activity-logs"
);
const params = {
"sort": "created_at",
"filter[clearstream_id]": "12",
"filter[action_type]": "nesciunt",
"filter[user_name]": "tempora",
"column": "context->created_at",
"search": "natus",
"page": "1",
"per_page": "6",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 83
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/system/organisation/{organisation_id}/push-notification-count
requires authentication
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/system/organisation/1/push-notification-count" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/organisation/1/push-notification-count"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 76
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Summary of completeSampling
requires authentication
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/complete-sampling" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/complete-sampling"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/organisation/{organisation_id}/wastewater/reporting/laboratory-requests/{clearstreamRequest_id}/start-testing
requires authentication
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/start-testing" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/start-testing"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Finish testing
requires authentication
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/finish-testing" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/finish-testing"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/organisation/{organisation_id}/wastewater/reporting/activity-logs/{report?}
requires authentication
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/activity-logs/1?sort=created_at&filter%5Bclearstream_id%5D=13&filter%5Bclearstream_reference_id%5D=asperiores&filter%5Baction_type%5D=est&filter%5Buser_name%5D=enim&column=context-%3Ecreated_at&search=maiores&page=1&per_page=5" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/activity-logs/1"
);
const params = {
"sort": "created_at",
"filter[clearstream_id]": "13",
"filter[clearstream_reference_id]": "asperiores",
"filter[action_type]": "est",
"filter[user_name]": "enim",
"column": "context->created_at",
"search": "maiores",
"page": "1",
"per_page": "5",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 72
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/organisation/{organisation_id}/wastewater/reporting/labs/test-results/{report_id}/parameters/{id}
requires authentication
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-results/1/parameters/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-results/1/parameters/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 71
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Receives Maxio webhook events and processes them asynchronously via Event/Listener.
requires authentication
A fast 2xx response is important so Maxio does not retry the webhook.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/webhook/maxio/earum" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/webhook/maxio/earum"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Global Search
Combined
Combined Search
requires authentication
Get combined search results
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/global-search/combined?filter%5Bsearch%5D=quidem" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/global-search/combined"
);
const params = {
"filter[search]": "quidem",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
[],
[]
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisations
Organisations
requires authentication
Get Products
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/global-search/organisations?filter%5Btype_id%5D=labore&filter%5Blocation%5D=occaecati&filter%5Bsearch%5D=voluptatem&filter%5Bonly_active_connections%5D=qui&filter%5Bmrsl_standard_id%5D=rerum&filter%5Bctz_standard_id%5D=eos&filter%5Bhas_incheck_level_1%5D=perferendis&page=1&per_page=15" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/global-search/organisations"
);
const params = {
"filter[type_id]": "labore",
"filter[location]": "occaecati",
"filter[search]": "voluptatem",
"filter[only_active_connections]": "qui",
"filter[mrsl_standard_id]": "rerum",
"filter[ctz_standard_id]": "eos",
"filter[has_incheck_level_1]": "perferendis",
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "01-J4CGS34JUJV-Q",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"location": {
"code": "CN",
"name": "China"
}
},
{
"id": 1,
"reference_id": "01-J4CGS34JUJV-Q",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"location": {
"code": "CN",
"name": "China"
}
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 50,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Chemical Products
Chemical Products
requires authentication
Get Chemical Products
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/global-search/chemical-products?per_page=14&page=1&filter%5Bname%5D=suscipit&filter%5Bstatus%5D=sit&filter%5Bconformance_level_id%5D=8&filter%5Bctz_level_id%5D=2&filter%5Borganisation_id%5D=18&filter%5Bcreated_at%5D=quos&filter%5Bupdated_at%5D=beatae&filter%5Bsearch%5D=et" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/global-search/chemical-products"
);
const params = {
"per_page": "14",
"page": "1",
"filter[name]": "suscipit",
"filter[status]": "sit",
"filter[conformance_level_id]": "8",
"filter[ctz_level_id]": "2",
"filter[organisation_id]": "18",
"filter[created_at]": "quos",
"filter[updated_at]": "beatae",
"filter[search]": "et",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"status": "DRAFT",
"name": "A-POLE G-2 [P214AG76]",
"alternate_names": [
"P214AG76"
],
"chemical_formulator": {
"id": 5905,
"reference_id": "01-3SRBVESEWXG-W",
"type_id": 6,
"name": "Nicca Chemical Co., Ltd.",
"address_1": "4-23-1 Bunkyo",
"address_2": null,
"city": "Fukui",
"state": "Fukui",
"location": "JP",
"zip": "910-8670",
"phone": "+81-776-25-8646",
"email": "zdhc@niccachemical.com",
"website": "https://nctexchem.com",
"avatar_url": null,
"location_name": "Japan"
},
"can_access_product_profile": false,
"conformance_level": null,
"ctz_level": null,
"publication_expired": false,
"sds_url": null,
"website_url": null
},
{
"id": 1,
"reference_id": "20-Z4289ZZUE9-W",
"status": "DRAFT",
"name": "A-POLE G-2 [P214AG76]",
"alternate_names": [
"P214AG76"
],
"chemical_formulator": {
"id": 5905,
"reference_id": "01-3SRBVESEWXG-W",
"type_id": 6,
"name": "Nicca Chemical Co., Ltd.",
"address_1": "4-23-1 Bunkyo",
"address_2": null,
"city": "Fukui",
"state": "Fukui",
"location": "JP",
"zip": "910-8670",
"phone": "+81-776-25-8646",
"email": "zdhc@niccachemical.com",
"website": "https://nctexchem.com",
"avatar_url": null,
"location_name": "Japan"
},
"can_access_product_profile": false,
"conformance_level": null,
"ctz_level": null,
"publication_expired": false,
"sds_url": null,
"website_url": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 50,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
InCheck
Inventory
Eligable Suppliers
requires authentication
Show all eligable suppliers for a given Solution Provider
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/inventory/eligable-suppliers?page=1&per_page=17" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/inventory/eligable-suppliers"
);
const params = {
"page": "1",
"per_page": "17",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "01-J4CGS34JUJV-Q",
"name": "Ping Yang Pengye Shoes Com Ltd"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Activity Logs
Index
requires authentication
Get all activity logs for an incheck organisation
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/voluptatum/activity-logs?sort=created_at&filter%5Baction_type%5D=pariatur&filter%5Buser_name%5D=porro&column=context-%3Ecreated_at&search=quaerat&page=1&per_page=20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/voluptatum/activity-logs"
);
const params = {
"sort": "created_at",
"filter[action_type]": "pariatur",
"filter[user_name]": "porro",
"column": "context->created_at",
"search": "quaerat",
"page": "1",
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"channel": "organisation",
"level": "INFO",
"message": "[created] App\\Models\\Organisation",
"context": {
"ip": "127.0.0.1",
"auth_id": null,
"changes": {
"id": 19424,
"zip": "12345",
"city": "Invited city",
"name": "Bureau Veritas",
"uuid": "a1bbba2d-02f0-435e-bcc2-da28195fb810",
"email": "invited@localhost",
"phone": "+1234567890",
"state": "Invited state",
"status": "approved",
"type_id": 9,
"website": "https://invited.com",
"location": "US",
"address_1": "Invited street 1",
"address_2": "Invited street 2",
"legal_name": "Invited company",
"reference_id": "01-TMERKB8EK4F-M",
"contact_last_name": "Organisation",
"contact_first_name": "Invited",
"profile_reviewed_at": {
"date": "1987-09-15 21:19:59.000000",
"timezone": "UTC",
"timezone_type": 3
},
"registration_mail_sent_at": {
"date": "1989-11-09 04:04:34.000000",
"timezone": "UTC",
"timezone_type": 3
}
},
"context": {
"url": "console",
"user": "unauthenticated",
"user_role": "unauthenticated"
},
"endpoint": "console",
"auth_mail": null,
"action_type": "created",
"organisation_id": 19424,
"organisation_reference_id": "01-TMERKB8EK4F-M"
},
"created_at": "2026-05-08 21:42:24",
"deleted_at": null
},
{
"id": 1,
"channel": "organisation",
"level": "INFO",
"message": "[created] App\\Models\\Organisation",
"context": {
"ip": "127.0.0.1",
"auth_id": null,
"changes": {
"id": 19424,
"zip": "12345",
"city": "Invited city",
"name": "Bureau Veritas",
"uuid": "a1bbba2d-02f0-435e-bcc2-da28195fb810",
"email": "invited@localhost",
"phone": "+1234567890",
"state": "Invited state",
"status": "approved",
"type_id": 9,
"website": "https://invited.com",
"location": "US",
"address_1": "Invited street 1",
"address_2": "Invited street 2",
"legal_name": "Invited company",
"reference_id": "01-TMERKB8EK4F-M",
"contact_last_name": "Organisation",
"contact_first_name": "Invited",
"profile_reviewed_at": {
"date": "1987-09-15 21:19:59.000000",
"timezone": "UTC",
"timezone_type": 3
},
"registration_mail_sent_at": {
"date": "1989-11-09 04:04:34.000000",
"timezone": "UTC",
"timezone_type": 3
}
},
"context": {
"url": "console",
"user": "unauthenticated",
"user_role": "unauthenticated"
},
"endpoint": "console",
"auth_mail": null,
"action_type": "created",
"organisation_id": 19424,
"organisation_reference_id": "01-TMERKB8EK4F-M"
},
"created_at": "2026-05-08 21:42:24",
"deleted_at": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Index
requires authentication
Get all activity logs for a solution provider organisation
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/a/solution-provider/activity-logs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/a/solution-provider/activity-logs"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"channel": "organisation",
"level": "INFO",
"message": "[created] App\\Models\\Organisation",
"context": {
"ip": "127.0.0.1",
"auth_id": null,
"changes": {
"id": 19424,
"zip": "12345",
"city": "Invited city",
"name": "Bureau Veritas",
"uuid": "a1bbba2d-02f0-435e-bcc2-da28195fb810",
"email": "invited@localhost",
"phone": "+1234567890",
"state": "Invited state",
"status": "approved",
"type_id": 9,
"website": "https://invited.com",
"location": "US",
"address_1": "Invited street 1",
"address_2": "Invited street 2",
"legal_name": "Invited company",
"reference_id": "01-TMERKB8EK4F-M",
"contact_last_name": "Organisation",
"contact_first_name": "Invited",
"profile_reviewed_at": {
"date": "1987-09-15 21:19:59.000000",
"timezone": "UTC",
"timezone_type": 3
},
"registration_mail_sent_at": {
"date": "1989-11-09 04:04:34.000000",
"timezone": "UTC",
"timezone_type": 3
}
},
"context": {
"url": "console",
"user": "unauthenticated",
"user_role": "unauthenticated"
},
"endpoint": "console",
"auth_mail": null,
"action_type": "created",
"organisation_id": 19424,
"organisation_reference_id": "01-TMERKB8EK4F-M"
},
"created_at": "2026-05-08 21:42:24",
"deleted_at": null
},
{
"id": 1,
"channel": "organisation",
"level": "INFO",
"message": "[created] App\\Models\\Organisation",
"context": {
"ip": "127.0.0.1",
"auth_id": null,
"changes": {
"id": 19424,
"zip": "12345",
"city": "Invited city",
"name": "Bureau Veritas",
"uuid": "a1bbba2d-02f0-435e-bcc2-da28195fb810",
"email": "invited@localhost",
"phone": "+1234567890",
"state": "Invited state",
"status": "approved",
"type_id": 9,
"website": "https://invited.com",
"location": "US",
"address_1": "Invited street 1",
"address_2": "Invited street 2",
"legal_name": "Invited company",
"reference_id": "01-TMERKB8EK4F-M",
"contact_last_name": "Organisation",
"contact_first_name": "Invited",
"profile_reviewed_at": {
"date": "1987-09-15 21:19:59.000000",
"timezone": "UTC",
"timezone_type": 3
},
"registration_mail_sent_at": {
"date": "1989-11-09 04:04:34.000000",
"timezone": "UTC",
"timezone_type": 3
}
},
"context": {
"url": "console",
"user": "unauthenticated",
"user_role": "unauthenticated"
},
"endpoint": "console",
"auth_mail": null,
"action_type": "created",
"organisation_id": 19424,
"organisation_reference_id": "01-TMERKB8EK4F-M"
},
"created_at": "2026-05-08 21:42:24",
"deleted_at": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Onboarding Progress
requires authentication
See the requirements for the onboarding process to the incheck module
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/1/onboarding-progress" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/1/onboarding-progress"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 81
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Level
Index
requires authentication
List InCheck levels
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/level" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/level"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 80
vary: Origin
[
{
"id": 2,
"name": "Level 1",
"created_at": "2026-05-08T21:42:24.000000Z",
"updated_at": "2026-05-19T11:35:13.000000Z"
},
{
"id": 3,
"name": "Level 0",
"created_at": "2026-05-21T16:13:40.000000Z",
"updated_at": "2026-05-21T16:13:40.000000Z"
}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Subscriptions
Store
requires authentication
Create a new subscription for a supplier
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/incheck/perspiciatis/subscriptions/ducimus" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"voucher_code\": \"fshsfstpzsyinzctdfmudtd\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/perspiciatis/subscriptions/ducimus"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"voucher_code": "fshsfstpzsyinzctdfmudtd"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (400):
ValidationError
Example response (404):
CouponNotFound
Example response (409):
SubscriptionAlreadyActive
Example response (409):
SubscriptionPendingPayment
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show the subscription for a supplier
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/provident/subscriptions/maxime" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/provident/subscriptions/maxime"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"subscriptionId": 374452,
"supplierId": 1,
"status": "active",
"reportingAllowed": true,
"startDate": "2027-05-05T13:47:05.000000Z",
"expiryDate": "2028-05-05T13:47:05.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reports
Index
requires authentication
Get all incheck reports for an organisation
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/sit/reports" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/sit/reports"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "48-9PZFTPBB778A-T",
"legacy_report_id": 169838,
"supplier_id": 15699,
"status": "reports_selected",
"verified_at": null,
"closed_at": null,
"created_at": "2025-11-12T00:00:00.000000Z",
"updated_at": "2026-05-21T15:35:21.000000Z",
"legacy_external_id": "0RTCG9F7-11122025",
"solution_provider_organisation_id": 19424,
"inventory_type": "Usage",
"reporting_month": 10,
"reporting_year": 2025,
"incheck_level_id": 2
},
{
"id": 1,
"reference_id": "48-9PZFTPBB778A-T",
"legacy_report_id": 169838,
"supplier_id": 15699,
"status": "reports_selected",
"verified_at": null,
"closed_at": null,
"created_at": "2025-11-12T00:00:00.000000Z",
"updated_at": "2026-05-21T15:35:21.000000Z",
"legacy_external_id": "0RTCG9F7-11122025",
"solution_provider_organisation_id": 19424,
"inventory_type": "Usage",
"reporting_month": 10,
"reporting_year": 2025,
"incheck_level_id": 2
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show an incheck report
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/consequatur/reports/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/consequatur/reports/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "48-9PZFTPBB778A-T",
"legacy_report_id": 169838,
"supplier_id": 15699,
"status": "reports_selected",
"verified_at": null,
"closed_at": null,
"created_at": "2025-11-12T00:00:00.000000Z",
"updated_at": "2026-05-21T15:35:21.000000Z",
"legacy_external_id": "0RTCG9F7-11122025",
"solution_provider_organisation_id": 19424,
"inventory_type": "Usage",
"reporting_month": 10,
"reporting_year": 2025,
"incheck_level_id": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Create a new incheck report
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/incheck/ea/reports" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/ea/reports"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (201):
{
"data": {
"id": 1,
"reference_id": "48-9PZFTPBB778A-T",
"legacy_report_id": 169838,
"supplier_id": 15699,
"status": "reports_selected",
"verified_at": null,
"closed_at": null,
"created_at": "2025-11-12T00:00:00.000000Z",
"updated_at": "2026-05-21T15:35:21.000000Z",
"legacy_external_id": "0RTCG9F7-11122025",
"solution_provider_organisation_id": 19424,
"inventory_type": "Usage",
"reporting_month": 10,
"reporting_year": 2025,
"incheck_level_id": 2
},
"message": "InCheck report created successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update an incheck report
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/incheck/vel/reports/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"close\": false
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/vel/reports/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"close": false
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Report Inventories
Index
requires authentication
Get all eligabile inventories for an incheck report. Usually last 12 months.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/non/reports/1/inventories" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/non/reports/1/inventories"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "40-4SLWVAK6HPG-B",
"submitting_user_id": null,
"submitting_organisation_id": null,
"supplier_id": 13680,
"period": "2019-05-01T00:00:00.000000Z",
"type": "unspecified",
"status": "published",
"auto_published": 0,
"published_at": "2020-08-07T00:00:00.000000Z",
"submitted_at": "2020-08-07T00:00:00.000000Z",
"declined_at": null,
"declined_reason": null,
"declined_additional_info": null,
"created_at": "2026-05-19T08:41:21.000000Z",
"updated_at": "2026-05-19T09:32:48.000000Z",
"expected_expiration": "2020-09-20T23:59:59.999999Z",
"publishable": false,
"published_inventory": {
"id": 1,
"level": {
"id": 2,
"name": "Level 1",
"created_at": "2026-05-08T21:42:24.000000Z",
"updated_at": "2026-05-19T11:35:13.000000Z"
}
}
},
{
"id": 1,
"reference_id": "40-4SLWVAK6HPG-B",
"submitting_user_id": null,
"submitting_organisation_id": null,
"supplier_id": 13680,
"period": "2019-05-01T00:00:00.000000Z",
"type": "unspecified",
"status": "published",
"auto_published": 0,
"published_at": "2020-08-07T00:00:00.000000Z",
"submitted_at": "2020-08-07T00:00:00.000000Z",
"declined_at": null,
"declined_reason": null,
"declined_additional_info": null,
"created_at": "2026-05-19T08:41:21.000000Z",
"updated_at": "2026-05-19T09:32:48.000000Z",
"expected_expiration": "2020-09-20T23:59:59.999999Z",
"publishable": false,
"published_inventory": {
"id": 1,
"level": {
"id": 2,
"name": "Level 1",
"created_at": "2026-05-08T21:42:24.000000Z",
"updated_at": "2026-05-19T11:35:13.000000Z"
}
}
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Bind
requires authentication
Bind inventories to an incheck report.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/incheck/deleniti/reports/1/inventories" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"inventory_ids\": [
6
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/deleniti/reports/1/inventories"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"inventory_ids": [
6
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Supplier Providers
index
requires authentication
List selected solution providers
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/1/providers" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/1/providers"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 79
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Levels
requires authentication
List all inCheck levels for a supplier
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/incheck/1/providers/levels" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/1/providers/levels"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 2,
"name": "Level 1",
"created_at": "2026-05-08T21:42:24.000000Z",
"updated_at": "2026-05-19T11:35:13.000000Z"
},
{
"id": 2,
"name": "Level 1",
"created_at": "2026-05-08T21:42:24.000000Z",
"updated_at": "2026-05-19T11:35:13.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync
requires authentication
Sync relating Suppliers to Incheck Providers AND set the incheck level
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/incheck/1/providers/sync" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"level_ids\": [
15
],
\"provider_visibility_ids\": [
13
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/incheck/1/providers/sync"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"level_ids": [
15
],
"provider_visibility_ids": [
13
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verified InCheck Report PDF
Show
requires authentication
Show the verified incheck report as a pdf
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/incheck/reports/rerum/verified-incheck-report-pdf" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/incheck/reports/rerum/verified-incheck-report-pdf"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
content of the pdf
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Industry Identifiers
Index
Get a paginated list of industry identifiers.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/industry-identifiers?per_page=3&page=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/industry-identifiers"
);
const params = {
"per_page": "3",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 3,
"name": "amfori ID"
},
{
"id": 3,
"name": "amfori ID"
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "50",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Labels
Index
requires authentication
Get a list of labels for an organisation
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/labels?page=1&per_page=5&filter%5Blabelable_type%5D=quidem&sort=name&search=voluptatem" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/labels"
);
const params = {
"page": "1",
"per_page": "5",
"filter[labelable_type]": "quidem",
"sort": "name",
"search": "voluptatem",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
[],
[]
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Delete a label.
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/labels/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/labels/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Localisation
Locales
Get a list of all accepted locales
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/localisation/locales" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/localisation/locales"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
[
{
"en": "English",
"zh": "英语",
}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Locations
Get a list of all accepted locations
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/localisation/locations" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/localisation/locations"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
[
{
"AD": "Andorra",
"AE": "United Arab Emirates",
"AF": "Afghanistan",
"AG": "Antigua and Barbuda",
}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
MRSL Standards
Index
requires authentication
Get MRSL Standards
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard?per_page=10&page=1&filter%5Bconformance_level_id%5D=17&filter%5Bstatus%5D=eaque&filter%5Bstart_date%5D=eveniet&filter%5Bend_date%5D=voluptatem&filter%5Bcreated_at%5D=non&filter%5Bupdated_at%5D=quam&search=ea&sort=name&column=name" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard"
);
const params = {
"per_page": "10",
"page": "1",
"filter[conformance_level_id]": "17",
"filter[status]": "eaque",
"filter[start_date]": "eveniet",
"filter[end_date]": "voluptatem",
"filter[created_at]": "non",
"filter[updated_at]": "quam",
"search": "ea",
"sort": "name",
"column": "name",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"legacy_certification_standard_id": 69,
"reference_id": "30-HRBQFLXEEXU-K",
"name": "Brachi Testing Services",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 1,
"start_date": "2020-08-12T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:17.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": "2026-05-12T15:01:47.000000Z",
"conformance_level": {
"id": 1,
"name": "Level 1",
"created_at": null,
"updated_at": null
},
"organisations": [
{
"id": 8567,
"maxio_customer_id": 310314,
"reference_id": "01-8ZQM4EKQRV3-B",
"pdc_id": null,
"gateway_aid": "A904AT31",
"uuid": "042f9b98-c0c0-4c76-a85f-75d059a4c9b6",
"type_id": 7,
"status": "approved",
"name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"legal_name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"address_1": "Via Fona di Mezzana, 59100",
"address_2": null,
"city": "Mezzana",
"state": "Prato",
"location": "IT",
"zip": "",
"phone": "+390574591343",
"email": "giancarlo.diblasi@brachi.it",
"contact_first_name": "Giancarlo",
"contact_last_name": "Di Blasi",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:36.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"mrsl_standard_id": 1,
"organisation_id": 8567,
"id": 64,
"valid_until": "2024-06-01T00:00:00.000000Z",
"created_at": "2020-10-05T00:00:00.000000Z",
"updated_at": "2025-03-12T00:00:00.000000Z"
}
}
]
},
{
"id": 1,
"legacy_certification_standard_id": 69,
"reference_id": "30-HRBQFLXEEXU-K",
"name": "Brachi Testing Services",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 1,
"start_date": "2020-08-12T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:17.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": "2026-05-12T15:01:47.000000Z",
"conformance_level": {
"id": 1,
"name": "Level 1",
"created_at": null,
"updated_at": null
},
"organisations": [
{
"id": 8567,
"maxio_customer_id": 310314,
"reference_id": "01-8ZQM4EKQRV3-B",
"pdc_id": null,
"gateway_aid": "A904AT31",
"uuid": "042f9b98-c0c0-4c76-a85f-75d059a4c9b6",
"type_id": 7,
"status": "approved",
"name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"legal_name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"address_1": "Via Fona di Mezzana, 59100",
"address_2": null,
"city": "Mezzana",
"state": "Prato",
"location": "IT",
"zip": "",
"phone": "+390574591343",
"email": "giancarlo.diblasi@brachi.it",
"contact_first_name": "Giancarlo",
"contact_last_name": "Di Blasi",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:36.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"mrsl_standard_id": 1,
"organisation_id": 8567,
"id": 64,
"valid_until": "2024-06-01T00:00:00.000000Z",
"created_at": "2020-10-05T00:00:00.000000Z",
"updated_at": "2025-03-12T00:00:00.000000Z"
}
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show a MRSL Standard
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"legacy_certification_standard_id": 69,
"reference_id": "30-HRBQFLXEEXU-K",
"name": "Brachi Testing Services",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 1,
"start_date": "2020-08-12T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:17.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": "2026-05-12T15:01:47.000000Z",
"conformance_level": {
"id": 1,
"name": "Level 1",
"created_at": null,
"updated_at": null
},
"organisations": [
{
"id": 8567,
"maxio_customer_id": 310314,
"reference_id": "01-8ZQM4EKQRV3-B",
"pdc_id": null,
"gateway_aid": "A904AT31",
"uuid": "042f9b98-c0c0-4c76-a85f-75d059a4c9b6",
"type_id": 7,
"status": "approved",
"name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"legal_name": "Brachi Testing Services S.r.l. Unipersonale_MRSL",
"address_1": "Via Fona di Mezzana, 59100",
"address_2": null,
"city": "Mezzana",
"state": "Prato",
"location": "IT",
"zip": "",
"phone": "+390574591343",
"email": "giancarlo.diblasi@brachi.it",
"contact_first_name": "Giancarlo",
"contact_last_name": "Di Blasi",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2020-01-08T00:00:00.000000Z",
"updated_at": "2026-05-12T15:19:36.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "Italy",
"pivot": {
"mrsl_standard_id": 1,
"organisation_id": 8567,
"id": 64,
"valid_until": "2024-06-01T00:00:00.000000Z",
"created_at": "2020-10-05T00:00:00.000000Z",
"updated_at": "2025-03-12T00:00:00.000000Z"
}
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Create a new MRSL Standard
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ggfwolwm\",
\"version\": \"leypvezcmeqi\",
\"conformance_level_id\": \"aperiam\",
\"start_date\": \"2026-05-21T16:14:53\",
\"end_date\": \"2026-05-21T16:14:53\",
\"status\": \"PASSED\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ggfwolwm",
"version": "leypvezcmeqi",
"conformance_level_id": "aperiam",
"start_date": "2026-05-21T16:14:53",
"end_date": "2026-05-21T16:14:53",
"status": "PASSED"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"legacy_certification_standard_id": 69,
"reference_id": "30-HRBQFLXEEXU-K",
"name": "Brachi Testing Services",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 1,
"start_date": "2020-08-12T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:17.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": "2026-05-12T15:01:47.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a MRSL Standard
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"lqcrqxmihiaedwxjavrkqsimg\",
\"version\": \"uxoixqqiwowfwmruotftkagu\",
\"conformance_level_id\": \"dignissimos\",
\"start_date\": \"2026-05-21T16:14:53\",
\"end_date\": \"2026-05-21T16:14:53\",
\"status\": \"FAILED\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "lqcrqxmihiaedwxjavrkqsimg",
"version": "uxoixqqiwowfwmruotftkagu",
"conformance_level_id": "dignissimos",
"start_date": "2026-05-21T16:14:53",
"end_date": "2026-05-21T16:14:53",
"status": "FAILED"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"legacy_certification_standard_id": 69,
"reference_id": "30-HRBQFLXEEXU-K",
"name": "Brachi Testing Services",
"version": "ZDHC MRSL v2.0",
"conformance_level_id": 1,
"start_date": "2020-08-12T00:00:00.000000Z",
"end_date": "2024-06-01T00:00:00.000000Z",
"status": "PASSED",
"created_at": "2026-05-08T21:42:17.000000Z",
"updated_at": "2026-05-12T15:01:47.000000Z",
"expired_at": "2026-05-12T15:01:47.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Delete a MRSL Standard
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/chemical/certification/mrsl-standard/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisations
Allowed Connections
Index
requires authentication
List all organisation connections
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/organisation/1/allowed-connections?per_page=17&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/organisation/1/allowed-connections"
);
const params = {
"per_page": "17",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"source_type_id": 4,
"target_type_id": 2,
"deactivated": 0,
"created_at": "2026-05-18T16:16:07.000000Z",
"updated_at": "2026-05-18T16:16:07.000000Z",
"source": {
"id": 4,
"name": "Brand",
"display_name": "Brand",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
},
"target": {
"id": 2,
"name": "Supplier",
"display_name": "Supplier",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
}
},
{
"id": 1,
"source_type_id": 4,
"target_type_id": 2,
"deactivated": 0,
"created_at": "2026-05-18T16:16:07.000000Z",
"updated_at": "2026-05-18T16:16:07.000000Z",
"source": {
"id": 4,
"name": "Brand",
"display_name": "Brand",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
},
"target": {
"id": 2,
"name": "Supplier",
"display_name": "Supplier",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
}
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Store an organisation connection
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/organisation/1/allowed-connections" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"source_type_id\": 19,
\"target_type_id\": 1,
\"deactivated\": false
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/organisation/1/allowed-connections"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"source_type_id": 19,
"target_type_id": 1,
"deactivated": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"source_type_id": 4,
"target_type_id": 2,
"deactivated": 0,
"created_at": "2026-05-18T16:16:07.000000Z",
"updated_at": "2026-05-18T16:16:07.000000Z"
},
{
"id": 1,
"source_type_id": 4,
"target_type_id": 2,
"deactivated": 0,
"created_at": "2026-05-18T16:16:07.000000Z",
"updated_at": "2026-05-18T16:16:07.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Destroy an organisation connection
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisations/organisation/1/allowed-connections/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/organisation/1/allowed-connections/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Selectable target types
requires authentication
Get types that are selectable for a connection
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/selectable-target-types" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/selectable-target-types"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
1,
2,
3
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Connection Associations
Index
requires authentication
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/associations?per_page=2&page=1&search=sunt&filter%5Btype%5D=suppliers_to_brand&filter%5Bfrom_organisation_connection_id%5D=4&filter%5Bfrom_organisation_id%5D=19&filter%5Bcreated_at%5D=%3C+2026-06-08+16%3A14%3A55&filter%5Bupdated_at%5D=%3D+2026-05-31+16%3A14%3A55&sort=type" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/associations"
);
const params = {
"per_page": "2",
"page": "1",
"search": "sunt",
"filter[type]": "suppliers_to_brand",
"filter[from_organisation_connection_id]": "4",
"filter[from_organisation_id]": "19",
"filter[created_at]": "< 2026-06-08 16:14:55",
"filter[updated_at]": "= 2026-05-31 16:14:55",
"sort": "type",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 7,
"type": "suppliers_to_brand",
"to_endpoint": "receiving_organisation",
"to_organisation_connection": {
"id": 24814,
"sending_organisation_id": 171283,
"receiving_organisation_id": 171285,
"accepted_at": null,
"disconnected_at": null,
"rejected_at": null,
"created_at": "2026-05-21T16:14:56.000000Z",
"updated_at": "2026-05-21T16:14:56.000000Z",
"status": "pending",
"sharing_settings": []
},
"from_endpoint": "sending_organisation",
"from_organisation_connection": {
"id": 24813,
"sending_organisation_id": 171284,
"receiving_organisation_id": 171285,
"accepted_at": null,
"disconnected_at": null,
"rejected_at": null,
"created_at": "2026-05-21T16:14:56.000000Z",
"updated_at": "2026-05-21T16:14:56.000000Z",
"status": "pending",
"sharing_settings": []
},
"created_at": "2026-05-21T16:14:56.000000Z",
"updated_at": "2026-05-21T16:14:56.000000Z"
},
{
"id": 7,
"type": "suppliers_to_brand",
"to_endpoint": "receiving_organisation",
"to_organisation_connection": {
"id": 24814,
"sending_organisation_id": 171283,
"receiving_organisation_id": 171285,
"accepted_at": null,
"disconnected_at": null,
"rejected_at": null,
"created_at": "2026-05-21T16:14:56.000000Z",
"updated_at": "2026-05-21T16:14:56.000000Z",
"status": "pending",
"sharing_settings": []
},
"from_endpoint": "sending_organisation",
"from_organisation_connection": {
"id": 24813,
"sending_organisation_id": 171284,
"receiving_organisation_id": 171285,
"accepted_at": null,
"disconnected_at": null,
"rejected_at": null,
"created_at": "2026-05-21T16:14:56.000000Z",
"updated_at": "2026-05-21T16:14:56.000000Z",
"status": "pending",
"sharing_settings": []
},
"created_at": "2026-05-21T16:14:56.000000Z",
"updated_at": "2026-05-21T16:14:56.000000Z"
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "100",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync
requires authentication
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/associations/sync" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"suppliers_to_brand\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/associations/sync"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "suppliers_to_brand"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 8,
"type": "suppliers_to_brand",
"to_endpoint": "receiving_organisation",
"to_organisation_connection": {
"id": 24817,
"sending_organisation_id": 171286,
"receiving_organisation_id": 171288,
"accepted_at": null,
"disconnected_at": null,
"rejected_at": null,
"created_at": "2026-05-21T16:14:57.000000Z",
"updated_at": "2026-05-21T16:14:57.000000Z",
"status": "pending",
"sharing_settings": []
},
"from_endpoint": "sending_organisation",
"from_organisation_connection": {
"id": 24816,
"sending_organisation_id": 171287,
"receiving_organisation_id": 171288,
"accepted_at": null,
"disconnected_at": null,
"rejected_at": null,
"created_at": "2026-05-21T16:14:57.000000Z",
"updated_at": "2026-05-21T16:14:57.000000Z",
"status": "pending",
"sharing_settings": []
},
"created_at": "2026-05-21T16:14:57.000000Z",
"updated_at": "2026-05-21T16:14:57.000000Z"
},
{
"id": 8,
"type": "suppliers_to_brand",
"to_endpoint": "receiving_organisation",
"to_organisation_connection": {
"id": 24817,
"sending_organisation_id": 171286,
"receiving_organisation_id": 171288,
"accepted_at": null,
"disconnected_at": null,
"rejected_at": null,
"created_at": "2026-05-21T16:14:57.000000Z",
"updated_at": "2026-05-21T16:14:57.000000Z",
"status": "pending",
"sharing_settings": []
},
"from_endpoint": "sending_organisation",
"from_organisation_connection": {
"id": 24816,
"sending_organisation_id": 171287,
"receiving_organisation_id": 171288,
"accepted_at": null,
"disconnected_at": null,
"rejected_at": null,
"created_at": "2026-05-21T16:14:57.000000Z",
"updated_at": "2026-05-21T16:14:57.000000Z",
"status": "pending",
"sharing_settings": []
},
"created_at": "2026-05-21T16:14:57.000000Z",
"updated_at": "2026-05-21T16:14:57.000000Z"
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "100",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Connections
Index
requires authentication
List all organisation connections
Each item in data can include one integer field per {@see OrganisationConnectionAssociationTypeEnum} case:
{type}_association_count (e.g. suppliers_to_brand_association_count), from withCount on the connection model.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections?per_page=14&page=1&search=earum&filter%5Bstatus%5D=debitis&filter%5Binitiated_by%5D=odio&filter%5Blabels%5D=eum&filter%5Borganisation_type%5D=aperiam&filter%5Borganisation_location%5D=illo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections"
);
const params = {
"per_page": "14",
"page": "1",
"search": "earum",
"filter[status]": "debitis",
"filter[initiated_by]": "odio",
"filter[labels]": "eum",
"filter[organisation_type]": "aperiam",
"filter[organisation_location]": "illo",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"sending_organisation_id": 15887,
"receiving_organisation_id": 14374,
"accepted_at": "2021-01-15 00:00:00",
"disconnected_at": null,
"rejected_at": null,
"created_at": "2021-01-15T00:00:00.000000Z",
"updated_at": "2021-01-15T00:00:00.000000Z",
"status": "active",
"receiving_organisation": {
"id": 14374,
"maxio_customer_id": 316054,
"reference_id": "01-HRBL9S3SZDH-R",
"pdc_id": null,
"gateway_aid": "A284DO88",
"uuid": "c6430540-00dd-48b8-933f-6efdd3d2f18c",
"type_id": 2,
"status": "approved",
"name": "Bindal Silk Mills Private Limited",
"legal_name": "Bindal Silk Mills Private Limited",
"address_1": "p-216,kadodara",
"address_2": null,
"city": "Surat",
"state": "Gujarat",
"location": "IN",
"zip": "394327",
"phone": "02622 271009,",
"email": "mail@bindalmill.com",
"contact_first_name": "avichal",
"contact_last_name": "arya",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2017-09-27T03:26:36.000000Z",
"updated_at": "2026-05-12T15:38:33.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"type": {
"id": 2,
"name": "Supplier",
"display_name": "Supplier",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
}
},
"sending_organisation": {
"id": 15887,
"maxio_customer_id": 317567,
"reference_id": "01-WEJAVK2J8KK-Z",
"pdc_id": null,
"gateway_aid": "A137YR68",
"uuid": "0c430135-8770-4d45-b010-c6d540a922f8",
"type_id": 4,
"status": "approved",
"name": "Primark",
"legal_name": "Primark",
"address_1": "10 Grosvenor Street, London, W1K 4QY",
"address_2": null,
"city": "City Of London",
"state": "London",
"location": "GB",
"zip": "",
"phone": "+44 7525203334",
"email": "hhabibhasan@primark.co.uk",
"contact_first_name": "HANDE",
"contact_last_name": "Tezer",
"website": "https://www.primark.com/en/homepage",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2017-08-01T00:00:00.000000Z",
"updated_at": "2026-05-12T15:43:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United Kingdom",
"type": {
"id": 4,
"name": "Brand",
"display_name": "Brand",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
}
}
},
{
"id": 1,
"sending_organisation_id": 15887,
"receiving_organisation_id": 14374,
"accepted_at": "2021-01-15 00:00:00",
"disconnected_at": null,
"rejected_at": null,
"created_at": "2021-01-15T00:00:00.000000Z",
"updated_at": "2021-01-15T00:00:00.000000Z",
"status": "active",
"receiving_organisation": {
"id": 14374,
"maxio_customer_id": 316054,
"reference_id": "01-HRBL9S3SZDH-R",
"pdc_id": null,
"gateway_aid": "A284DO88",
"uuid": "c6430540-00dd-48b8-933f-6efdd3d2f18c",
"type_id": 2,
"status": "approved",
"name": "Bindal Silk Mills Private Limited",
"legal_name": "Bindal Silk Mills Private Limited",
"address_1": "p-216,kadodara",
"address_2": null,
"city": "Surat",
"state": "Gujarat",
"location": "IN",
"zip": "394327",
"phone": "02622 271009,",
"email": "mail@bindalmill.com",
"contact_first_name": "avichal",
"contact_last_name": "arya",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2017-09-27T03:26:36.000000Z",
"updated_at": "2026-05-12T15:38:33.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "India",
"type": {
"id": 2,
"name": "Supplier",
"display_name": "Supplier",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
}
},
"sending_organisation": {
"id": 15887,
"maxio_customer_id": 317567,
"reference_id": "01-WEJAVK2J8KK-Z",
"pdc_id": null,
"gateway_aid": "A137YR68",
"uuid": "0c430135-8770-4d45-b010-c6d540a922f8",
"type_id": 4,
"status": "approved",
"name": "Primark",
"legal_name": "Primark",
"address_1": "10 Grosvenor Street, London, W1K 4QY",
"address_2": null,
"city": "City Of London",
"state": "London",
"location": "GB",
"zip": "",
"phone": "+44 7525203334",
"email": "hhabibhasan@primark.co.uk",
"contact_first_name": "HANDE",
"contact_last_name": "Tezer",
"website": "https://www.primark.com/en/homepage",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2017-08-01T00:00:00.000000Z",
"updated_at": "2026-05-12T15:43:35.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "United Kingdom",
"type": {
"id": 4,
"name": "Brand",
"display_name": "Brand",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
}
}
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "100",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Export connections as CSV
requires authentication
All connections for the organisation (unpaginated, one row per connection). The other party on each connection is used for the organisation columns.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/export" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/export"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
file
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Search connectable organisations
requires authentication
Search for connectable organisations
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/search-connectable-organisations?page=1&per_page=17&search=doloremque" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type_id\": 2,
\"search\": \"quo\",
\"exclude_connected\": \"0\",
\"exclude_pending\": \"1\",
\"include_all\": \"true\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/search-connectable-organisations"
);
const params = {
"page": "1",
"per_page": "17",
"search": "doloremque",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type_id": 2,
"search": "quo",
"exclude_connected": "0",
"exclude_pending": "1",
"include_all": "true"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 2,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China"
},
{
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 2,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show an organisation connection
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"sending_organisation_id": 15887,
"receiving_organisation_id": 14374,
"accepted_at": "2021-01-15 00:00:00",
"disconnected_at": null,
"rejected_at": null,
"created_at": "2021-01-15T00:00:00.000000Z",
"updated_at": "2021-01-15T00:00:00.000000Z",
"status": "active",
"sending_organisation": {
"id": 15887,
"reference_id": "01-WEJAVK2J8KK-Z",
"type_id": 4,
"name": "Primark",
"address_1": "10 Grosvenor Street, London, W1K 4QY",
"address_2": null,
"city": "City Of London",
"state": "London",
"location": "GB",
"zip": "",
"phone": "+44 7525203334",
"email": "hhabibhasan@primark.co.uk",
"website": "https://www.primark.com/en/homepage",
"avatar_url": null,
"location_name": "United Kingdom"
},
"receiving_organisation": {
"id": 14374,
"reference_id": "01-HRBL9S3SZDH-R",
"type_id": 2,
"name": "Bindal Silk Mills Private Limited",
"address_1": "p-216,kadodara",
"address_2": null,
"city": "Surat",
"state": "Gujarat",
"location": "IN",
"zip": "394327",
"phone": "02622 271009,",
"email": "mail@bindalmill.com",
"website": null,
"avatar_url": null,
"location_name": "India"
},
"labels": [],
"sharing_settings": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update an organisation connection
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"labels\": [
\"pxamwkwnkdhxndizbdxdk\"
],
\"sharing_settings\": [
{
\"type\": \"quibusdam\",
\"active\": false
}
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"labels": [
"pxamwkwnkdhxndizbdxdk"
],
"sharing_settings": [
{
"type": "quibusdam",
"active": false
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"sending_organisation_id": 15887,
"receiving_organisation_id": 14374,
"accepted_at": "2021-01-15 00:00:00",
"disconnected_at": null,
"rejected_at": null,
"created_at": "2021-01-15T00:00:00.000000Z",
"updated_at": "2021-01-15T00:00:00.000000Z",
"status": "active",
"sharing_settings": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Invite
requires authentication
Invite an organisation to connect
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/invite" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organisation_id\": 8
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/invite"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organisation_id": 8
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
Organisation connection initiated
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Accept
requires authentication
Accept an organisation connection
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/accept" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/accept"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Organisation connection accepted"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reject
requires authentication
Reject an organisation connection
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/reject" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/reject"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Organisation connection rejected"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Disconnect
requires authentication
Disconnect an organisation connection
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/disconnect" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/disconnect"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Organisation disconnected"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel
requires authentication
Cancel a pending organisation connection request
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/cancel" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/connections/1/cancel"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Connection request cancelled"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Index
requires authentication
List all organisations.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations?filter%5Bstatus%5D=quod&filter%5Btype_id%5D=qui&sort=name&page=1&per_page=1&search=rerum" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations"
);
const params = {
"filter[status]": "quod",
"filter[type_id]": "qui",
"sort": "name",
"page": "1",
"per_page": "1",
"search": "rerum",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 4,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"type_name": "Vendor"
},
{
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 2,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"type_name": "ZDHC Internal"
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "50",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
Show an organisation's data.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 2,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"type": {
"id": 2,
"name": "Supplier",
"display_name": "Supplier",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
},
"industry_identifiers": [],
"conformance_level_products": [],
"field_comments": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
Update an organisation's data. Use a PATCH request for partial updates to get better performance.
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=egbuussunzhkpzvj"\
--form "legal_name=exudnihxcxv"\
--form "address_1=quo"\
--form "city=phwsbzixobtbkspks"\
--form "state=rpkiszfycyxzapeuv"\
--form "location=ST"\
--form "zip=gaszzravbwufxl"\
--form "phone=+1234567890"\
--form "email=cremin.jillian@example.net"\
--form "contact_first_name=quaerat"\
--form "contact_last_name=provident"\
--form "website=https://example.com"\
--form "conformance_level_products[][id]=19"\
--form "conformance_level_products[][count]=45"\
--form "status=rejected"\
--form "reviewer_comment=velit"\
--form "reviewer_comment_category=Other"\
--form "industry_ids[][id]=12"\
--form "industry_ids[][value]=axenwqbsnkponnxrsodv"\
--form "safety_data_sheet=@/tmp/phpjoHfEG" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'egbuussunzhkpzvj');
body.append('legal_name', 'exudnihxcxv');
body.append('address_1', 'quo');
body.append('city', 'phwsbzixobtbkspks');
body.append('state', 'rpkiszfycyxzapeuv');
body.append('location', 'ST');
body.append('zip', 'gaszzravbwufxl');
body.append('phone', '+1234567890');
body.append('email', 'cremin.jillian@example.net');
body.append('contact_first_name', 'quaerat');
body.append('contact_last_name', 'provident');
body.append('website', 'https://example.com');
body.append('conformance_level_products[][id]', '19');
body.append('conformance_level_products[][count]', '45');
body.append('status', 'rejected');
body.append('reviewer_comment', 'velit');
body.append('reviewer_comment_category', 'Other');
body.append('industry_ids[][id]', '12');
body.append('industry_ids[][value]', 'axenwqbsnkponnxrsodv');
body.append('safety_data_sheet', document.querySelector('input[name="safety_data_sheet"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200, Success):
{
"message": "updated successfully"
}
Example response (422, Validation Error):
{
"message": "[error message from the first field failing validation]",
"errors": {
"[field_name]": [
"[any validator message failing]"
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Distinct Status
requires authentication
Get a list of distinct organisation statuses.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations-distinct-status" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations-distinct-status"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Success):
{
"data": [
"submitted",
"needs_correction",
"approved",
"rejected"
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Distinct Types
requires authentication
Get a list of distinct organisation types.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations-distinct-types" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations-distinct-types"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Success):
{
"data": {
"1": "Supplier",
"2": "Vendor"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Profile
Public profile
requires authentication
Get a public profile of an organisation.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/organisation-profile/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/organisation-profile/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "01-J4CGS34JUJV-Q",
"type_id": 2,
"name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"website": null,
"avatar_url": null,
"location_name": "China",
"os_hub_identifier": null,
"type": {
"id": 2,
"name": "Supplier"
},
"further_details": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Visibility Settings
Show Visibility settings
requires authentication
Get all visibility settings of an organisation, grouped by visibility type.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/visibility-settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/visibility-settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Success):
{
"message": "Visibility settings fetched successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Visibility settings
requires authentication
Update the visibility settings of an organisation.
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/visibility-settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"visibility_type\": \"sds_files\",
\"visibility_settings\": [
{
\"organisation_type_id\": 7,
\"visible\": false
}
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/visibility-settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"visibility_type": "sds_files",
"visibility_settings": [
{
"organisation_type_id": 7,
"visible": false
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Success):
{
"message": "Visibility settings updated successfully"
}
Example response (422, Validation Error):
{
"message": "[error message from the first field failing validation]",
"errors": {
"[field_name]": [
"[any validator message failing]"
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
History
Index
requires authentication
List all history entries for an organisation.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/history" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/history"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
[],
[]
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "10",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Invitations
Index
requires authentication
List all invitations for the organisation.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/invitation?per_page=20&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/invitation"
);
const params = {
"per_page": "20",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "06-QAX2XTKPKQT-Y",
"uuid": "a1bbba36-062c-44ea-adaf-c10774547880",
"inviting_organisation_id": 19430,
"inviting_user_id": 18968,
"receiving_organisation_id": 19430,
"receiving_user_id": 18968,
"status": "INVITED",
"valid_until": "2026-05-15T21:42:30.000000Z",
"redeemed_at": null,
"auto_connect": false,
"created_at": "2026-05-08T21:42:30.000000Z",
"updated_at": "2026-05-08T21:42:30.000000Z",
"receiving_organisation": {
"id": 19430,
"reference_id": "01-TMEREQBXYLR-U",
"type_id": 1,
"name": "test-ZDHC Internal",
"address_1": "8565 Schumm Extension Suite 074",
"address_2": "Suite 307",
"city": "Aileenfurt",
"state": "Iowa",
"location": "ZA",
"zip": "91167",
"phone": "+15156239240",
"email": "marques89@mclaughlin.net",
"website": "http://denesik.net/reiciendis-et-repellendus-debitis-maiores-maxime-temporibus-et",
"avatar_url": null,
"location_name": "South Africa"
},
"receiving_user": {
"id": 18968,
"email": "admin@localhost",
"profile_picture_url": null
},
"inviting_user": {
"id": 18968,
"email": "admin@localhost",
"profile_picture_url": null
}
},
{
"id": 1,
"reference_id": "06-QAX2XTKPKQT-Y",
"uuid": "a1bbba36-062c-44ea-adaf-c10774547880",
"inviting_organisation_id": 19430,
"inviting_user_id": 18968,
"receiving_organisation_id": 19430,
"receiving_user_id": 18968,
"status": "INVITED",
"valid_until": "2026-05-15T21:42:30.000000Z",
"redeemed_at": null,
"auto_connect": false,
"created_at": "2026-05-08T21:42:30.000000Z",
"updated_at": "2026-05-08T21:42:30.000000Z",
"receiving_organisation": {
"id": 19430,
"reference_id": "01-TMEREQBXYLR-U",
"type_id": 1,
"name": "test-ZDHC Internal",
"address_1": "8565 Schumm Extension Suite 074",
"address_2": "Suite 307",
"city": "Aileenfurt",
"state": "Iowa",
"location": "ZA",
"zip": "91167",
"phone": "+15156239240",
"email": "marques89@mclaughlin.net",
"website": "http://denesik.net/reiciendis-et-repellendus-debitis-maiores-maxime-temporibus-et",
"avatar_url": null,
"location_name": "South Africa"
},
"receiving_user": {
"id": 18968,
"email": "admin@localhost",
"profile_picture_url": null
},
"inviting_user": {
"id": 18968,
"email": "admin@localhost",
"profile_picture_url": null
}
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "100",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Create a new invitation for the organisation
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/invitation" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organisation_type_id\": 6,
\"email\": \"skonopelski@example.net\",
\"auto_connect\": false
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/invitation"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organisation_type_id": 6,
"email": "skonopelski@example.net",
"auto_connect": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Registration
Register
requires authentication
Register a new organisation.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/registration/register/1?email=qwuckert%40example.com&user_id=26192174&user_is_registered=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "user_first_name=wtnqelbxtqcokrineybe"\
--form "user_last_name=o"\
--form "user_password=gaij"\
--form "user_password_confirmation=est"\
--form "user_phone=hooelgofbaddru"\
--form "user_locale=fo_FO"\
--form "user_location=ikrzyiizsygopkwftsbuagkwg"\
--form "name=uoasqouvyyameuiaedaegm"\
--form "legal_name=ajdyxvnullemxump"\
--form "address_1=incidunt"\
--form "city=pjtjz"\
--form "state=oubwlmzhmuufzntkkbyn"\
--form "location=ZA"\
--form "zip=o"\
--form "phone=pjbrrbzafmfcb"\
--form "email=brandi96@example.org"\
--form "contact_first_name=amet"\
--form "contact_last_name=in"\
--form "website=awoumhqzg"\
--form "conformance_level_products[][id]=6"\
--form "conformance_level_products[][count]=11"\
--form "tas_document_id=similique"\
--form "tas_accepted=1"\
--form "industry_ids[][id]=2"\
--form "industry_ids[][value]=moygjoemxqkvmfupfelekmb"\
--form "safety_data_sheet=@/tmp/phpiiepIL" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/registration/register/1"
);
const params = {
"email": "qwuckert@example.com",
"user_id": "26192174",
"user_is_registered": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('user_first_name', 'wtnqelbxtqcokrineybe');
body.append('user_last_name', 'o');
body.append('user_password', 'gaij');
body.append('user_password_confirmation', 'est');
body.append('user_phone', 'hooelgofbaddru');
body.append('user_locale', 'fo_FO');
body.append('user_location', 'ikrzyiizsygopkwftsbuagkwg');
body.append('name', 'uoasqouvyyameuiaedaegm');
body.append('legal_name', 'ajdyxvnullemxump');
body.append('address_1', 'incidunt');
body.append('city', 'pjtjz');
body.append('state', 'oubwlmzhmuufzntkkbyn');
body.append('location', 'ZA');
body.append('zip', 'o');
body.append('phone', 'pjbrrbzafmfcb');
body.append('email', 'brandi96@example.org');
body.append('contact_first_name', 'amet');
body.append('contact_last_name', 'in');
body.append('website', 'awoumhqzg');
body.append('conformance_level_products[][id]', '6');
body.append('conformance_level_products[][count]', '11');
body.append('tas_document_id', 'similique');
body.append('tas_accepted', '1');
body.append('industry_ids[][id]', '2');
body.append('industry_ids[][value]', 'moygjoemxqkvmfupfelekmb');
body.append('safety_data_sheet', document.querySelector('input[name="safety_data_sheet"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (200, Success):
{
"message": "registered successfully",
"organisationID": "[id]",
"registrationID": "[uuid]"
}
Example response (422, Validation Error):
{
"message": "[error message from the first field failing validation]",
"errors": {
"[field_name]": [
"[any validator message failing]"
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Status
See a non-active organisation's registration status.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/registration/a5361e60-8447-3494-aa0f-62d06c506a28/status" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/registration/a5361e60-8447-3494-aa0f-62d06c506a28/status"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 2,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"type": {
"id": 2,
"name": "Supplier",
"display_name": "Supplier",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
},
"industry_identifiers": [],
"conformance_level_products": [],
"field_comments": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
Update the organisations data from the user side.
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisations/registration/52b57d4c-5f72-3114-a000-aef3fd55e35b/update" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=kihup"\
--form "legal_name=gyv"\
--form "address_1=occaecati"\
--form "city=x"\
--form "state=bm"\
--form "location=MN"\
--form "zip=hndjiaeppjteqjjwrxff"\
--form "phone=+1234567890"\
--form "email=stefanie05@example.net"\
--form "contact_first_name=qui"\
--form "contact_last_name=et"\
--form "website=https://example.com"\
--form "conformance_level_products[][id]=17"\
--form "conformance_level_products[][count]=0"\
--form "applicant_comment=temporibus"\
--form "industry_ids[][id]=7"\
--form "industry_ids[][value]=kmrouuge"\
--form "safety_data_sheet=@/tmp/phpfdHLoL" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/registration/52b57d4c-5f72-3114-a000-aef3fd55e35b/update"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'kihup');
body.append('legal_name', 'gyv');
body.append('address_1', 'occaecati');
body.append('city', 'x');
body.append('state', 'bm');
body.append('location', 'MN');
body.append('zip', 'hndjiaeppjteqjjwrxff');
body.append('phone', '+1234567890');
body.append('email', 'stefanie05@example.net');
body.append('contact_first_name', 'qui');
body.append('contact_last_name', 'et');
body.append('website', 'https://example.com');
body.append('conformance_level_products[][id]', '17');
body.append('conformance_level_products[][count]', '0');
body.append('applicant_comment', 'temporibus');
body.append('industry_ids[][id]', '7');
body.append('industry_ids[][value]', 'kmrouuge');
body.append('safety_data_sheet', document.querySelector('input[name="safety_data_sheet"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200, Success):
{
"message": "updated successfully"
}
Example response (422, Validation Error):
{
"message": "[error message from the first field failing validation]",
"errors": {
"[field_name]": [
"[any validator message failing]"
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Subscriptions
Index
requires authentication
Get Subscriptions
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions?per_page=19&page=1&filter%5Bsubscribable_product_id%5D=13&filter%5Bstatus%5D=aut&filter%5Binvoice_created_at%5D=illo&filter%5Bstart_at%5D=optio&filter%5Bvalid_until%5D=deserunt&filter%5Bcreated_at%5D=aut&filter%5Bupdated_at%5D=iure&search=in&sort=id&column=id" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions"
);
const params = {
"per_page": "19",
"page": "1",
"filter[subscribable_product_id]": "13",
"filter[status]": "aut",
"filter[invoice_created_at]": "illo",
"filter[start_at]": "optio",
"filter[valid_until]": "deserunt",
"filter[created_at]": "aut",
"filter[updated_at]": "iure",
"search": "in",
"sort": "id",
"column": "id",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1505,
"organisation_id": 21,
"subscribable_product_id": 32,
"status": "active",
"auto_renew": true,
"selected_stairstep": {
"name": "Product Tiers",
"handle": "public_product_tiers",
"component_id": 16288,
"price_point_id": 56144,
"allocated_quantity": "0.0"
},
"maxio_subscription_id": 374452,
"expired_at": null,
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-21T00:16:12.000000Z",
"deleted_at": null,
"subscribable_product": {
"id": 32,
"subcribable_product_family_handle": "bulling-plans",
"subcribable_product_family_id": 2942,
"name": "Chemical Formulators Yearly",
"handle": "chemical-formulator-yearly",
"maxio_product_id": 5684,
"created_at": "2026-05-12T08:06:30.000000Z",
"updated_at": "2026-05-12T08:06:30.000000Z",
"deleted_at": null
},
"current_period": {
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
"periods": [
{
"id": 15,
"organisation_product_subscription_id": 1505,
"starts_at": "2027-05-05T13:47:05.000000Z",
"ends_at": "2028-05-05T13:47:05.000000Z",
"role": "renewal",
"maxio_invoice_uid": "inv_c5hwh2zwhpn5c",
"maxio_payment_id": "6374811",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T14:21:27.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2027-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
{
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
}
],
"invoices": [],
"usage": {
"publishing_chemical_products": {
"max": 0,
"used": 0,
"remaining": 0
}
}
},
{
"id": 1505,
"organisation_id": 21,
"subscribable_product_id": 32,
"status": "active",
"auto_renew": true,
"selected_stairstep": {
"name": "Product Tiers",
"handle": "public_product_tiers",
"component_id": 16288,
"price_point_id": 56144,
"allocated_quantity": "0.0"
},
"maxio_subscription_id": 374452,
"expired_at": null,
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-21T00:16:12.000000Z",
"deleted_at": null,
"subscribable_product": {
"id": 32,
"subcribable_product_family_handle": "bulling-plans",
"subcribable_product_family_id": 2942,
"name": "Chemical Formulators Yearly",
"handle": "chemical-formulator-yearly",
"maxio_product_id": 5684,
"created_at": "2026-05-12T08:06:30.000000Z",
"updated_at": "2026-05-12T08:06:30.000000Z",
"deleted_at": null
},
"current_period": {
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
"periods": [
{
"id": 15,
"organisation_product_subscription_id": 1505,
"starts_at": "2027-05-05T13:47:05.000000Z",
"ends_at": "2028-05-05T13:47:05.000000Z",
"role": "renewal",
"maxio_invoice_uid": "inv_c5hwh2zwhpn5c",
"maxio_payment_id": "6374811",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T14:21:27.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2027-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
{
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
}
],
"invoices": [],
"usage": {
"publishing_chemical_products": {
"max": 0,
"used": 0,
"remaining": 0
}
}
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Chargify.js security token
requires authentication
Returns a signed JWT for use as securityToken in Chargify.js client config. Call this when loading the Chargify.js form; pass the token to chargify.load({ securityToken: ... }). Uses organisation id as subject (sub) for per-account rate limiting in Maxio.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/chargify-security-token" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/chargify-security-token"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"security_token": "eyJ0eXAiOiJKV1QiLCJhbGc..."
}
}
Example response (429):
Too many requests (rate limit: 10/minute, 60/hour per organisation)
Example response (500):
Chargify.js keys not configured
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show a Subscription
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/1505" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/1505"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1505,
"organisation_id": 21,
"subscribable_product_id": 32,
"status": "active",
"auto_renew": true,
"selected_stairstep": {
"name": "Product Tiers",
"handle": "public_product_tiers",
"component_id": 16288,
"price_point_id": 56144,
"allocated_quantity": "0.0"
},
"maxio_subscription_id": 374452,
"expired_at": null,
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-21T00:16:12.000000Z",
"deleted_at": null,
"current_period": {
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
"periods": [
{
"id": 15,
"organisation_product_subscription_id": 1505,
"starts_at": "2027-05-05T13:47:05.000000Z",
"ends_at": "2028-05-05T13:47:05.000000Z",
"role": "renewal",
"maxio_invoice_uid": "inv_c5hwh2zwhpn5c",
"maxio_payment_id": "6374811",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T14:21:27.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2027-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
{
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
}
],
"invoices": [],
"usage": {
"publishing_chemical_products": {
"max": 0,
"used": 0,
"remaining": 0
}
}
}
}
Example response (500):
Failed to load subscription invoices from Maxio
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product details
requires authentication
Get product details including available components and prices for the given product handle. Used by the frontend to decide which components to show when creating a subscription.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/product-details/quidem" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/product-details/quidem"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"product": {
"name": null,
"handle": null,
"description": null,
"accounting_code": null,
"price_in_cents": null,
"interval": null,
"interval_unit": null,
"trial_price_in_cents": null,
"trial_interval": null,
"trial_interval_unit": null,
"expiration_interval": null,
"expiration_interval_unit": null
}
}
}
Example response (404):
Product not found
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coupon Validation
requires authentication
Validate coupons for a product
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/validate-coupons/similique" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"coupon\": \"ysndjhnqxryxgkkoss\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/validate-coupons/similique"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"coupon": "ysndjhnqxryxgkkoss"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"code": null,
"description": null,
"amount": null,
"amount_in_cents": null,
"percentage": null,
"compounding_strategy": null,
"start_date": null,
"end_date": null,
"recurring": null,
"duration_period_count": null,
"duration_interval": null,
"duration_interval_unit": null,
"stackable": null
}
}
Example response (400):
Coupon invalid, expired or not found
Example response (404):
Product not found
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new subscription
requires authentication
Create a new subscription for the organisation (existing Maxio customer). Runs a subscription preview first, if testing is enabled, returns the preview response. If testing is disabled, creates the subscription. Customer must send all required customer/payment/billing data. Tier/component amounts supported via components.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/harum" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_testing\": true,
\"chargify_token\": \"vepvtfwcvo\",
\"collection_method\": \"automatic\",
\"payment_profile_id\": 6,
\"payment_type\": \"credit_card\",
\"first_name\": \"d\",
\"last_name\": \"eqfrotpozqhkfono\",
\"billing_first_name\": \"f\",
\"billing_last_name\": \"zvrbsmpttygiuerniftmjbwoa\",
\"email\": \"boyle.ivah@example.net\",
\"locale\": \"cch_NG\",
\"organization\": \"hdglqhvlih\",
\"phone\": \"xiencdfcixmkuuvbycfunrxdz\",
\"address\": \"d\",
\"address_2\": \"nltgd\",
\"city\": \"mdsmosashnc\",
\"state\": \"riuepoeijzoz\",
\"country\": \"tw\",
\"zip\": \"udgnpsdkuzyglemb\",
\"billing_address\": \"evsp\",
\"billing_address_2\": \"sgihico\",
\"billing_city\": \"frezkfxkr\",
\"billing_state\": \"egpcjaq\",
\"billing_country\": \"gj\",
\"billing_zip\": \"w\",
\"tax_id\": \"quasi\",
\"coupon_codes\": [
\"xftcis\"
],
\"components\": [
{
\"component_id\": 17,
\"allocated_quantity\": 7,
\"quantity\": 68,
\"price_point_id\": 80
}
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/harum"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"is_testing": true,
"chargify_token": "vepvtfwcvo",
"collection_method": "automatic",
"payment_profile_id": 6,
"payment_type": "credit_card",
"first_name": "d",
"last_name": "eqfrotpozqhkfono",
"billing_first_name": "f",
"billing_last_name": "zvrbsmpttygiuerniftmjbwoa",
"email": "boyle.ivah@example.net",
"locale": "cch_NG",
"organization": "hdglqhvlih",
"phone": "xiencdfcixmkuuvbycfunrxdz",
"address": "d",
"address_2": "nltgd",
"city": "mdsmosashnc",
"state": "riuepoeijzoz",
"country": "tw",
"zip": "udgnpsdkuzyglemb",
"billing_address": "evsp",
"billing_address_2": "sgihico",
"billing_city": "frezkfxkr",
"billing_state": "egpcjaq",
"billing_country": "gj",
"billing_zip": "w",
"tax_id": "quasi",
"coupon_codes": [
"xftcis"
],
"components": [
{
"component_id": 17,
"allocated_quantity": 7,
"quantity": 68,
"price_point_id": 80
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1505,
"organisation_id": 21,
"subscribable_product_id": 32,
"status": "active",
"auto_renew": true,
"selected_stairstep": {
"name": "Product Tiers",
"handle": "public_product_tiers",
"component_id": 16288,
"price_point_id": 56144,
"allocated_quantity": "0.0"
},
"maxio_subscription_id": 374452,
"expired_at": null,
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-21T00:16:12.000000Z",
"deleted_at": null,
"current_period": {
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
"periods": [
{
"id": 15,
"organisation_product_subscription_id": 1505,
"starts_at": "2027-05-05T13:47:05.000000Z",
"ends_at": "2028-05-05T13:47:05.000000Z",
"role": "renewal",
"maxio_invoice_uid": "inv_c5hwh2zwhpn5c",
"maxio_payment_id": "6374811",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T14:21:27.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2027-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
{
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
}
],
"invoices": [],
"usage": {
"publishing_chemical_products": {
"max": 0,
"used": 0,
"remaining": 0
}
}
}
}
Example response (400):
Organisation has no Maxio customer ID
Example response (500):
Maxio preview or create failed
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a subscription (stairstep upgrade only)
requires authentication
Preview or apply a prorated stairstep component upgrade. Only upgrades are allowed; downgrades are rejected. The upgrade charge is prorated for the remaining period and does not extend the subscription end date.
Send is_testing=true to get a preview (allocation_preview with total_in_cents etc.). Send is_testing=false to apply.
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/1505" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_testing\": true,
\"chargify_token\": \"wanwdkhqvbwgssehxbw\",
\"collection_method\": \"automatic\",
\"payment_profile_id\": 34,
\"payment_type\": \"credit_card\",
\"first_name\": \"ibbta\",
\"last_name\": \"xfgcupotnaskp\",
\"billing_first_name\": \"htbkrhogqouoxmvtrj\",
\"billing_last_name\": \"bypdnpugpvvockqigtq\",
\"email\": \"andre.rolfson@example.com\",
\"locale\": \"ti_ER\",
\"organization\": \"anchb\",
\"phone\": \"dcguiudvwrtg\",
\"address\": \"dcosynrpaqvieplplosmbr\",
\"address_2\": \"lkbmphgconuwnxxgraun\",
\"city\": \"ifqtnmbbvvbo\",
\"state\": \"jgjoyf\",
\"country\": \"hq\",
\"zip\": \"rrkpifipgryvkoistqr\",
\"billing_address\": \"fgejlsehnsaoz\",
\"billing_address_2\": \"ggq\",
\"billing_city\": \"egnqkstowpzc\",
\"billing_state\": \"au\",
\"billing_country\": \"dd\",
\"billing_zip\": \"kulnbkm\",
\"tax_id\": \"voluptatibus\",
\"components\": [
{
\"component_id\": 84,
\"allocated_quantity\": 44
}
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/1505"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"is_testing": true,
"chargify_token": "wanwdkhqvbwgssehxbw",
"collection_method": "automatic",
"payment_profile_id": 34,
"payment_type": "credit_card",
"first_name": "ibbta",
"last_name": "xfgcupotnaskp",
"billing_first_name": "htbkrhogqouoxmvtrj",
"billing_last_name": "bypdnpugpvvockqigtq",
"email": "andre.rolfson@example.com",
"locale": "ti_ER",
"organization": "anchb",
"phone": "dcguiudvwrtg",
"address": "dcosynrpaqvieplplosmbr",
"address_2": "lkbmphgconuwnxxgraun",
"city": "ifqtnmbbvvbo",
"state": "jgjoyf",
"country": "hq",
"zip": "rrkpifipgryvkoistqr",
"billing_address": "fgejlsehnsaoz",
"billing_address_2": "ggq",
"billing_city": "egnqkstowpzc",
"billing_state": "au",
"billing_country": "dd",
"billing_zip": "kulnbkm",
"tax_id": "voluptatibus",
"components": [
{
"component_id": 84,
"allocated_quantity": 44
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1505,
"organisation_id": 21,
"subscribable_product_id": 32,
"status": "active",
"auto_renew": true,
"selected_stairstep": {
"name": "Product Tiers",
"handle": "public_product_tiers",
"component_id": 16288,
"price_point_id": 56144,
"allocated_quantity": "0.0"
},
"maxio_subscription_id": 374452,
"expired_at": null,
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-21T00:16:12.000000Z",
"deleted_at": null,
"current_period": {
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
"periods": [
{
"id": 15,
"organisation_product_subscription_id": 1505,
"starts_at": "2027-05-05T13:47:05.000000Z",
"ends_at": "2028-05-05T13:47:05.000000Z",
"role": "renewal",
"maxio_invoice_uid": "inv_c5hwh2zwhpn5c",
"maxio_payment_id": "6374811",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T14:21:27.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2027-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
{
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
}
],
"invoices": [],
"usage": {
"publishing_chemical_products": {
"max": 0,
"used": 0,
"remaining": 0
}
}
}
}
Example response (400):
Organisation has no Maxio customer ID
Example response (422):
Component is not a stairstep of this subscription's product; or only upgrades allowed (no downgrade)
Example response (500):
Maxio preview or allocation failed
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Renew subscription (billing / payment data only).
requires authentication
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/1505/renew" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_testing\": true,
\"chargify_token\": \"jdoljrcm\",
\"collection_method\": \"remittance\",
\"payment_profile_id\": 82,
\"payment_type\": \"bank_transfer\",
\"first_name\": \"afzjfxvhqcmr\",
\"last_name\": \"tzllddpm\",
\"billing_first_name\": \"dgzpzveobtdyv\",
\"billing_last_name\": \"ivrcyfh\",
\"email\": \"neva.adams@example.com\",
\"locale\": \"sr_BA\",
\"organization\": \"stakc\",
\"phone\": \"gmyjooofxpmxyxqomzyr\",
\"address\": \"jiouwspbllwpmxuehgtuyyz\",
\"address_2\": \"xdgndiaibqxecbiefea\",
\"city\": \"lle\",
\"state\": \"gzfipusqgaeybmcx\",
\"country\": \"lw\",
\"zip\": \"ieoqr\",
\"billing_address\": \"vlckxzvlthqt\",
\"billing_address_2\": \"pbkywmqcdoncrrrrynmjdimpj\",
\"billing_city\": \"zqwdycndjmjwodxolgffjnaer\",
\"billing_state\": \"zxpxmyhzb\",
\"billing_country\": \"td\",
\"billing_zip\": \"qvldyimycax\",
\"tax_id\": \"sit\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/subscriptions/1505/renew"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"is_testing": true,
"chargify_token": "jdoljrcm",
"collection_method": "remittance",
"payment_profile_id": 82,
"payment_type": "bank_transfer",
"first_name": "afzjfxvhqcmr",
"last_name": "tzllddpm",
"billing_first_name": "dgzpzveobtdyv",
"billing_last_name": "ivrcyfh",
"email": "neva.adams@example.com",
"locale": "sr_BA",
"organization": "stakc",
"phone": "gmyjooofxpmxyxqomzyr",
"address": "jiouwspbllwpmxuehgtuyyz",
"address_2": "xdgndiaibqxecbiefea",
"city": "lle",
"state": "gzfipusqgaeybmcx",
"country": "lw",
"zip": "ieoqr",
"billing_address": "vlckxzvlthqt",
"billing_address_2": "pbkywmqcdoncrrrrynmjdimpj",
"billing_city": "zqwdycndjmjwodxolgffjnaer",
"billing_state": "zxpxmyhzb",
"billing_country": "td",
"billing_zip": "qvldyimycax",
"tax_id": "sit"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1505,
"organisation_id": 21,
"subscribable_product_id": 32,
"status": "active",
"auto_renew": true,
"selected_stairstep": {
"name": "Product Tiers",
"handle": "public_product_tiers",
"component_id": 16288,
"price_point_id": 56144,
"allocated_quantity": "0.0"
},
"maxio_subscription_id": 374452,
"expired_at": null,
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-21T00:16:12.000000Z",
"deleted_at": null,
"current_period": {
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
"periods": [
{
"id": 15,
"organisation_product_subscription_id": 1505,
"starts_at": "2027-05-05T13:47:05.000000Z",
"ends_at": "2028-05-05T13:47:05.000000Z",
"role": "renewal",
"maxio_invoice_uid": "inv_c5hwh2zwhpn5c",
"maxio_payment_id": "6374811",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T14:21:27.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2027-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
},
{
"id": 16,
"organisation_product_subscription_id": 1505,
"starts_at": "2026-05-05T13:47:05.000000Z",
"ends_at": "2027-05-05T13:47:05.000000Z",
"role": "signup",
"maxio_invoice_uid": "inv_c5hw3pwtm8rzc",
"maxio_payment_id": "6374764",
"payment_status": "paid",
"invoice_created_at": "2026-05-05T13:47:05.000000Z",
"invoice_paid_at": "2026-05-05T00:00:00.000000Z",
"invoice_due_date_at": "2026-05-05T00:00:00.000000Z",
"created_at": "2026-05-12T08:06:44.000000Z",
"updated_at": "2026-05-12T08:06:44.000000Z"
}
],
"invoices": [],
"usage": {
"publishing_chemical_products": {
"max": 0,
"used": 0,
"remaining": 0
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Types
Index
Get a paginated list of organisation types. Calling this unauthenticated will only return selectable types.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation-types?per_page=20&sort=name&page=1&search=quis" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation-types"
);
const params = {
"per_page": "20",
"sort": "name",
"page": "1",
"search": "quis",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"name": "ZDHC Internal",
"display_name": "ZDHC Internal",
"description": null,
"selectable": 0,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
},
{
"id": 1,
"name": "ZDHC Internal",
"display_name": "ZDHC Internal",
"description": null,
"selectable": 0,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "50",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Create a new organisation type.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/organisation-types" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"trv\",
\"display_name\": \"j\",
\"description\": \"Quos amet odit reprehenderit modi voluptatum deleniti qui.\",
\"selectable\": true
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/organisation-types"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "trv",
"display_name": "j",
"description": "Quos amet odit reprehenderit modi voluptatum deleniti qui.",
"selectable": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Organisation type created successfully."
}
Example response (422, Validation Error):
{
"message": "[error message from the first field failing validation]",
"errors": {
"[field_name]": [
"[any validator message failing]"
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update an organisation type.
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/organisation-types/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"vfejkxhx\",
\"display_name\": \"pqlykuxt\",
\"description\": \"Et explicabo dolor sed voluptatem.\",
\"selectable\": true
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/organisation-types/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "vfejkxhx",
"display_name": "pqlykuxt",
"description": "Et explicabo dolor sed voluptatem.",
"selectable": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Organisation type updated successfully."
}
Example response (422, Validation Error):
{
"message": "[error message from the first field failing validation]",
"errors": {
"[field_name]": [
"[any validator message failing]"
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Delete an organisation type.
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/organisation-types/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/organisation-types/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Organisation type deleted successfully."
}
Example response (422, Type in Use):
{
"message": "Cannot delete organisation type as it is in use."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Users
Index
requires authentication
Get users for an organisation.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/users?per_page=11&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/users"
);
const params = {
"per_page": "11",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"organisation_id": 8990,
"user_id": 5,
"invited_by": null,
"role_id": 4,
"last_authorization": null,
"invitation_sent_at": null,
"invitation_accepted_at": "2026-05-08T21:42:00.000000Z",
"created_at": "2026-05-08T21:42:00.000000Z",
"updated_at": "2026-05-08T21:42:00.000000Z",
"deleted_at": null,
"user": {
"id": 5,
"first_name": "LAN",
"last_name": "REN",
"email": "renxiaolan@126.com",
"email_verified_at": "2016-12-17T01:09:41.000000Z",
"phone": "0086-575-856232",
"location": "CN",
"created_at": "2016-12-17T01:09:41.000000Z",
"updated_at": "2016-12-17T01:09:41.000000Z",
"deleted_at": null,
"profile_picture_url": null
},
"role": {
"id": 4,
"parent_id": 3,
"name": "ORGANISATION_ADMIN"
}
},
{
"id": 1,
"organisation_id": 8990,
"user_id": 5,
"invited_by": null,
"role_id": 4,
"last_authorization": null,
"invitation_sent_at": null,
"invitation_accepted_at": "2026-05-08T21:42:00.000000Z",
"created_at": "2026-05-08T21:42:00.000000Z",
"updated_at": "2026-05-08T21:42:00.000000Z",
"deleted_at": null,
"user": {
"id": 5,
"first_name": "LAN",
"last_name": "REN",
"email": "renxiaolan@126.com",
"email_verified_at": "2016-12-17T01:09:41.000000Z",
"phone": "0086-575-856232",
"location": "CN",
"created_at": "2016-12-17T01:09:41.000000Z",
"updated_at": "2016-12-17T01:09:41.000000Z",
"deleted_at": null,
"profile_picture_url": null
},
"role": {
"id": 4,
"parent_id": 3,
"name": "ORGANISATION_ADMIN"
}
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "100",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Show an organisation user
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/users/1/getOrganisationUser" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/users/1/getOrganisationUser"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"organisation_id": 8990,
"user_id": 5,
"invited_by": null,
"role_id": 4,
"last_authorization": null,
"invitation_sent_at": null,
"invitation_accepted_at": "2026-05-08T21:42:00.000000Z",
"created_at": "2026-05-08T21:42:00.000000Z",
"updated_at": "2026-05-08T21:42:00.000000Z",
"deleted_at": null,
"role": {
"id": 4,
"parent_id": 3,
"name": "ORGANISATION_ADMIN"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Invite
requires authentication
Invite users to an organisation.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/invite" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"emails\": [
\"dedric27@example.net\"
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/invite"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"emails": [
"dedric27@example.net"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resend invitation
requires authentication
Notify a user that has already been invited again.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/users/1/resend-invitation" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/users/1/resend-invitation"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Change role
requires authentication
Change the role of a user in an organisation.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/users/1/role/change" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"role_id\": 1
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/users/1/role/change"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"role_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Detach
requires authentication
Detach a user from an organisation.
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/users/1/detach" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/users/1/detach"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Supplier Profile
Show
requires authentication
Get the supplier profile
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/supplier-profile/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/supplier-profile/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"organisation_id": 171159,
"facility_type_id": 11,
"discharge_volume": null,
"discharge_points_count": null,
"sludge_generation": 0,
"created_at": "2026-05-12T14:04:42.000000Z",
"updated_at": "2026-05-12T14:04:42.000000Z",
"attributes": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update the supplier profile for the organisation
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/supplier-profile/update?facility_type_id=dolor&attributes[]=337&discharge_volume=21&discharge_points_count=3&sludge_generation=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/supplier-profile/update"
);
const params = {
"facility_type_id": "dolor",
"attributes[0]": "337",
"discharge_volume": "21",
"discharge_points_count": "3",
"sludge_generation": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Facility types
requires authentication
Get the facility types
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/supplier-profile/facility-types" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/supplier-profile/facility-types"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Accessories and Trims",
"description": "Manufacture and processing of materials that are attached to the body of the garments for functional purpose."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Attribute groups
requires authentication
Get attributes suitable for the facility type
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/supplier-profile/attribute-groups" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/supplier-profile/attribute-groups"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"name": "Materials",
"profile_type": "supplier_profile",
"service_id": null,
"single_select": 0,
"type": null,
"required": null,
"items_type": null,
"attributes": [
{
"id": 1,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Cotton",
"selectable": 1,
"order": null,
"facility_types": [
1,
2,
3
]
},
{
"id": 2,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Bast fibres and Bamboo",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 3,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Bamboo",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 4,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Flax (Linen)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 5,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Hemp",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 6,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Jute",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 7,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Nettle",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 8,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Ramie",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 9,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Banana",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 10,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Leaf fibres",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 11,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Bamboo",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 12,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Flax (Linen)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 13,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Hemp",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 14,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Jute",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 15,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Nettle",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 16,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Ramie",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 17,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Banana",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 18,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Kapok",
"selectable": 1,
"order": null,
"facility_types": [
1,
2,
3
]
},
{
"id": 19,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Animal",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 20,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Wool",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 21,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Alpaca",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 22,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Angora",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 23,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Camel",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 24,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Cashmere",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 25,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Guanaco",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 26,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Lama",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 27,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Mohair",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 28,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Vicuna",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 29,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Yak",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 30,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Horse hair",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 31,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Vicugna",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 32,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Silk",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 33,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "MMCF",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 34,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Acetate (Diacetate, Triacetate)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 35,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Cupro",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 36,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Lyocell",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 37,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Modal",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 38,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Viscose",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 39,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Synthetics",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 40,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Acrylic",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 41,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Elastane (Spandex) ",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 42,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyamide (Nylon)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 43,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyester",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 44,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyethylene",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 45,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyethylene terephthalate (PET)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 46,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polylactic acid (PLA)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 47,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polypropylene",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 48,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Secondary Raw Materials",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 49,
"external_id": null,
"group_id": 1,
"parent_id": 48,
"short": null,
"name": "Recycled (any of the above)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 50,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Finished Leather",
"selectable": 1,
"order": null,
"facility_types": [
2
]
},
{
"id": 51,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wood",
"selectable": 1,
"order": null,
"facility_types": [
4
]
},
{
"id": 52,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Agricultural waste",
"selectable": 1,
"order": null,
"facility_types": [
4
]
},
{
"id": 53,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Textile waste",
"selectable": 1,
"order": null,
"facility_types": [
4
]
},
{
"id": 54,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Goose down",
"selectable": 1,
"order": null,
"facility_types": [
7
]
},
{
"id": 55,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Goose feather",
"selectable": 1,
"order": null,
"facility_types": [
7
]
},
{
"id": 56,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Duck down",
"selectable": 1,
"order": null,
"facility_types": [
7
]
},
{
"id": 57,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Duck feather",
"selectable": 1,
"order": null,
"facility_types": [
7
]
},
{
"id": 58,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Recycled Fibres",
"selectable": 0,
"order": null,
"facility_types": [
9
]
},
{
"id": 59,
"external_id": null,
"group_id": 1,
"parent_id": 58,
"short": null,
"name": "Recycled (any of the above)",
"selectable": 1,
"order": null,
"facility_types": [
9
]
},
{
"id": 60,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Fabrics",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 61,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Leather",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 62,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Ethylene vinyl acetate (EVA)",
"selectable": 1,
"order": null,
"facility_types": [
6,
8
]
},
{
"id": 63,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Polyurethane (PU)",
"selectable": 1,
"order": null,
"facility_types": [
6,
8
]
},
{
"id": 64,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Polyvinyl chloride (PVC)",
"selectable": 1,
"order": null,
"facility_types": [
6,
8
]
},
{
"id": 65,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Thermoplastic polyurethane (TPU)",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 66,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Thermoplastic elastomers (TPE)",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 67,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Acrylonitrile butadiene styrene (ABS)",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 68,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Neoprene",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 69,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Styrene ethylene butylene styrene (SEBS)",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 70,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Fresh hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 71,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Brined hides/Skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 72,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet or dry-salted hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 73,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Limed splits",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 74,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Pickled hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 75,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet blue hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 76,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet white/wet green hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 77,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Crust hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 78,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Splits (tanned)",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 79,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Splits (crust)",
"selectable": 1,
"order": null,
"facility_types": [
5
]
}
]
},
{
"id": 1,
"name": "Materials",
"profile_type": "supplier_profile",
"service_id": null,
"single_select": 0,
"type": null,
"required": null,
"items_type": null,
"attributes": [
{
"id": 1,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Cotton",
"selectable": 1,
"order": null,
"facility_types": [
1,
2,
3
]
},
{
"id": 2,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Bast fibres and Bamboo",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 3,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Bamboo",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 4,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Flax (Linen)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 5,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Hemp",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 6,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Jute",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 7,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Nettle",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 8,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Ramie",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 9,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Banana",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 10,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Leaf fibres",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 11,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Bamboo",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 12,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Flax (Linen)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 13,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Hemp",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 14,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Jute",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 15,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Nettle",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 16,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Ramie",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 17,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Banana",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 18,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Kapok",
"selectable": 1,
"order": null,
"facility_types": [
1,
2,
3
]
},
{
"id": 19,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Animal",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 20,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Wool",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 21,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Alpaca",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 22,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Angora",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 23,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Camel",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 24,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Cashmere",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 25,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Guanaco",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 26,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Lama",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 27,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Mohair",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 28,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Vicuna",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 29,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Yak",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 30,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Horse hair",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 31,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Vicugna",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 32,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Silk",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 33,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "MMCF",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 34,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Acetate (Diacetate, Triacetate)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 35,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Cupro",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 36,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Lyocell",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 37,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Modal",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 38,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Viscose",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 39,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Synthetics",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 40,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Acrylic",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 41,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Elastane (Spandex) ",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 42,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyamide (Nylon)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 43,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyester",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 44,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyethylene",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 45,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyethylene terephthalate (PET)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 46,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polylactic acid (PLA)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 47,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polypropylene",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 48,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Secondary Raw Materials",
"selectable": 0,
"order": null,
"facility_types": [
3
]
},
{
"id": 49,
"external_id": null,
"group_id": 1,
"parent_id": 48,
"short": null,
"name": "Recycled (any of the above)",
"selectable": 1,
"order": null,
"facility_types": [
3
]
},
{
"id": 50,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Finished Leather",
"selectable": 1,
"order": null,
"facility_types": [
2
]
},
{
"id": 51,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wood",
"selectable": 1,
"order": null,
"facility_types": [
4
]
},
{
"id": 52,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Agricultural waste",
"selectable": 1,
"order": null,
"facility_types": [
4
]
},
{
"id": 53,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Textile waste",
"selectable": 1,
"order": null,
"facility_types": [
4
]
},
{
"id": 54,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Goose down",
"selectable": 1,
"order": null,
"facility_types": [
7
]
},
{
"id": 55,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Goose feather",
"selectable": 1,
"order": null,
"facility_types": [
7
]
},
{
"id": 56,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Duck down",
"selectable": 1,
"order": null,
"facility_types": [
7
]
},
{
"id": 57,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Duck feather",
"selectable": 1,
"order": null,
"facility_types": [
7
]
},
{
"id": 58,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Recycled Fibres",
"selectable": 0,
"order": null,
"facility_types": [
9
]
},
{
"id": 59,
"external_id": null,
"group_id": 1,
"parent_id": 58,
"short": null,
"name": "Recycled (any of the above)",
"selectable": 1,
"order": null,
"facility_types": [
9
]
},
{
"id": 60,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Fabrics",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 61,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Leather",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 62,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Ethylene vinyl acetate (EVA)",
"selectable": 1,
"order": null,
"facility_types": [
6,
8
]
},
{
"id": 63,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Polyurethane (PU)",
"selectable": 1,
"order": null,
"facility_types": [
6,
8
]
},
{
"id": 64,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Polyvinyl chloride (PVC)",
"selectable": 1,
"order": null,
"facility_types": [
6,
8
]
},
{
"id": 65,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Thermoplastic polyurethane (TPU)",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 66,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Thermoplastic elastomers (TPE)",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 67,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Acrylonitrile butadiene styrene (ABS)",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 68,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Neoprene",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 69,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Styrene ethylene butylene styrene (SEBS)",
"selectable": 1,
"order": null,
"facility_types": [
8
]
},
{
"id": 70,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Fresh hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 71,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Brined hides/Skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 72,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet or dry-salted hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 73,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Limed splits",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 74,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Pickled hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 75,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet blue hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 76,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet white/wet green hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 77,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Crust hides/skins",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 78,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Splits (tanned)",
"selectable": 1,
"order": null,
"facility_types": [
5
]
},
{
"id": 79,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Splits (crust)",
"selectable": 1,
"order": null,
"facility_types": [
5
]
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Vendor reports
Index
requires authentication
List of vendor reports created for organisations of type brand
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/vendor-reports?per_page=1&page=1&filter%5Blevel%5D=level_1&filter%5Bperiod%5D=quarter&filter%5Bstatus%5D=autem&filter%5Bfor_organisation_id%5D=6&filter%5Brequested_at%5D=%3D+2026-06-18+16%3A14%3A58&filter%5Bcompleted_at%5D=%3C+2026-06-20+16%3A14%3A58&filter%5Bcreated_at%5D=%3C+2026-06-16+16%3A14%3A58&filter%5Bupdated_at%5D=%3E%3D+2026-06-05+16%3A14%3A58&sort=id&column=id" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/vendor-reports"
);
const params = {
"per_page": "1",
"page": "1",
"filter[level]": "level_1",
"filter[period]": "quarter",
"filter[status]": "autem",
"filter[for_organisation_id]": "6",
"filter[requested_at]": "= 2026-06-18 16:14:58",
"filter[completed_at]": "< 2026-06-20 16:14:58",
"filter[created_at]": "< 2026-06-16 16:14:58",
"filter[updated_at]": ">= 2026-06-05 16:14:58",
"sort": "id",
"column": "id",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"organisation_id": 171289,
"for_organisation_id": 171290,
"level": "level_2",
"status": "pending",
"period": "quarter",
"requested_at": "2026-05-21T16:14:58.000000Z",
"completed_at": null,
"created_at": "2026-05-21T16:14:58.000000Z",
"updated_at": "2026-05-21T16:14:58.000000Z",
"deleted_at": null,
"organisation": {
"id": 171289,
"reference_id": "01-NWLKTVBWP3KN-N",
"type_id": 2,
"name": "Gaylord PLC",
"address_1": "570 Jerde Plaza Suite 087",
"address_2": "Suite 585",
"city": "Zitashire",
"state": "Iowa",
"location": "AE",
"zip": "00039-1499",
"phone": "+16695743979",
"email": "christop05@jaskolski.info",
"website": "http://kunde.info/maiores-rerum-dolores-ex-quam",
"avatar_url": null,
"location_name": "United Arab Emirates"
},
"for_organisation": {
"id": 171290,
"reference_id": "01-ZJVDEPSLW7Q6-S",
"type_id": 2,
"name": "Torphy-Wuckert",
"address_1": "996 Price Plaza",
"address_2": "Apt. 716",
"city": "New Immanuelland",
"state": "Arkansas",
"location": "CC",
"zip": "30640",
"phone": "+14708398723",
"email": "katherine.jenkins@davis.com",
"website": "http://wuckert.com/",
"avatar_url": null,
"location_name": "Cocos (Keeling) Islands"
}
},
{
"id": 1,
"organisation_id": 171289,
"for_organisation_id": 171290,
"level": "level_2",
"status": "pending",
"period": "quarter",
"requested_at": "2026-05-21T16:14:58.000000Z",
"completed_at": null,
"created_at": "2026-05-21T16:14:58.000000Z",
"updated_at": "2026-05-21T16:14:58.000000Z",
"deleted_at": null,
"organisation": {
"id": 171289,
"reference_id": "01-NWLKTVBWP3KN-N",
"type_id": 2,
"name": "Gaylord PLC",
"address_1": "570 Jerde Plaza Suite 087",
"address_2": "Suite 585",
"city": "Zitashire",
"state": "Iowa",
"location": "AE",
"zip": "00039-1499",
"phone": "+16695743979",
"email": "christop05@jaskolski.info",
"website": "http://kunde.info/maiores-rerum-dolores-ex-quam",
"avatar_url": null,
"location_name": "United Arab Emirates"
},
"for_organisation": {
"id": 171290,
"reference_id": "01-ZJVDEPSLW7Q6-S",
"type_id": 2,
"name": "Torphy-Wuckert",
"address_1": "996 Price Plaza",
"address_2": "Apt. 716",
"city": "New Immanuelland",
"state": "Arkansas",
"location": "CC",
"zip": "30640",
"phone": "+14708398723",
"email": "katherine.jenkins@davis.com",
"website": "http://wuckert.com/",
"avatar_url": null,
"location_name": "Cocos (Keeling) Islands"
}
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 100,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Queue or persist a new vendor report
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/vendor-reports" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"for_organisation_id\": 1,
\"level\": \"level_3\",
\"period\": \"half_year\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/vendor-reports"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"for_organisation_id": 1,
"level": "level_3",
"period": "half_year"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"id": 2,
"organisation_id": 171291,
"for_organisation_id": 171292,
"level": "level_1",
"status": "pending",
"period": "quarter",
"requested_at": "2026-05-21T16:14:58.000000Z",
"completed_at": null,
"created_at": "2026-05-21T16:14:58.000000Z",
"updated_at": "2026-05-21T16:14:58.000000Z",
"deleted_at": null,
"organisation": {
"id": 171291,
"reference_id": "01-76FBVQWXTF7X-H",
"type_id": 2,
"name": "Roob-Cassin",
"address_1": "6601 Randi Divide Suite 303",
"address_2": "Apt. 634",
"city": "Lake Stanley",
"state": "Maine",
"location": "GG",
"zip": "04508",
"phone": "+13369419143",
"email": "eulah10@oberbrunner.net",
"website": "http://www.mclaughlin.info/ut-sapiente-sit-eos-praesentium-ut-explicabo-deserunt",
"avatar_url": null,
"location_name": "Guernsey"
},
"for_organisation": {
"id": 171292,
"reference_id": "01-NWLKTXYUXZ8T-V",
"type_id": 2,
"name": "Wisozk and Sons",
"address_1": "5124 Romaguera Via",
"address_2": "Apt. 132",
"city": "Favianfort",
"state": "South Dakota",
"location": "BE",
"zip": "89434",
"phone": "+18705914433",
"email": "stark.joy@wilkinson.com",
"website": "http://www.halvorson.biz/",
"avatar_url": null,
"location_name": "Belgium"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download (PDF)
requires authentication
Download the vendor report as a PDF. Currently returns a single empty page as a placeholder.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisations/1/vendor-reports/3/download" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/vendor-reports/3/download"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
content of the pdf
Example response (200):
content of the pdf
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Delete a vendor report
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/vendor-reports/8" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisations/1/vendor-reports/8"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reference ID Generator
Generate
requires authentication
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/generate-reference-id" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"table_name\": \"at\",
\"count\": 39
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/generate-reference-id"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"table_name": "at",
"count": 39
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, successful):
{
"message": "Reference ID generated successfully.",
"data": {
"reference_id": "1234567890"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
System
Logs
Channel Settings
requires authentication
Get all logging channel settings.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/system/logs/settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/logs/settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"channel1": {
"fields": [
"context->ip",
"context->action_type",
"context->user_id",
],
"filters": [
{
"type": "exact",
"column": "context->ip",
"field": {
"name": "textfield",
},
},
],
"sorts": [
"context->ip",
"context->action_type",
"context->user_id",
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Channel
requires authentication
See all logs for a channel
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/system/logs/channel/consequatur?archived=&per_page=50&sort=%60sort%3D-created_at%60" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/logs/channel/consequatur"
);
const params = {
"archived": "0",
"per_page": "50",
"sort": "`sort=-created_at`",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"channel": "organisation",
"level": "INFO",
"message": "[created] App\\Models\\Organisation",
"context": {
"ip": "127.0.0.1",
"auth_id": null,
"changes": {
"id": 19424,
"zip": "12345",
"city": "Invited city",
"name": "Bureau Veritas",
"uuid": "a1bbba2d-02f0-435e-bcc2-da28195fb810",
"email": "invited@localhost",
"phone": "+1234567890",
"state": "Invited state",
"status": "approved",
"type_id": 9,
"website": "https://invited.com",
"location": "US",
"address_1": "Invited street 1",
"address_2": "Invited street 2",
"legal_name": "Invited company",
"reference_id": "01-TMERKB8EK4F-M",
"contact_last_name": "Organisation",
"contact_first_name": "Invited",
"profile_reviewed_at": {
"date": "1987-09-15 21:19:59.000000",
"timezone": "UTC",
"timezone_type": 3
},
"registration_mail_sent_at": {
"date": "1989-11-09 04:04:34.000000",
"timezone": "UTC",
"timezone_type": 3
}
},
"context": {
"url": "console",
"user": "unauthenticated",
"user_role": "unauthenticated"
},
"endpoint": "console",
"auth_mail": null,
"action_type": "created",
"organisation_id": 19424,
"organisation_reference_id": "01-TMERKB8EK4F-M"
},
"created_at": "2026-05-08 21:42:24",
"deleted_at": null
},
{
"id": 1,
"channel": "organisation",
"level": "INFO",
"message": "[created] App\\Models\\Organisation",
"context": {
"ip": "127.0.0.1",
"auth_id": null,
"changes": {
"id": 19424,
"zip": "12345",
"city": "Invited city",
"name": "Bureau Veritas",
"uuid": "a1bbba2d-02f0-435e-bcc2-da28195fb810",
"email": "invited@localhost",
"phone": "+1234567890",
"state": "Invited state",
"status": "approved",
"type_id": 9,
"website": "https://invited.com",
"location": "US",
"address_1": "Invited street 1",
"address_2": "Invited street 2",
"legal_name": "Invited company",
"reference_id": "01-TMERKB8EK4F-M",
"contact_last_name": "Organisation",
"contact_first_name": "Invited",
"profile_reviewed_at": {
"date": "1987-09-15 21:19:59.000000",
"timezone": "UTC",
"timezone_type": 3
},
"registration_mail_sent_at": {
"date": "1989-11-09 04:04:34.000000",
"timezone": "UTC",
"timezone_type": 3
}
},
"context": {
"url": "console",
"user": "unauthenticated",
"user_role": "unauthenticated"
},
"endpoint": "console",
"auth_mail": null,
"action_type": "created",
"organisation_id": 19424,
"organisation_reference_id": "01-TMERKB8EK4F-M"
},
"created_at": "2026-05-08 21:42:24",
"deleted_at": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Export
requires authentication
Export to CSV
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/system/logs/channel/voluptas/export" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/logs/channel/voluptas/export"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 89
vary: Origin
{
"message": "Channel not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Archive
requires authentication
Archive logs (soft delete)
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/system/logs/channel/repellat/archive" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/logs/channel/repellat/archive"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 88
vary: Origin
{
"message": "Channel not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Archived
requires authentication
Delete archived logs (force delete)
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/system/logs/channel/corrupti/delete-archived" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/logs/channel/corrupti/delete-archived"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Blade Preview
Preview
requires authentication
Preview any View. Supports php commands and defaults to strings. Only available when debug enabled.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/system/organisation/1/blade/preview/voluptas" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/organisation/1/blade/preview/voluptas"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync Lab Users
Webhook
requires authentication
Webhook to handle syncing lab users.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/system/sync-lab-users" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"api_key\": \"et\",
\"data\": []
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/sync-lab-users"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"api_key": "et",
"data": []
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "not handled"
}
Example response (200):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Preview
requires authentication
Preview any mailable, supplied with any query parameter arguments for that mailable.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/system/organisation/1/mail/preview/ut" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/organisation/1/mail/preview/ut"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 77
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Terms and Service
Active Terms and Service Document
requires authentication
Get current active ToC Document.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/system/terms-and-service/active?per_page=3&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/terms-and-service/active"
);
const params = {
"per_page": "3",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"related_type": "App\\Models\\Organisation",
"document_title": "TaS Example.pdf",
"created_at": "2026-05-08T21:42:15.000000Z",
"updated_at": "2026-05-08T21:42:15.000000Z",
"public_file_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Active Terms and Conditions
requires authentication
Get current active ToC Document.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/system/terms-and-conditions/active?per_page=5&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/terms-and-conditions/active"
);
const params = {
"per_page": "5",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"related_type": "App\\Models\\Organisation",
"document_title": "TaS Example.pdf",
"created_at": "2026-05-08T21:42:15.000000Z",
"updated_at": "2026-05-08T21:42:15.000000Z",
"public_file_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Store a new terms and service document.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/system/organisation/1/terms-and-service" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "document=@/tmp/phpkPlNia" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/organisation/1/terms-and-service"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('document', document.querySelector('input[name="document"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Store a new terms and conditions document.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/system/user/1/terms-and-conditions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "document=@/tmp/phpOHPkla" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/system/user/1/terms-and-conditions"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('document', document.querySelector('input[name="document"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Terms and Service
Accept
accept a TaS document for an organisation.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/terms-and-service/accept/1/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/terms-and-service/accept/1/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
Terms and dervice document accepted
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Accept Terms and Conditions
accept a TaC document for a user.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/terms-and-conditions/accept/1/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/terms-and-conditions/accept/1/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
Terms and conditions document accepted
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Users
Notifications
Index
requires authentication
List all notifications for a user.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/users/1/notifications?page=1&per_page=12" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"read\": true,
\"unread\": false
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/notifications"
);
const params = {
"page": "1",
"per_page": "12",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"read": true,
"unread": false
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"user_id": 18968,
"type": "account_updates",
"message": "Seeded data has been renewed. (This notification is only for pre existing system accounts)",
"url": null,
"read_at": null,
"created_at": "2026-05-08T21:42:30.000000Z",
"updated_at": "2026-05-08T21:42:30.000000Z"
},
{
"id": 1,
"user_id": 18968,
"type": "account_updates",
"message": "Seeded data has been renewed. (This notification is only for pre existing system accounts)",
"url": null,
"read_at": null,
"created_at": "2026-05-08T21:42:30.000000Z",
"updated_at": "2026-05-08T21:42:30.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Count unread
requires authentication
Get the amount of unread notifications for a user
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/count" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/count"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
data: {
count: 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark as read
requires authentication
Mark a single or all notifications as read for a user.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/mark-as-read/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/mark-as-read/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
message: "Notification(s) marked as read"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark as unread
requires authentication
Mark a notification as unread for a user.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/mark-as-unread/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/mark-as-unread/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
message: "Notification marked as unread"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show Notification Settings
requires authentication
Show notification settings for a user.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 75
vary: Origin
{
"message": "You do not have access to this user"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Notification Settings
requires authentication
Update notification settings for a user.
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"product_updates\": true,
\"organisation_updates\": false,
\"weekly_notification_digest\": true,
\"marketing_updates\": true
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/notifications/settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"product_updates": true,
"organisation_updates": false,
"weekly_notification_digest": true,
"marketing_updates": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Get the properties of a user.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/users/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"reference_id": "02-PYSRAKAS6CQ-B",
"ulid": "01KR4RMPQWBKWZ0XYZJ2JH0CQM",
"pdc_id": null,
"role_id": 2,
"first_name": "Amy",
"last_name": "Huang",
"email": "amyhuang@ecic.com.tw",
"email_verified_at": "2017-06-17T04:45:09.000000Z",
"phone": "+886910807779",
"location": "TW",
"locale": "en-US",
"created_at": "2017-06-17T04:45:09.000000Z",
"updated_at": "2017-06-17T04:45:09.000000Z",
"deleted_at": null,
"last_active_at": null,
"profile_reviewed_at": null,
"status": "active",
"profile_picture_url": null,
"location_name": "Taiwan"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a user.
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/users/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"cahfqbnhhoonozgzgnisepm\",
\"last_name\": \"auzktkuxt\",
\"email\": \"kessler.ryan@example.com\",
\"phone\": \"+1234567890\",
\"password\": \"&0aoMRurry\",
\"location\": \"US\",
\"locale\": \"en_JM\",
\"profile_picture\": \"v\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "cahfqbnhhoonozgzgnisepm",
"last_name": "auzktkuxt",
"email": "kessler.ryan@example.com",
"phone": "+1234567890",
"password": "&0aoMRurry",
"location": "US",
"locale": "en_JM",
"profile_picture": "v"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, successful):
{
"message": "User updated successfully",
"email_verification_required": false,
"password_sent": false,
"new_avatar_url": "https://example.com/avatar.jpg"
}
Example response (422, Validation Error):
{
"message": "[error message from the first field failing validation]",
"errors": {
"[field_name]": [
"[any validator message failing]"
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Destroy
requires authentication
Delete a user
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/users/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200, successful):
{
"message": "User deleted successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
IsRegistered
requires authentication
Checks if user is registered
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/users/1/is-registered" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/is-registered"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, successful):
{
"message": "User is not yet registered"
}
Example response (500, unsuccessful):
{
"message": "User is already registered"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisations
requires authentication
Get the organisations for a specific user or the authenticated user.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/users/1/organisations?pending=1&non_accepted=1&only_trashed=1&priority=12&per_page=5&sort=reference_id&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/organisations"
);
const params = {
"pending": "1",
"non_accepted": "1",
"only_trashed": "1",
"priority": "12",
"per_page": "5",
"sort": "reference_id",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 2,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"type": {
"id": 2,
"name": "Supplier",
"display_name": "Supplier",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
},
"organisation_users": [
{
"id": 471,
"organisation_id": 1,
"user_id": 5524,
"invited_by": null,
"role_id": 4,
"last_authorization": null,
"invitation_sent_at": null,
"invitation_accepted_at": "2026-05-08T21:42:00.000000Z",
"created_at": "2026-05-08T21:42:00.000000Z",
"updated_at": "2026-05-08T21:42:00.000000Z",
"deleted_at": null,
"role": {
"id": 4,
"parent_id": 3,
"name": "ORGANISATION_ADMIN"
},
"organisation": {
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 2,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China"
}
}
]
},
{
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 2,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China",
"type": {
"id": 2,
"name": "Supplier",
"display_name": "Supplier",
"description": null,
"selectable": 1,
"created_at": "2026-05-08T21:42:16.000000Z",
"updated_at": "2026-05-21T16:14:29.000000Z"
},
"organisation_users": [
{
"id": 471,
"organisation_id": 1,
"user_id": 5524,
"invited_by": null,
"role_id": 4,
"last_authorization": null,
"invitation_sent_at": null,
"invitation_accepted_at": "2026-05-08T21:42:00.000000Z",
"created_at": "2026-05-08T21:42:00.000000Z",
"updated_at": "2026-05-08T21:42:00.000000Z",
"deleted_at": null,
"role": {
"id": 4,
"parent_id": 3,
"name": "ORGANISATION_ADMIN"
},
"organisation": {
"id": 1,
"maxio_customer_id": 268249,
"reference_id": "01-J4CGS34JUJV-Q",
"pdc_id": null,
"gateway_aid": "A356IB10",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"type_id": 2,
"status": "approved",
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"location": "CN",
"zip": "",
"phone": "",
"email": "pengye@126.com",
"contact_first_name": "JIAN",
"contact_last_name": "Le",
"website": null,
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": null,
"profile_reviewed_by_user_id": null,
"location_name": "China"
}
}
]
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "50",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Accept Invitation
requires authentication
Accept an invitation to join an organisation.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/users/1/accept-invitation/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/accept-invitation/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reject Invitation
requires authentication
Reject an invitation to join an organisation.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/users/1/reject-invitation/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/users/1/reject-invitation/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Wastewater
Clearstream Report
Show
requires authentication
get the clearstream report as a pdf
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/clearstream-report" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/clearstream-report"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 74
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Facility information
Show attribute groups
requires authentication
Get a list of attribute groups related to report profiles
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/attribute-groups" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/attribute-groups"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"name": "Materials",
"profile_type": "supplier_profile",
"service_id": null,
"single_select": 0,
"type": null,
"required": null,
"items_type": null,
"attributes": [
{
"id": 1,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Cotton",
"selectable": 1,
"order": null
},
{
"id": 2,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Bast fibres and Bamboo",
"selectable": 0,
"order": null
},
{
"id": 3,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Bamboo",
"selectable": 1,
"order": null
},
{
"id": 4,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Flax (Linen)",
"selectable": 1,
"order": null
},
{
"id": 5,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Hemp",
"selectable": 1,
"order": null
},
{
"id": 6,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Jute",
"selectable": 1,
"order": null
},
{
"id": 7,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Nettle",
"selectable": 1,
"order": null
},
{
"id": 8,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Ramie",
"selectable": 1,
"order": null
},
{
"id": 9,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Banana",
"selectable": 1,
"order": null
},
{
"id": 10,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Leaf fibres",
"selectable": 0,
"order": null
},
{
"id": 11,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Bamboo",
"selectable": 1,
"order": null
},
{
"id": 12,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Flax (Linen)",
"selectable": 1,
"order": null
},
{
"id": 13,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Hemp",
"selectable": 1,
"order": null
},
{
"id": 14,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Jute",
"selectable": 1,
"order": null
},
{
"id": 15,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Nettle",
"selectable": 1,
"order": null
},
{
"id": 16,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Ramie",
"selectable": 1,
"order": null
},
{
"id": 17,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Banana",
"selectable": 1,
"order": null
},
{
"id": 18,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Kapok",
"selectable": 1,
"order": null
},
{
"id": 19,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Animal",
"selectable": 0,
"order": null
},
{
"id": 20,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Wool",
"selectable": 1,
"order": null
},
{
"id": 21,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Alpaca",
"selectable": 1,
"order": null
},
{
"id": 22,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Angora",
"selectable": 1,
"order": null
},
{
"id": 23,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Camel",
"selectable": 1,
"order": null
},
{
"id": 24,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Cashmere",
"selectable": 1,
"order": null
},
{
"id": 25,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Guanaco",
"selectable": 1,
"order": null
},
{
"id": 26,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Lama",
"selectable": 1,
"order": null
},
{
"id": 27,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Mohair",
"selectable": 1,
"order": null
},
{
"id": 28,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Vicuna",
"selectable": 1,
"order": null
},
{
"id": 29,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Yak",
"selectable": 1,
"order": null
},
{
"id": 30,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Horse hair",
"selectable": 1,
"order": null
},
{
"id": 31,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Vicugna",
"selectable": 1,
"order": null
},
{
"id": 32,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Silk",
"selectable": 1,
"order": null
},
{
"id": 33,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "MMCF",
"selectable": 0,
"order": null
},
{
"id": 34,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Acetate (Diacetate, Triacetate)",
"selectable": 1,
"order": null
},
{
"id": 35,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Cupro",
"selectable": 1,
"order": null
},
{
"id": 36,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Lyocell",
"selectable": 1,
"order": null
},
{
"id": 37,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Modal",
"selectable": 1,
"order": null
},
{
"id": 38,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Viscose",
"selectable": 1,
"order": null
},
{
"id": 39,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Synthetics",
"selectable": 0,
"order": null
},
{
"id": 40,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Acrylic",
"selectable": 1,
"order": null
},
{
"id": 41,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Elastane (Spandex) ",
"selectable": 1,
"order": null
},
{
"id": 42,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyamide (Nylon)",
"selectable": 1,
"order": null
},
{
"id": 43,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyester",
"selectable": 1,
"order": null
},
{
"id": 44,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyethylene",
"selectable": 1,
"order": null
},
{
"id": 45,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyethylene terephthalate (PET)",
"selectable": 1,
"order": null
},
{
"id": 46,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polylactic acid (PLA)",
"selectable": 1,
"order": null
},
{
"id": 47,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polypropylene",
"selectable": 1,
"order": null
},
{
"id": 48,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Secondary Raw Materials",
"selectable": 0,
"order": null
},
{
"id": 49,
"external_id": null,
"group_id": 1,
"parent_id": 48,
"short": null,
"name": "Recycled (any of the above)",
"selectable": 1,
"order": null
},
{
"id": 50,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Finished Leather",
"selectable": 1,
"order": null
},
{
"id": 51,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wood",
"selectable": 1,
"order": null
},
{
"id": 52,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Agricultural waste",
"selectable": 1,
"order": null
},
{
"id": 53,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Textile waste",
"selectable": 1,
"order": null
},
{
"id": 54,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Goose down",
"selectable": 1,
"order": null
},
{
"id": 55,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Goose feather",
"selectable": 1,
"order": null
},
{
"id": 56,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Duck down",
"selectable": 1,
"order": null
},
{
"id": 57,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Duck feather",
"selectable": 1,
"order": null
},
{
"id": 58,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Recycled Fibres",
"selectable": 0,
"order": null
},
{
"id": 59,
"external_id": null,
"group_id": 1,
"parent_id": 58,
"short": null,
"name": "Recycled (any of the above)",
"selectable": 1,
"order": null
},
{
"id": 60,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Fabrics",
"selectable": 1,
"order": null
},
{
"id": 61,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Leather",
"selectable": 1,
"order": null
},
{
"id": 62,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Ethylene vinyl acetate (EVA)",
"selectable": 1,
"order": null
},
{
"id": 63,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Polyurethane (PU)",
"selectable": 1,
"order": null
},
{
"id": 64,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Polyvinyl chloride (PVC)",
"selectable": 1,
"order": null
},
{
"id": 65,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Thermoplastic polyurethane (TPU)",
"selectable": 1,
"order": null
},
{
"id": 66,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Thermoplastic elastomers (TPE)",
"selectable": 1,
"order": null
},
{
"id": 67,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Acrylonitrile butadiene styrene (ABS)",
"selectable": 1,
"order": null
},
{
"id": 68,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Neoprene",
"selectable": 1,
"order": null
},
{
"id": 69,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Styrene ethylene butylene styrene (SEBS)",
"selectable": 1,
"order": null
},
{
"id": 70,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Fresh hides/skins",
"selectable": 1,
"order": null
},
{
"id": 71,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Brined hides/Skins",
"selectable": 1,
"order": null
},
{
"id": 72,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet or dry-salted hides/skins",
"selectable": 1,
"order": null
},
{
"id": 73,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Limed splits",
"selectable": 1,
"order": null
},
{
"id": 74,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Pickled hides/skins",
"selectable": 1,
"order": null
},
{
"id": 75,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet blue hides/skins",
"selectable": 1,
"order": null
},
{
"id": 76,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet white/wet green hides/skins",
"selectable": 1,
"order": null
},
{
"id": 77,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Crust hides/skins",
"selectable": 1,
"order": null
},
{
"id": 78,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Splits (tanned)",
"selectable": 1,
"order": null
},
{
"id": 79,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Splits (crust)",
"selectable": 1,
"order": null
}
]
},
{
"id": 1,
"name": "Materials",
"profile_type": "supplier_profile",
"service_id": null,
"single_select": 0,
"type": null,
"required": null,
"items_type": null,
"attributes": [
{
"id": 1,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Cotton",
"selectable": 1,
"order": null
},
{
"id": 2,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Bast fibres and Bamboo",
"selectable": 0,
"order": null
},
{
"id": 3,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Bamboo",
"selectable": 1,
"order": null
},
{
"id": 4,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Flax (Linen)",
"selectable": 1,
"order": null
},
{
"id": 5,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Hemp",
"selectable": 1,
"order": null
},
{
"id": 6,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Jute",
"selectable": 1,
"order": null
},
{
"id": 7,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Nettle",
"selectable": 1,
"order": null
},
{
"id": 8,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Ramie",
"selectable": 1,
"order": null
},
{
"id": 9,
"external_id": null,
"group_id": 1,
"parent_id": 2,
"short": null,
"name": "Banana",
"selectable": 1,
"order": null
},
{
"id": 10,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Leaf fibres",
"selectable": 0,
"order": null
},
{
"id": 11,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Bamboo",
"selectable": 1,
"order": null
},
{
"id": 12,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Flax (Linen)",
"selectable": 1,
"order": null
},
{
"id": 13,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Hemp",
"selectable": 1,
"order": null
},
{
"id": 14,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Jute",
"selectable": 1,
"order": null
},
{
"id": 15,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Nettle",
"selectable": 1,
"order": null
},
{
"id": 16,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Ramie",
"selectable": 1,
"order": null
},
{
"id": 17,
"external_id": null,
"group_id": 1,
"parent_id": 10,
"short": null,
"name": "Banana",
"selectable": 1,
"order": null
},
{
"id": 18,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Kapok",
"selectable": 1,
"order": null
},
{
"id": 19,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Animal",
"selectable": 0,
"order": null
},
{
"id": 20,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Wool",
"selectable": 1,
"order": null
},
{
"id": 21,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Alpaca",
"selectable": 1,
"order": null
},
{
"id": 22,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Angora",
"selectable": 1,
"order": null
},
{
"id": 23,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Camel",
"selectable": 1,
"order": null
},
{
"id": 24,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Cashmere",
"selectable": 1,
"order": null
},
{
"id": 25,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Guanaco",
"selectable": 1,
"order": null
},
{
"id": 26,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Lama",
"selectable": 1,
"order": null
},
{
"id": 27,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Mohair",
"selectable": 1,
"order": null
},
{
"id": 28,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Vicuna",
"selectable": 1,
"order": null
},
{
"id": 29,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Yak",
"selectable": 1,
"order": null
},
{
"id": 30,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Horse hair",
"selectable": 1,
"order": null
},
{
"id": 31,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Vicugna",
"selectable": 1,
"order": null
},
{
"id": 32,
"external_id": null,
"group_id": 1,
"parent_id": 19,
"short": null,
"name": "Silk",
"selectable": 1,
"order": null
},
{
"id": 33,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "MMCF",
"selectable": 0,
"order": null
},
{
"id": 34,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Acetate (Diacetate, Triacetate)",
"selectable": 1,
"order": null
},
{
"id": 35,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Cupro",
"selectable": 1,
"order": null
},
{
"id": 36,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Lyocell",
"selectable": 1,
"order": null
},
{
"id": 37,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Modal",
"selectable": 1,
"order": null
},
{
"id": 38,
"external_id": null,
"group_id": 1,
"parent_id": 33,
"short": null,
"name": "Viscose",
"selectable": 1,
"order": null
},
{
"id": 39,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Synthetics",
"selectable": 0,
"order": null
},
{
"id": 40,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Acrylic",
"selectable": 1,
"order": null
},
{
"id": 41,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Elastane (Spandex) ",
"selectable": 1,
"order": null
},
{
"id": 42,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyamide (Nylon)",
"selectable": 1,
"order": null
},
{
"id": 43,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyester",
"selectable": 1,
"order": null
},
{
"id": 44,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyethylene",
"selectable": 1,
"order": null
},
{
"id": 45,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polyethylene terephthalate (PET)",
"selectable": 1,
"order": null
},
{
"id": 46,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polylactic acid (PLA)",
"selectable": 1,
"order": null
},
{
"id": 47,
"external_id": null,
"group_id": 1,
"parent_id": 39,
"short": null,
"name": "Polypropylene",
"selectable": 1,
"order": null
},
{
"id": 48,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Secondary Raw Materials",
"selectable": 0,
"order": null
},
{
"id": 49,
"external_id": null,
"group_id": 1,
"parent_id": 48,
"short": null,
"name": "Recycled (any of the above)",
"selectable": 1,
"order": null
},
{
"id": 50,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Finished Leather",
"selectable": 1,
"order": null
},
{
"id": 51,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wood",
"selectable": 1,
"order": null
},
{
"id": 52,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Agricultural waste",
"selectable": 1,
"order": null
},
{
"id": 53,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Textile waste",
"selectable": 1,
"order": null
},
{
"id": 54,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Goose down",
"selectable": 1,
"order": null
},
{
"id": 55,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Goose feather",
"selectable": 1,
"order": null
},
{
"id": 56,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Duck down",
"selectable": 1,
"order": null
},
{
"id": 57,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Duck feather",
"selectable": 1,
"order": null
},
{
"id": 58,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Recycled Fibres",
"selectable": 0,
"order": null
},
{
"id": 59,
"external_id": null,
"group_id": 1,
"parent_id": 58,
"short": null,
"name": "Recycled (any of the above)",
"selectable": 1,
"order": null
},
{
"id": 60,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Fabrics",
"selectable": 1,
"order": null
},
{
"id": 61,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Leather",
"selectable": 1,
"order": null
},
{
"id": 62,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Ethylene vinyl acetate (EVA)",
"selectable": 1,
"order": null
},
{
"id": 63,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Polyurethane (PU)",
"selectable": 1,
"order": null
},
{
"id": 64,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Polyvinyl chloride (PVC)",
"selectable": 1,
"order": null
},
{
"id": 65,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Thermoplastic polyurethane (TPU)",
"selectable": 1,
"order": null
},
{
"id": 66,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Thermoplastic elastomers (TPE)",
"selectable": 1,
"order": null
},
{
"id": 67,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Acrylonitrile butadiene styrene (ABS)",
"selectable": 1,
"order": null
},
{
"id": 68,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Neoprene",
"selectable": 1,
"order": null
},
{
"id": 69,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Styrene ethylene butylene styrene (SEBS)",
"selectable": 1,
"order": null
},
{
"id": 70,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Fresh hides/skins",
"selectable": 1,
"order": null
},
{
"id": 71,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Brined hides/Skins",
"selectable": 1,
"order": null
},
{
"id": 72,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet or dry-salted hides/skins",
"selectable": 1,
"order": null
},
{
"id": 73,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Limed splits",
"selectable": 1,
"order": null
},
{
"id": 74,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Pickled hides/skins",
"selectable": 1,
"order": null
},
{
"id": 75,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet blue hides/skins",
"selectable": 1,
"order": null
},
{
"id": 76,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Wet white/wet green hides/skins",
"selectable": 1,
"order": null
},
{
"id": 77,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Crust hides/skins",
"selectable": 1,
"order": null
},
{
"id": 78,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Splits (tanned)",
"selectable": 1,
"order": null
},
{
"id": 79,
"external_id": null,
"group_id": 1,
"parent_id": null,
"short": null,
"name": "Splits (crust)",
"selectable": 1,
"order": null
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Get information for the owned facility for the given report
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/facility-information" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/facility-information"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"report_id": 29115,
"version_id": 1,
"requires_testing": 1,
"completed_at": "2026-05-15 11:30:33",
"created_at": "2026-05-15T11:29:20.000000Z",
"updated_at": "2026-05-15T11:30:33.000000Z",
"attributes": [
{
"id": 443,
"external_id": 1,
"group_id": 17,
"parent_id": null,
"short": null,
"name": "Wastewater 2.2",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 443
}
},
{
"id": 461,
"external_id": 1,
"group_id": 18,
"parent_id": null,
"short": null,
"name": "Textile",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 461
}
},
{
"id": 465,
"external_id": 1,
"group_id": 19,
"parent_id": null,
"short": null,
"name": "Textile Accessories and Trims Assembler",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 465
}
},
{
"id": 466,
"external_id": 2,
"group_id": 19,
"parent_id": null,
"short": null,
"name": "Textile Apparel Assembler (CMT)",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 466
}
},
{
"id": 468,
"external_id": 4,
"group_id": 19,
"parent_id": null,
"short": null,
"name": "Textile Accessories and Trims Processor",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 468
}
},
{
"id": 500,
"external_id": 2,
"group_id": 20,
"parent_id": null,
"short": null,
"name": "Indirect with pretreatment (with sludge)",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 500
}
},
{
"id": 505,
"external_id": 1,
"group_id": 21,
"parent_id": null,
"short": null,
"name": "more than or equal 15m³ per day",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 505
}
},
{
"id": 507,
"external_id": 1,
"group_id": 22,
"parent_id": null,
"short": null,
"name": "Yes",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 507
}
},
{
"id": 511,
"external_id": 4,
"group_id": 23,
"parent_id": null,
"short": null,
"name": "Landfill with limited control measures",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 511
}
},
{
"id": 519,
"external_id": 4,
"group_id": 24,
"parent_id": null,
"short": null,
"name": "Acetate",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 519
}
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Get facility information
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/facility-information" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"complete\": true,
\"guideline_version\": 459,
\"industry_type\": 463,
\"facility_type\": [],
\"discharge_type\": 501,
\"above_15m\": 505,
\"has_sludge\": 506,
\"disposal_pathway\": 513,
\"fiber_type\": 518
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/facility-information"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"complete": true,
"guideline_version": 459,
"industry_type": 463,
"facility_type": [],
"discharge_type": 501,
"above_15m": 505,
"has_sludge": 506,
"disposal_pathway": 513,
"fiber_type": 518
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Clearstream Requests
Index
requires authentication
Get assigned laboratory clearstream requests.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests?per_page=2&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests"
);
const params = {
"per_page": "2",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"report_id": 29115,
"laboratory_id": 19686,
"reporting_cycle": "2026-2",
"location": "NL",
"status": "CLOSED",
"upload_method": "manual",
"sampling_completed_at": "2026-05-15T11:39:25.000000Z",
"testing_started_at": "2026-05-15 11:39:32",
"testing_completed_at": "2026-05-15T11:40:52.000000Z",
"closed_at": null,
"accepted_at": "2026-05-15 11:39:04",
"rejected_at": null,
"accepted_by_supplier_at": "2026-05-15 11:42:12",
"rejected_by_supplier_at": null,
"rejection_reason": null,
"rejection_reason_by_supplier": null,
"supplier_rejection_additional_info": null,
"created_at": "2026-05-15T11:38:36.000000Z",
"updated_at": "2026-05-15T11:42:12.000000Z"
},
{
"id": 1,
"report_id": 29115,
"laboratory_id": 19686,
"reporting_cycle": "2026-2",
"location": "NL",
"status": "CLOSED",
"upload_method": "manual",
"sampling_completed_at": "2026-05-15T11:39:25.000000Z",
"testing_started_at": "2026-05-15 11:39:32",
"testing_completed_at": "2026-05-15T11:40:52.000000Z",
"closed_at": null,
"accepted_at": "2026-05-15 11:39:04",
"rejected_at": null,
"accepted_by_supplier_at": "2026-05-15 11:42:12",
"rejected_by_supplier_at": null,
"rejection_reason": null,
"rejection_reason_by_supplier": null,
"supplier_rejection_additional_info": null,
"created_at": "2026-05-15T11:38:36.000000Z",
"updated_at": "2026-05-15T11:42:12.000000Z"
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "100",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show
requires authentication
Get details for a specific laboratory clearstream request.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"report_id": 29115,
"laboratory_id": 19686,
"reporting_cycle": "2026-2",
"location": "NL",
"status": "CLOSED",
"upload_method": "manual",
"sampling_completed_at": "2026-05-15T11:39:25.000000Z",
"testing_started_at": "2026-05-15 11:39:32",
"testing_completed_at": "2026-05-15T11:40:52.000000Z",
"closed_at": null,
"accepted_at": "2026-05-15 11:39:04",
"rejected_at": null,
"accepted_by_supplier_at": "2026-05-15 11:42:12",
"rejected_by_supplier_at": null,
"rejection_reason": null,
"rejection_reason_by_supplier": null,
"supplier_rejection_additional_info": null,
"created_at": "2026-05-15T11:38:36.000000Z",
"updated_at": "2026-05-15T11:42:12.000000Z",
"report": {
"id": 29115,
"reference_id": "60-R4BSFHXLT9LR-A",
"uuid": "a1c8f39f-c9ab-49d5-82b7-60820a045e11",
"organisation_id": 74662,
"status": "PASSED",
"created_at": "2026-05-15T11:28:48.000000Z",
"updated_at": "2026-05-18T09:29:45.000000Z",
"archived_at": null,
"last_viewed_at": "2026-05-18 09:29:45",
"payment_completed_at": null,
"organisation": {
"id": 74662,
"maxio_customer_id": 322059,
"reference_id": "01-FRQLY3MSKVQT-Q",
"pdc_id": null,
"gateway_aid": null,
"uuid": "a066d4f6-8210-47cb-8f3d-2442d7f0101e",
"type_id": 2,
"status": "approved",
"name": "test-Supplier Nova",
"legal_name": "Feil Ltd",
"address_1": "92269 Nels Turnpike",
"address_2": "Apt. 825",
"city": "North Krystel",
"state": "Montana",
"location": "TD",
"zip": "01071-1222",
"phone": "+16899005036",
"email": "katheryn.bailey@sawayn.info",
"contact_first_name": "Reyes",
"contact_last_name": "Williamson",
"website": "http://hegmann.com/quibusdam-ex-perferendis-voluptatem-et-aut",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": "2025-02-13 04:48:38",
"created_at": "2025-11-20T10:40:00.000000Z",
"updated_at": "2026-05-15T09:35:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": "2026-01-19 13:19:40",
"profile_reviewed_by_user_id": 47059,
"location_name": "Chad"
},
"profile": {
"id": 1,
"report_id": 29115,
"version_id": 1,
"requires_testing": 1,
"completed_at": "2026-05-15 11:30:33",
"created_at": "2026-05-15T11:29:20.000000Z",
"updated_at": "2026-05-15T11:30:33.000000Z",
"attributes": [
{
"id": 443,
"external_id": 1,
"group_id": 17,
"parent_id": null,
"short": null,
"name": "Wastewater 2.2",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 443
},
"group": {
"id": 17,
"name": "guideline_version",
"profile_type": "report_profile",
"service_id": null,
"single_select": 1,
"type": "integer",
"required": 1,
"items_type": null
}
},
{
"id": 461,
"external_id": 1,
"group_id": 18,
"parent_id": null,
"short": null,
"name": "Textile",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 461
},
"group": {
"id": 18,
"name": "industry_type",
"profile_type": "report_profile",
"service_id": null,
"single_select": 1,
"type": "integer",
"required": 1,
"items_type": null
}
},
{
"id": 465,
"external_id": 1,
"group_id": 19,
"parent_id": null,
"short": null,
"name": "Textile Accessories and Trims Assembler",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 465
},
"group": {
"id": 19,
"name": "facility_type",
"profile_type": "report_profile",
"service_id": null,
"single_select": 0,
"type": "array",
"required": 1,
"items_type": "integer"
}
},
{
"id": 466,
"external_id": 2,
"group_id": 19,
"parent_id": null,
"short": null,
"name": "Textile Apparel Assembler (CMT)",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 466
},
"group": {
"id": 19,
"name": "facility_type",
"profile_type": "report_profile",
"service_id": null,
"single_select": 0,
"type": "array",
"required": 1,
"items_type": "integer"
}
},
{
"id": 468,
"external_id": 4,
"group_id": 19,
"parent_id": null,
"short": null,
"name": "Textile Accessories and Trims Processor",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 468
},
"group": {
"id": 19,
"name": "facility_type",
"profile_type": "report_profile",
"service_id": null,
"single_select": 0,
"type": "array",
"required": 1,
"items_type": "integer"
}
},
{
"id": 500,
"external_id": 2,
"group_id": 20,
"parent_id": null,
"short": null,
"name": "Indirect with pretreatment (with sludge)",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 500
},
"group": {
"id": 20,
"name": "discharge_type",
"profile_type": "report_profile",
"service_id": null,
"single_select": 1,
"type": "integer",
"required": 1,
"items_type": null
}
},
{
"id": 505,
"external_id": 1,
"group_id": 21,
"parent_id": null,
"short": null,
"name": "more than or equal 15m³ per day",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 505
},
"group": {
"id": 21,
"name": "above_15m",
"profile_type": "report_profile",
"service_id": null,
"single_select": 1,
"type": "integer",
"required": 1,
"items_type": null
}
},
{
"id": 507,
"external_id": 1,
"group_id": 22,
"parent_id": null,
"short": null,
"name": "Yes",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 507
},
"group": {
"id": 22,
"name": "has_sludge",
"profile_type": "report_profile",
"service_id": null,
"single_select": 1,
"type": "integer",
"required": 1,
"items_type": null
}
},
{
"id": 511,
"external_id": 4,
"group_id": 23,
"parent_id": null,
"short": null,
"name": "Landfill with limited control measures",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 511
},
"group": {
"id": 23,
"name": "disposal_pathway",
"profile_type": "report_profile",
"service_id": null,
"single_select": 1,
"type": "integer",
"required": 0,
"items_type": null
}
},
{
"id": 519,
"external_id": 4,
"group_id": 24,
"parent_id": null,
"short": null,
"name": "Acetate",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 519
},
"group": {
"id": 24,
"name": "fiber_type",
"profile_type": "report_profile",
"service_id": null,
"single_select": 1,
"type": "integer",
"required": 0,
"items_type": null
}
}
]
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Accept
requires authentication
Accept a laboratory clearstream request.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/accept" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/accept"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reject
requires authentication
Reject a laboratory clearstream request.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/reject?rejection_reason=excepturi" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/reject"
);
const params = {
"rejection_reason": "excepturi",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Create a new laboratory clearstream request.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/laboratory-requests?laboratory_id=10" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/laboratory-requests"
);
const params = {
"laboratory_id": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Example response (200):
{
"data": {
"id": 1,
"report_id": 29115,
"laboratory_id": 19686,
"reporting_cycle": "2026-2",
"location": "NL",
"status": "CLOSED",
"upload_method": "manual",
"sampling_completed_at": "2026-05-15T11:39:25.000000Z",
"testing_started_at": "2026-05-15 11:39:32",
"testing_completed_at": "2026-05-15T11:40:52.000000Z",
"closed_at": null,
"accepted_at": "2026-05-15 11:39:04",
"rejected_at": null,
"accepted_by_supplier_at": "2026-05-15 11:42:12",
"rejected_by_supplier_at": null,
"rejection_reason": null,
"rejection_reason_by_supplier": null,
"supplier_rejection_additional_info": null,
"created_at": "2026-05-15T11:38:36.000000Z",
"updated_at": "2026-05-15T11:42:12.000000Z",
"report": {
"id": 29115,
"reference_id": "60-R4BSFHXLT9LR-A",
"uuid": "a1c8f39f-c9ab-49d5-82b7-60820a045e11",
"organisation_id": 74662,
"status": "PASSED",
"created_at": "2026-05-15T11:28:48.000000Z",
"updated_at": "2026-05-18T09:29:45.000000Z",
"archived_at": null,
"last_viewed_at": "2026-05-18 09:29:45",
"payment_completed_at": null,
"organisation": {
"id": 74662,
"maxio_customer_id": 322059,
"reference_id": "01-FRQLY3MSKVQT-Q",
"pdc_id": null,
"gateway_aid": null,
"uuid": "a066d4f6-8210-47cb-8f3d-2442d7f0101e",
"type_id": 2,
"status": "approved",
"name": "test-Supplier Nova",
"legal_name": "Feil Ltd",
"address_1": "92269 Nels Turnpike",
"address_2": "Apt. 825",
"city": "North Krystel",
"state": "Montana",
"location": "TD",
"zip": "01071-1222",
"phone": "+16899005036",
"email": "katheryn.bailey@sawayn.info",
"contact_first_name": "Reyes",
"contact_last_name": "Williamson",
"website": "http://hegmann.com/quibusdam-ex-perferendis-voluptatem-et-aut",
"avatar_url": null,
"applicant_comment": null,
"reviewer_comment": null,
"registration_mail_sent_at": "2025-02-13 04:48:38",
"created_at": "2025-11-20T10:40:00.000000Z",
"updated_at": "2026-05-15T09:35:59.000000Z",
"reviewer_comment_category": null,
"profile_reviewed_at": "2026-01-19 13:19:40",
"profile_reviewed_by_user_id": 47059,
"location_name": "Chad"
},
"profile": {
"id": 1,
"report_id": 29115,
"version_id": 1,
"requires_testing": 1,
"completed_at": "2026-05-15 11:30:33",
"created_at": "2026-05-15T11:29:20.000000Z",
"updated_at": "2026-05-15T11:30:33.000000Z",
"attributes": [
{
"id": 443,
"external_id": 1,
"group_id": 17,
"parent_id": null,
"short": null,
"name": "Wastewater 2.2",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 443
}
},
{
"id": 461,
"external_id": 1,
"group_id": 18,
"parent_id": null,
"short": null,
"name": "Textile",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 461
}
},
{
"id": 465,
"external_id": 1,
"group_id": 19,
"parent_id": null,
"short": null,
"name": "Textile Accessories and Trims Assembler",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 465
}
},
{
"id": 466,
"external_id": 2,
"group_id": 19,
"parent_id": null,
"short": null,
"name": "Textile Apparel Assembler (CMT)",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 466
}
},
{
"id": 468,
"external_id": 4,
"group_id": 19,
"parent_id": null,
"short": null,
"name": "Textile Accessories and Trims Processor",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 468
}
},
{
"id": 500,
"external_id": 2,
"group_id": 20,
"parent_id": null,
"short": null,
"name": "Indirect with pretreatment (with sludge)",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 500
}
},
{
"id": 505,
"external_id": 1,
"group_id": 21,
"parent_id": null,
"short": null,
"name": "more than or equal 15m³ per day",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 505
}
},
{
"id": 507,
"external_id": 1,
"group_id": 22,
"parent_id": null,
"short": null,
"name": "Yes",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 507
}
},
{
"id": 511,
"external_id": 4,
"group_id": 23,
"parent_id": null,
"short": null,
"name": "Landfill with limited control measures",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 511
}
},
{
"id": 519,
"external_id": 4,
"group_id": 24,
"parent_id": null,
"short": null,
"name": "Acetate",
"selectable": 1,
"order": null,
"pivot": {
"profile_id": 1,
"attribute_id": 519
}
}
]
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Choose Upload Method
requires authentication
Allows the user to choose the upload method for the laboratory request.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/choose-upload-method" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"api\"
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/choose-upload-method"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "api"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "Upload method successfully saved."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store test results
requires authentication
Store test results for a specific report
Example request:
curl --request PATCH \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/store-test-results" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"parameters\": [
{
\"id\": 14,
\"non_detected\": false
}
]
}"
const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/store-test-results"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"parameters": [
{
"id": 14,
"non_detected": false
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Prefill test results
requires authentication
Prefill test results for a specific report. Only available for envs with APP_DEBUG=true
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/prefill-test-results" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/prefill-test-results"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Accept By Supplier
requires authentication
Accept a finished laboratory clearstream request from the supplier side.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/accept-by-supplier" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/accept-by-supplier"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reject By Supplier
requires authentication
Reject a finished laboratory clearstream request from the supplier side.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/reject-by-supplier?rejection_reason=missing_requirements&additional_details=qwikocajfweqwpu&return_to_reporting=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/reject-by-supplier"
);
const params = {
"rejection_reason": "missing_requirements",
"additional_details": "qwikocajfweqwpu",
"return_to_reporting": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reporting
Preview required tests
requires authentication
Get a summary of parameters for a specific report
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/preview-required-tests" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/preview-required-tests"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"matrix": null,
"name": null,
"name_or_parent": null
},
{
"matrix": null,
"name": null,
"name_or_parent": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get test results
requires authentication
Get a test result for a specific report
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-results/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-results/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"report_id": 1,
"parameters_filled": null,
"test_date": null,
"last_viewed_at": null,
"created_at": "2026-05-10T02:33:51.000000Z",
"updated_at": "2026-05-10T02:33:51.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
parameter parents
requires authentication
Get parameter parents for a specific report
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-result-parameter-parents/1?per_page=2&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-result-parameter-parents/1"
);
const params = {
"per_page": "2",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"guideline_id": 129,
"test_result_id": 14569,
"unit_id": null,
"method_id": null,
"resulting_limit_id": null,
"visibility": "always",
"measured_value": "0",
"name": "1,2-benzenedicarboxylic acid, di-C7-11 branched and liearalkyl esters (DHNUP)",
"matrix": "Untreated",
"status": "passed",
"cas_number": null,
"alternative_value": null,
"is_passing": 1,
"mandatory": 0,
"created_at": "2026-05-10T02:34:44.000000Z",
"updated_at": "2026-05-10T02:34:44.000000Z",
"parent_id": null,
"data_type": null,
"value_type": null,
"scoring_applicable": 1,
"non_detected": 0
},
{
"id": 1,
"guideline_id": 129,
"test_result_id": 14569,
"unit_id": null,
"method_id": null,
"resulting_limit_id": null,
"visibility": "always",
"measured_value": "0",
"name": "1,2-benzenedicarboxylic acid, di-C7-11 branched and liearalkyl esters (DHNUP)",
"matrix": "Untreated",
"status": "passed",
"cas_number": null,
"alternative_value": null,
"is_passing": 1,
"mandatory": 0,
"created_at": "2026-05-10T02:34:44.000000Z",
"updated_at": "2026-05-10T02:34:44.000000Z",
"parent_id": null,
"data_type": null,
"value_type": null,
"scoring_applicable": 1,
"non_detected": 0
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get test result parameters
requires authentication
Get test result parameters for a specific test result
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-result-parameters/1?per_page=13&group=18&page=1&search=nemo&filter%5Bmatrix%5D=cupiditate&filter%5Bparent_name%5D=corporis&filter%5Bonly_with_rca_cap%5D=ab&column=matrix&sort=name" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-result-parameters/1"
);
const params = {
"per_page": "13",
"group": "18",
"page": "1",
"search": "nemo",
"filter[matrix]": "cupiditate",
"filter[parent_name]": "corporis",
"filter[only_with_rca_cap]": "ab",
"column": "matrix",
"sort": "name",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"guideline_id": 129,
"test_result_id": 14569,
"unit_id": null,
"method_id": null,
"resulting_limit_id": null,
"visibility": "always",
"measured_value": "0",
"name": "1,2-benzenedicarboxylic acid, di-C7-11 branched and liearalkyl esters (DHNUP)",
"matrix": "Untreated",
"status": "passed",
"cas_number": null,
"alternative_value": null,
"is_passing": 1,
"mandatory": 0,
"created_at": "2026-05-10T02:34:44.000000Z",
"updated_at": "2026-05-10T02:34:44.000000Z",
"parent_id": null,
"data_type": null,
"value_type": null,
"scoring_applicable": 1,
"non_detected": 0,
"limits": [],
"methods": [],
"selected_method": null,
"parent": null,
"rca": {
"id": 4,
"parameter_id": 1,
"is_resolved": false,
"reason_for_failure": "Incorrect dosing of treatment chemicals",
"corrective_action": "Other",
"notes": null,
"action_notes": null,
"planned_resolution_date": null,
"created_at": "2026-05-12T14:07:12.000000Z",
"updated_at": "2026-05-12T14:07:12.000000Z"
},
"unit": null
},
{
"id": 1,
"guideline_id": 129,
"test_result_id": 14569,
"unit_id": null,
"method_id": null,
"resulting_limit_id": null,
"visibility": "always",
"measured_value": "0",
"name": "1,2-benzenedicarboxylic acid, di-C7-11 branched and liearalkyl esters (DHNUP)",
"matrix": "Untreated",
"status": "passed",
"cas_number": null,
"alternative_value": null,
"is_passing": 1,
"mandatory": 0,
"created_at": "2026-05-10T02:34:44.000000Z",
"updated_at": "2026-05-10T02:34:44.000000Z",
"parent_id": null,
"data_type": null,
"value_type": null,
"scoring_applicable": 1,
"non_detected": 0,
"limits": [],
"methods": [],
"selected_method": null,
"parent": null,
"rca": {
"id": 4,
"parameter_id": 1,
"is_resolved": false,
"reason_for_failure": "Incorrect dosing of treatment chemicals",
"corrective_action": "Other",
"notes": null,
"action_notes": null,
"planned_resolution_date": null,
"created_at": "2026-05-12T14:07:12.000000Z",
"updated_at": "2026-05-12T14:07:12.000000Z"
},
"unit": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Export test result parameters
requires authentication
Esports the test result parameters for a specific report
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-results/1/export" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/labs/test-results/1/export"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 73
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Index
requires authentication
Get all wastewater reports for an organisation
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reports?per_page=20&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reports"
);
const params = {
"per_page": "20",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "TR543HN21",
"uuid": "a1be2564-03c3-42fe-a0e2-f7088f4dd90b",
"organisation_id": 11605,
"status": "PASSED",
"created_at": "2022-10-13T11:42:54.000000Z",
"updated_at": "2022-10-13T11:45:27.000000Z",
"archived_at": null,
"last_viewed_at": "2026-05-10 02:33:51",
"payment_completed_at": null
},
{
"id": 1,
"reference_id": "TR543HN21",
"uuid": "a1be2564-03c3-42fe-a0e2-f7088f4dd90b",
"organisation_id": 11605,
"status": "PASSED",
"created_at": "2022-10-13T11:42:54.000000Z",
"updated_at": "2022-10-13T11:45:27.000000Z",
"archived_at": null,
"last_viewed_at": "2026-05-10 02:33:51",
"payment_completed_at": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 50,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reporting Progress
requires authentication
Get information on the progress of the currently running wastewater reporting.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/progress/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/progress/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 69
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Start Reporting
requires authentication
Start the wastewater reporting process.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/start-reporting" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/start-reporting"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Example response (400, Wastewater reporting has been started.):
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Restart Cycle
requires authentication
Restart a cycle
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/restart-cycle" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/restart-cycle"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reporting Progress
requires authentication
Get information on the progress of the currently running wastewater reporting.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/complete-payment" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/complete-payment"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Details
requires authentication
Get details for report
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/details/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/details/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 68
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sampling Information
Show
requires authentication
Show the sampling information.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/sampling-information/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/sampling-information/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"lab_request_id": 1,
"effluent_discharge_method_id": 500,
"project_number": "786786789",
"wastewater_type": "Industrial Wastewater mixed with Domestic Wastewater",
"industrial_wastewater_volume_more_than_15qm": 0,
"created_at": "2026-05-15T11:39:25.000000Z",
"updated_at": "2026-05-15T11:39:25.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
requires authentication
Store the sampling information.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/sampling-information" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "project_number=fwocyclgyvxwzdl"\
--form "effluent_discharge_method_id=laboriosam"\
--form "wastewater_type=Industrial Wastewater"\
--form "industrial_wastewater_volume_more_than_15qm="\
--form "sample_points[][name]=qui"\
--form "sample_points[][latitude]=5"\
--form "sample_points[][longitude]=23"\
--form "sample_points[][type]=untreated"\
--form "sample_points[][discharge_to_aquatic_bodies]=1"\
--form "sample_points[][pre_treatments][]=laboriosam"\
--form "sample_points[][temperature_safety_risk]=1"\
--form "sample_points[][persistent_foam_safety_risk]="\
--form "sample_points[][major_disposal_pathway]=Offsite Incineration and Building Products Processed at <1000°C"\
--form "sample_points[][disposal_pathway_percentage]=2"\
--form "sample_points[][filename]=@/tmp/phpmHEdDp" --form "sample_points[][temperature_safety_risk_file]=@/tmp/phpefphDp" --form "sample_points[][persistent_foam_safety_risk_file]=@/tmp/phpkBjjDp" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/laboratory-requests/1/sampling-information"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('project_number', 'fwocyclgyvxwzdl');
body.append('effluent_discharge_method_id', 'laboriosam');
body.append('wastewater_type', 'Industrial Wastewater');
body.append('industrial_wastewater_volume_more_than_15qm', '');
body.append('sample_points[][name]', 'qui');
body.append('sample_points[][latitude]', '5');
body.append('sample_points[][longitude]', '23');
body.append('sample_points[][type]', 'untreated');
body.append('sample_points[][discharge_to_aquatic_bodies]', '1');
body.append('sample_points[][pre_treatments][]', 'laboriosam');
body.append('sample_points[][temperature_safety_risk]', '1');
body.append('sample_points[][persistent_foam_safety_risk]', '');
body.append('sample_points[][major_disposal_pathway]', 'Offsite Incineration and Building Products Processed at <1000°C');
body.append('sample_points[][disposal_pathway_percentage]', '2');
body.append('sample_points[][filename]', document.querySelector('input[name="sample_points[][filename]"]').files[0]);
body.append('sample_points[][temperature_safety_risk_file]', document.querySelector('input[name="sample_points[][temperature_safety_risk_file]"]').files[0]);
body.append('sample_points[][persistent_foam_safety_risk_file]', document.querySelector('input[name="sample_points[][persistent_foam_safety_risk_file]"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Root Cause Analysis
Show
requires authentication
Show details about a given RCA record
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca/4" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca/4"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 90
x-ratelimit-remaining: 70
vary: Origin
{
"message": "You need to accept the newest Terms and Service document before you can continue.",
"data": {
"document_id": 1,
"document_url": "https://staging-api.vm400.consulting1x1.info/storage/terms-and-service/TaS Example.pdf",
"organisation_id": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create
requires authentication
Create a new Wastewater Root Cause Analysis record.
Example request:
curl --request POST \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "parameter_id=1"\
--form "is_resolved="\
--form "reason_for_failure=mhxraxxxfrmvhpygwpjp"\
--form "corrective_action=xmvo"\
--form "notes=cupiditate"\
--form "action_notes=adipisci"\
--form "planned_resolution_date=2026-05-21 16:14:59"\
--form "evidence=@/tmp/phpdMeOaA" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('parameter_id', '1');
body.append('is_resolved', '');
body.append('reason_for_failure', 'mhxraxxxfrmvhpygwpjp');
body.append('corrective_action', 'xmvo');
body.append('notes', 'cupiditate');
body.append('action_notes', 'adipisci');
body.append('planned_resolution_date', '2026-05-21 16:14:59');
body.append('evidence', document.querySelector('input[name="evidence"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (201):
{
"data": {
"id": 4,
"parameter_id": 1,
"is_resolved": false,
"reason_for_failure": "Incorrect dosing of treatment chemicals",
"corrective_action": "Other",
"notes": null,
"action_notes": null,
"planned_resolution_date": null,
"created_at": "2026-05-12T14:07:12.000000Z",
"updated_at": "2026-05-12T14:07:12.000000Z",
"evidence_file_url": null
},
"message": "Wastewater RCA created successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
requires authentication
Update a given RCA record
Example request:
curl --request PUT \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca/4" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "parameter_id=1"\
--form "is_resolved="\
--form "reason_for_failure=ybuakvtqw"\
--form "corrective_action=prkdg"\
--form "notes=non"\
--form "action_notes=quia"\
--form "planned_resolution_date=2026-05-21 16:14:59"\
--form "evidence=@/tmp/phpLDFooB" const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca/4"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('parameter_id', '1');
body.append('is_resolved', '');
body.append('reason_for_failure', 'ybuakvtqw');
body.append('corrective_action', 'prkdg');
body.append('notes', 'non');
body.append('action_notes', 'quia');
body.append('planned_resolution_date', '2026-05-21 16:14:59');
body.append('evidence', document.querySelector('input[name="evidence"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 4,
"parameter_id": 1,
"is_resolved": false,
"reason_for_failure": "Incorrect dosing of treatment chemicals",
"corrective_action": "Other",
"notes": null,
"action_notes": null,
"planned_resolution_date": null,
"created_at": "2026-05-12T14:07:12.000000Z",
"updated_at": "2026-05-12T14:07:12.000000Z",
"evidence_file_url": null
},
"message": "Wastewater RCA updated successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete File
requires authentication
Delete the evidence file
Example request:
curl --request DELETE \
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca/4/delete-evidence-file" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca/4/delete-evidence-file"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": 4,
"parameter_id": 1,
"is_resolved": false,
"reason_for_failure": "Incorrect dosing of treatment chemicals",
"corrective_action": "Other",
"notes": null,
"action_notes": null,
"planned_resolution_date": null,
"created_at": "2026-05-12T14:07:12.000000Z",
"updated_at": "2026-05-12T14:07:12.000000Z",
"evidence_file_url": null
},
"message": "Wastewater RCA evidence file deleted successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
RCA Overview PDF
Generate
requires authentication
Generate the Rca Overview Pdf
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca-overview-pdf" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/1/rca-overview-pdf"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
content of the pdf
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reporting Summary
Index
requires authentication
Get a summary of the reporting status of a wastewater report
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/report/1/summary" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/organisation/1/wastewater/reporting/report/1/summary"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"testedParameters": 10,
"passingParameters": 8,
"failingParameters": 2,
"complianceRate": 80
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
ZDHC/V1
Organisations
Organisations Index
requires authentication
List all organisations.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/zdhc/v1/organisations?page=1&per_page=12&filter%5Bupdated_at%5D=%3C%3D+2026-06-01+16%3A14%3A55&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/zdhc/v1/organisations"
);
const params = {
"page": "1",
"per_page": "12",
"filter[updated_at]": "<= 2026-06-01 16:14:55",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"reference_id": "01-J4CGS34JUJV-Q",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"status": "approved",
"type": {
"id": 2,
"name": "Supplier"
},
"registration_summary": {
"current_status": "approved",
"current_status_start_at": null
},
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address": {
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"postal_code": "",
"country": "CN",
"location_name": "China"
},
"website": null,
"primary_contact": {
"first_name": "JIAN",
"last_name": "Le",
"email": "pengye@126.com",
"phone": ""
},
"external_ids": {
"ZDHC_AID": "A356IB10",
"OS_HUB": null,
"PDC_ID": null
},
"stats": {
"connections_count": null,
"users_count": null
},
"comments": {
"applicant_comment": null,
"review_comment": null
},
"reviewer_comment_category": null,
"registration_mail_sent_at": null,
"profile_reviewed_by_user_id": null,
"profile_reviewed_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"deleted_at": null
},
{
"id": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"reference_id": "01-J4CGS34JUJV-Q",
"uuid": "90c7ed3c-8971-4e52-85b9-d7e4a65bfba8",
"status": "approved",
"type": {
"id": 2,
"name": "Supplier"
},
"registration_summary": {
"current_status": "approved",
"current_status_start_at": null
},
"name": "Ping Yang Pengye Shoes Com Ltd",
"legal_name": "Ping Yang Pengye Shoes Com Ltd",
"address": {
"address_1": "浙江省温州市平阳县万全镇雪之梦(B3)18号厂房",
"address_2": null,
"city": "Wenzhou",
"state": "Zhejiang",
"postal_code": "",
"country": "CN",
"location_name": "China"
},
"website": null,
"primary_contact": {
"first_name": "JIAN",
"last_name": "Le",
"email": "pengye@126.com",
"phone": ""
},
"external_ids": {
"ZDHC_AID": "A356IB10",
"OS_HUB": null,
"PDC_ID": null
},
"stats": {
"connections_count": null,
"users_count": null
},
"comments": {
"applicant_comment": null,
"review_comment": null
},
"reviewer_comment_category": null,
"registration_mail_sent_at": null,
"profile_reviewed_by_user_id": null,
"profile_reviewed_at": null,
"created_at": "2021-11-04T12:19:55.000000Z",
"updated_at": "2026-05-12T14:45:25.000000Z",
"deleted_at": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organisation-Users
OrganisationUsers Index
requires authentication
List all organisation-users.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/zdhc/v1/organisation-users?page=1&per_page=10&filter%5Bupdated_at%5D=%3C%3D+2026-06-09+16%3A14%3A55&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/zdhc/v1/organisation-users"
);
const params = {
"page": "1",
"per_page": "10",
"filter[updated_at]": "<= 2026-06-09 16:14:55",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"organisation": {
"id": "6da77b31-2663-45e1-9379-8e6737466a88",
"reference_id": "01-CHFY7TAWBWS-B",
"uuid": "6da77b31-2663-45e1-9379-8e6737466a88",
"status": "approved"
},
"user": {
"id": 5,
"reference_id": "02-76N8YMAVWFR-I",
"ulid": "01KR4RMPQWBKWZ0XYZJ2JH0CQR",
"status": "active"
},
"role": "ORGANISATION_ADMIN",
"created_at": "2026-05-08T21:42:00.000000Z",
"updated_at": "2026-05-08T21:42:00.000000Z",
"deleted_at": null
},
{
"organisation": {
"id": "6da77b31-2663-45e1-9379-8e6737466a88",
"reference_id": "01-CHFY7TAWBWS-B",
"uuid": "6da77b31-2663-45e1-9379-8e6737466a88",
"status": "approved"
},
"user": {
"id": 5,
"reference_id": "02-76N8YMAVWFR-I",
"ulid": "01KR4RMPQWBKWZ0XYZJ2JH0CQR",
"status": "active"
},
"role": "ORGANISATION_ADMIN",
"created_at": "2026-05-08T21:42:00.000000Z",
"updated_at": "2026-05-08T21:42:00.000000Z",
"deleted_at": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Users
Users Index
requires authentication
List all users.
Example request:
curl --request GET \
--get "https://staging-api.vm400.consulting1x1.info/api/zdhc/v1/users?page=1&per_page=19&filter%5Bupdated_at%5D=%3C+2026-05-30+16%3A14%3A55&sort=updated_at" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://staging-api.vm400.consulting1x1.info/api/zdhc/v1/users"
);
const params = {
"page": "1",
"per_page": "19",
"filter[updated_at]": "< 2026-05-30 16:14:55",
"sort": "updated_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": 1,
"reference_id": "02-PYSRAKAS6CQ-B",
"ulid": "01KR4RMPQWBKWZ0XYZJ2JH0CQM",
"status": "active",
"first_name": "Amy",
"last_name": "Huang",
"email": "amyhuang@ecic.com.tw",
"phone": "+886910807779",
"locale": "en-US",
"location": "TW",
"location_name": "Taiwan",
"external_ids": {
"PDC_ID": null
},
"last_active_at": null,
"email_verified_at": "2017-06-17T04:45:09.000000Z",
"profile_reviewed_at": null,
"created_at": "2017-06-17T04:45:09.000000Z",
"updated_at": "2017-06-17T04:45:09.000000Z",
"deleted_at": null
},
{
"id": 1,
"reference_id": "02-PYSRAKAS6CQ-B",
"ulid": "01KR4RMPQWBKWZ0XYZJ2JH0CQM",
"status": "active",
"first_name": "Amy",
"last_name": "Huang",
"email": "amyhuang@ecic.com.tw",
"phone": "+886910807779",
"locale": "en-US",
"location": "TW",
"location_name": "Taiwan",
"external_ids": {
"PDC_ID": null
},
"last_active_at": null,
"email_verified_at": "2017-06-17T04:45:09.000000Z",
"profile_reviewed_at": null,
"created_at": "2017-06-17T04:45:09.000000Z",
"updated_at": "2017-06-17T04:45:09.000000Z",
"deleted_at": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "/?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.