Skip to main content

Applications

API Keys

API keys are like credentials that identify and authorize access to our API, we use a client_credential OAauth2.0 workflow with client_id and client_secret, saved under our terms, to authorize requests on endpoints.

It's important to note that we always add the cbx_b2b_ prefix to the clientId of all credentials created on the platform. You can always consult your credentials in the "API Keys" menu.

Application [POST]

BASE URL
https://api-b2b.carbonext.com.br/v1/customers/applications

This endpoint creates a new application key, which is used to create Machine to Machine (M2M) integrations, we advise using one for each API you need to integrate with ours.

Required permissions
customer_applications_write

Request attributes

ParameterDescription
clientIdThe generated client Id
displayNameThe client's name
permissionsAn array of an object that contains the application's permissions

Response attribute

ParameterDescription
idThe application ID in the database
clientIdUser ID code
clientSecretCode used together with the client_id to grant authorization to the user

Example Request

var axios = require('axios');
var data = JSON.stringify({
"clientId": "myapp_name",
"displayName": "My test app",
"permissions": [
{
"id": "45bbe1bc-4d5a-4991-baac-42fa95d35824"
},
{
"id": "65c514f4-424f-4c82-9827-482d564091c0"
}
]
});

var config = {
method: 'post',
url: 'https://api-b2b-hml.carbonext.com.br/v1/customers/applications?customer-id=d762a683-cb74-43a4-979a-6579dc53cec1',
headers: {
'Authorization': 'Bearer <access_token>',
'Content-Type': 'application/json'
},
data : data
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

Example Response

{
"id": "21be1e66-307e-47a7-914e-c1a8a68f269c",
"clientId": "cbx_b2b_myapp_name",
"clientSecret": "1d49c575-81f8-4d8c-bc18-93711cf7eb24"
}

List Applications [GET]

BASE URL
https://api-b2b-hml.carbonext.com.br/v1/customers/applications?page=2&page-size=10

This endpoint returns a paginated list of API keys.

Required permissions
customer_applications_write
customer_applications_read

Response attributes

AttributesDescription
itemsAn array of paginated applications from the customer

Example Request

var axios = require('axios');
var qs = require('qs');

var config = {
method: 'get',
url: 'https://api-b2b-hml.carbonext.com.br/v1/customers/applications',
headers: {
'Authorization': 'Bearer <access_token>'
}}


axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

Example Response

{
"items": [
{
"id": "21be1e66-307e-47a7-914e-c1a8a68f269c",
"clientId": "cbx_b2b_myapp_name",
"displayName": "My test app44"
},
],
"pageIndex": 1,
"totalPages": 1,
"totalCount": 1,
"aggregations": null,
"hasPreviousPage": false,
"hasNextPage": false
}

Fetch an API [GET]

BASE URL
https://api-b2b.carbonext.com.br/v1/customers/applications/:id

This endpoint returns an API key object with your permissions.

Required permissions
customer_applications_write
customer_applications_read

Response attributes

AttributesDescription
ApplicationAn application object

Example Request

var axios = require('axios');

var config = {
method: 'get',
url: 'https://api-b2b-hml.carbonext.com.br/v1/customers/applications/02c75cc5-b575-4b5f-87d8-bf09e6009c23',
headers: {
'Authorization': 'Bearer <access_token>'
}
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

Example Response

{
"id": "02c75cc5-b575-4b5f-87d8-bf09e6009c23",
"clientId": "cbx_b2b_myapp_name",
"displayName": "My test app",
"permissions": [
{
"id": "781d50ae-ab86-4988-8d39-48dca58da6a6",
"name": "default-roles-co2free",
"description": null,
"composite": true,
"clientRole": false,
"containerId": "CO2FREE",
"attributes": null
}
]
}
PATH VARIABLES
id: 02c75cc5-b575-4b5f-87d8-bf09e6009c23