Getting Started
To get started using the Actions Library you must request an APIKey. This can be requested from here, please include your contact email address and your organization name.
Authentication
All calls to the Actions API must be authenticated via an APIKey, this is done via the `Authorization` header with the Bearer token. An example of this is:
'Authorization: Bearer xxxxx-token-xxxxx'
Security Guidelines
- Never share or expose your API key
- Use HTTPS for all requests
Pagination
All endpoints within the API respond to pagination params.
| Field | Type | Default | Limits | Description |
|---|---|---|---|---|
| pagination[number] | Integer | 1 | N/A | (optional - default: 1) The pagination number referencing the current page |
| pagination[size] | Integer | 1 | 100 | A limit on the number of objects to be returned |
Errors
The API will return the following errors:
| Error Code | Meaning |
|---|---|
| 400 | The request was malformed. Consult the routes above |
| 401 | The request was unauthenticated. Include your apikey via the header |
| 404 | The route was not found. Consult the routes above |
| 500 | A server error has occured |
Filters
To get all of the avalible filters you need to make a GET call to the following url : https://api-actions.giki.earth/api/v1/filters
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| pagination[number] | Integer | (optional - default: 1) The pagination number referencing the current page |
| pagination[size] | Integer | (optional - default: 25, maximum: 100) A limit on the number of objects to be returned |
RESPONSE ATTRIBUTES
| Name | Type | Description | Example |
|---|---|---|---|
| label | String | The label for the filter | Tpt Disclosure Elements |
| value | String | The value for the filter | tpt_disclosure_elements |
| options | Array | The avalible options for the filter | [{ label: 'Option 1', value: 'option_1' }] |
Example Response
[{
"label": 'Tpt Disclosure Elements',
"value": 'tpt_disclosure_elements',
"options": [{
"label": "1 - Foundation",
"value": "1 - Foundation"
},
{
"label": "2 - Implementation strategy",
"value": "2 - Implementation strategy"
}]
}]
JavaScript Examples
Requesting all Filters:
const axios = require('axios');
const response = await axios.get(
'https://api-actions.giki.earth/api/v1/filters', {
headers: { 'Authorization': 'Bearer xxxxxxxxxxxxxxxxx' },
params: {
'pagination[size]': 10 //Requests 10 filters,
'pagination[number]': 2, //Requests the second page of filters
},
}
);
[{
"label": 'Tpt Disclosure Elements',
"value": 'tpt_disclosure_elements',
"options": [{
"label": "1 - Foundation",
"value": "1 - Foundation"
},
{
"label": "2 - Implementation strategy",
"value": "2 - Implementation strategy"
}]
}]
const axios = require('axios');
const response = await axios.get(
'https://api-actions.giki.earth/api/v1/filters', {
headers: { 'Authorization': 'Bearer xxxxxxxxxxxxxxxxx' },
params: {
'pagination[size]': 10 //Requests 10 filters,
'pagination[number]': 2, //Requests the second page of filters
},
}
);
Actions
To get a list of actions you need to make a GET call to the following url :
https://api-actions.giki.earth/api/v1/actions
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| pagination[number] | Integer | (optional - default: 1) The pagination number referencing the current page |
| pagination[size] | Integer | (optional - default: 25, maximum: 100) A limit on the number of objects to be returned |
| search | String | Allows full-text search on the following attributes (title, benefits, overview, summary, business_rationale) |
| filter[tpt_sub_element] | String |
(optional) a string to filter: |
| filter[tpt_disclosure_elements] | String |
(optional) a string to filter: |
| filter[payback_estimate] | String |
(optional) a string to filter: |
| filter[project_stage] | String |
(optional) a string to filter: |
| filter[ghg_category] | String |
(optional) a string to filter: |
| filter[sub_themes] | String |
(optional) a string to filter: |
| filter[sub_industry] | String |
(optional) a string to filter: |
| filter[themes] | String |
(optional) a string to filter: |
| filter[industry_gics] | String |
(optional) a string to filter: |
| filter[industry_group_gics] | String |
(optional) a string to filter: |
| filter[sector_gics] | String |
(optional) a string to filter: |
| filter[action_tags] | String |
(optional) a string to filter: |
| filter[dependencies] | String |
(optional) a string to filter: |
| filter[decision_maker] | String |
(optional) a string to filter: |
| filter[principal_stakeholder] | String |
(optional) a string to filter: |
| filter[team_function] | String |
(optional) a string to filter: |
| filter[collaboration_level] | String |
(optional) a string to filter: |
| filter[impact_opportunity] | String |
(optional) a string to filter: |
| filter[ghg_scope] | String |
(optional) a string to filter: |
| filter[business_size] | String |
(optional) a string to filter: |
| filter[environmental_impact] | String |
(optional) a string to filter: |
| filter[complexity] | String |
(optional) a string to filter: |
| filter[priority] | String |
(optional) a string to filter: |
| filter[investment_requirement] | String |
(optional) a string to filter: |
| filter[cost_saving_potential] | String |
(optional) a string to filter: |
| filter[business_growth_potential] | String |
(optional) a string to filter: |
| filter[implementation_time_est] | String |
(optional) a string to filter: |
| filter[transition_finance_required] | String |
(optional) a string to filter: |
RESPONSE ATTRIBUTES
| Name | Type | Description | Example |
|---|---|---|---|
| id | UUID | ||
| title | String | ||
| summary | String | ||
| best_practise_organization | String | ||
| overview | String | ||
| benefits | String | ||
| case_studies | String | ||
| business_growth_potential | String | ||
| business_rationale | String | ||
| common_challenges | String | ||
| complexity | String | ||
| cost_saving_description | String | ||
| cost_saving_potential | String | ||
| growth_potential_description | String | ||
| impact_opportunity | String | ||
| impact_opportunity_notes | String | ||
| implementation_time_est | String | ||
| investment_description | String | ||
| investment_requirement | String | ||
| principal_stakeholder | String | ||
| project_outline_action_plan | String | ||
| resources | String | ||
| risk_mitigation | String | ||
| suggested_metrics_and_targets | String | ||
| tpt_disclosure_elements | String | ||
| tpt_sub_element | String | ||
| transition_finance_required | String | ||
| ghg_scope | Array | ||
| ghg_category | Array | ||
| themes | Array | ||
| sub_themes | Array | ||
| environmental_impact | Array | ||
| team_function | Array | ||
| business_size | Array | ||
| collaboration_level | Array | ||
| decision_maker | Array | ||
| industry_gics | Array | ||
| industry_group_gics | Array | ||
| project_stage | Array | ||
| sector_gics | Array | ||
| sub_industry | Array | ||
| dependencies | Array | ||
| action_tags | Array |
Example Response
[{
[
"id": "xxxxxxx-xxxxx-xxxxx-xxxxxxx",
"title": " Action One",
"summary": "Summary of action",
"best_practise_organization": "",
"overview": "Overview of action",
"benefits": "Benefits of action",
"case_studies": "Examples of case studies",
"business_growth_potential": "Example of growth",
"business_rationale": "Example of rationale",
"common_challenges": "Example of challenge",
"complexity": "High",
"cost_saving_description": "Description of cost saving",
"cost_saving_potential": "Cost saving",
"growth_potential_description": "Description of growth",
"impact_opportunity": "Large",
"impact_opportunity_notes": "The impact is large",
"implementation_time_est": "4 weeks",
"investment_description": "Description of investment",
"investment_requirement": "Large",
"principal_stakeholder": "",
"project_outline_action_plan": "",
"resources": "",
"risk_mitigation": "",
suggested_metrics_and_targets": "",
"tpt_disclosure_elements": "",
"tpt_sub_element": "",
"transition_finance_required": "",
"ghg_scope": [""],
"ghg_category": [""],
"themes": [""],
"sub_themes": [""],
"environmental_impact": [""],
"team_function": [""],
"business_size": [""],
"collaboration_level": [""],
"decision_maker": [""],
"industry_gics": [""],
"industry_group_gics": [""],
"project_stage": [""],
"sector_gics": [""],
"sub_industry": [""]
}]
[{
[
"id": "xxxxxxx-xxxxx-xxxxx-xxxxxxx",
"title": " Action One",
"summary": "Summary of action",
"best_practise_organization": "",
"overview": "Overview of action",
"benefits": "Benefits of action",
"case_studies": "Examples of case studies",
"business_growth_potential": "Example of growth",
"business_rationale": "Example of rationale",
"common_challenges": "Example of challenge",
"complexity": "High",
"cost_saving_description": "Description of cost saving",
"cost_saving_potential": "Cost saving",
"growth_potential_description": "Description of growth",
"impact_opportunity": "Large",
"impact_opportunity_notes": "The impact is large",
"implementation_time_est": "4 weeks",
"investment_description": "Description of investment",
"investment_requirement": "Large",
"principal_stakeholder": "",
"project_outline_action_plan": "",
"resources": "",
"risk_mitigation": "",
suggested_metrics_and_targets": "",
"tpt_disclosure_elements": "",
"tpt_sub_element": "",
"transition_finance_required": "",
"ghg_scope": [""],
"ghg_category": [""],
"themes": [""],
"sub_themes": [""],
"environmental_impact": [""],
"team_function": [""],
"business_size": [""],
"collaboration_level": [""],
"decision_maker": [""],
"industry_gics": [""],
"industry_group_gics": [""],
"project_stage": [""],
"sector_gics": [""],
"sub_industry": [""]
}]
JavaScript Examples
Requesting all Actions
const axios = require('axios');
const response = await axios.get(
'https://api-actions.giki.earth/api/v1/actions', {
headers: { 'Authorization': 'Bearer xxxxxxxxxxxxxxxxx' },
params: {
'pagination[size]': 50, //Requests 50 actions at a time,
'pagination[number]': 1, //Requests the first page of filters
},
}
);
Searching Actions with full text
const axios = require('axios');
const response = await axios.get(
'https://api-actions.giki.earth/api/v1/actions', {
headers: { 'Authorization': 'Bearer xxxxxxxxxxxxxxxxx' },
params: {
'pagination[size]': 50, //Requests 50 actions at a time,
'pagination[number]': 1, //Requests the first page of filters
'search': 'Reducing food based emissions'
},
}
);
Filtering Actions on GHG Scope
const axios = require('axios');
const response = await axios.get(
'https://api-actions.giki.earth/api/v1/actions', {
headers: { 'Authorization': 'Bearer xxxxxxxxxxxxxxxxx' },
params: {
'pagination[size]': 50, //Requests 50 actions at a time,
'pagination[number]': 1, //Requests the first page of filters
'filter['ghg_scope']': ['Scope 1']
},
}
);