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

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
              },
            }
          );
        
      

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": [""]
        }]

  

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']
            },
          }
        );