MasterList V2 API

MasterList V2 API

Health Check

The health-check will show return status 200 with text body:

URL: /master-list/health-check

Method: GET

Example Response:

This is Master List V2 API!

Service Description

The service-description will show following information for an API:

  • Gives the Python Version the API using

  • Gives the list of all installed Python packages

  • Gives the name of API

  • Gives all the available versions

  • Gives a list of middleware being used

  • Gives all available routes for each versions.

URL: /master-list/service-description

Method: GET

Example Response:

{
    "user_id": "1",
    "request_from": "dev testing the GET data",
    "request_id": "master_list-request-id-4a7f8742-a5cb-4f2f-82f9-1c1e45792c36",
    "trace_id": "master_list-trace-id-35e9d517-2efb-4185-a8af-2d836a34f0f9",
    "data": {
    "python_version": "3.9.5",
    "installed_packages": [
      "falcon==3.1.0",
      ...
    ],
    "name": "master_list",
    "versions": [
      "v2"
    ],
    "middleware": [
      "FalconHealthCheckMiddleware",
      "FalconLoggerSetupMiddleware",
      "FalconResponseGeneratorMiddleware"
    ],
    "routes": {
      "v2": {
        "brief-category": [
          "delete",
          "get",
          "get_filter",
          "post",
          "put"
        ],
        ...
      }
    }
    }
}

GIDPrefix Resource

class v2.resources.gid_prefix.GIDPrefixResource

GID Prefix Resource Class

# note:: Allowed Methods: GET / POST / PUT / DELETE

GET Method

GIDPrefixResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

GID Prefix GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/gid-prefix/<:id>

Response Object:

"data": [
            {
              "id": 1,
              "short_name": "rane_subject",
              "name": "Rane Subject",
              "display_name": "Rane Subject",
              "status": "active",
              "slug": "rane-subject"
            }
        ]

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/gid-prefix

Response Object:

"data": [
            {
                "id": 1,
                "short_name": "rane_subject",
                "name": "Rane Subject",
                "display_name": "Rane Subject",
                "status": "active",
                "slug": "rane-subject"
            },
            {
                "id": 2,
                "short_name": "product_and_service",
                "name": "Product & Service",
                "display_name": "Product & Service",
                "status": "active",
                "slug": "product-and-service"
            },
        ]

BriefCategory Resource

class v2.resources.brief_category.BriefCategoryResource

Brief Category Resource Class

# note:: Allowed Methods: GET / POST / PUT / DELETE

on_delete_domain(req: Request, resp: Response)

Brief Category DELETE domain Method

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category-domain

  • Request Object:

    # attributes / values description
    {
        "category": list of category ids that need to be updated
        "excluded_domain": list of domains to add
    }
    
    # Example
    {
      "category": [1, 3, 4],
      "excluded_domain": ["domain_1.com", "abc.net"]
    }
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "NBC",
            "name": "New Brief Category",
            "display_name": "New Brief Category",
            "status": "active",
            "parent_id": null,
            "legacy_id": null,
            "domain": {
                "exclude": [
                  "domain_2.com",
                ]
            },
            "gid": "13-1",
            "slug": "brief-category+new-brief-category",
        }
    ],
    ...
}
on_get_with_deleted(req: Request, resp: Response)

Sends all records including status deleted

on_post_domain(req: Request, resp: Response)

Brief Category POST domain Method

Request

  • Method: POST

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category-domain

  • Request Object:

    # attributes / values description
    {
        "category": list of category ids that need to be updated
        "excluded_domain": list of domains to add
    }
    
    # Example
    {
        "category": [1, 3, 4],
        "excluded_domain": ["domain_3.com", "domain_4.com"]
    }
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "NBC",
            "name": "New Brief Category",
            "display_name": "New Brief Category",
            "status": "active",
            "parent_id": null,
            "legacy_id": null,
            "domain": {
                "exclude": [
                  "domain_1.com",
                  "domain_2.com",
                  "abc.net"
                ]
            },
            "gid": "13-1",
            "slug": "brief-category+updated-new-brief-category",
        }
    ],
    ...
}
on_post_filter_by_gid(request: Request, resp: Response)

Filter brief categories based on received category gid/id

on_put_order(req: Request, resp: Response, primary_key: int)

Save subcategory order for the given category

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category/order/<:category-id>

  • Request Object:

    # attributes / values description
    [
        <subcategory-id>,
        <subcategory-id>,
        <subcategory-id>,
    ]
    
    
    # Example
    [
        1321
        1280
        1282
    ]
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        <subcat-id>,
        <subcat-id>,
        <subcat-id>,
        <subcat-id>
    ]
}
table

alias of BriefCategoryTable

GET Method

BriefCategoryResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Brief Category GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "BC1",
            "name": "Brief Category One",
            "display_name": "Brief Category One",
            "status": "active",
            "parent_id": null,
            "legacy_id": null,
            "domain": {
                "exclude": [
                    "cnn.com"
                ]
            },
            "gid": "13-1",
            "slug": "brief-category+brief-category-one",
            "topics": [
                {
                    "id": 1,
                    "name": "Brief Topic One",
                    "short_name": "BT1",
                    "display_name": "Brief Topic One",
                    "status": "active",
                    "type": "standard",
                    "query_expression": null,
                    "gid": "14-1",
                    "slug": "brief-topic+brief-topic-one",
                }
            ]
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category

  • query_string parameter:
    • with_domain:

      URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category?with_domain by default this is false and won’t return the excluded domain of categories to improve performances

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "BC1",
            "name": "Brief Category One",
            "display_name": "Brief Category One",
            "status": "active",
            "parent_id": null,
            "legacy_id": null,
            "domain": {
                "exclude": [
                    "cnn.com"
                ]
            },
            "gid": "13-1",
            "slug": "brief-category+brief-category-one",
            "topics": [
                {
                    "id": 1,
                    "name": "Brief Topic One",
                    "short_name": "BT1",
                    "display_name": "Brief Topic One",
                    "status": "active",
                    "type": "standard",
                    "query_expression": null,
                    "gid": "14-1",
                    "slug": "brief-topic+brief-topic-one",
                }
            ]
        },
        {
            "id": 2,
            "short_name": "BC2",
            "name": "Brief Category Two",
            "display_name": "Brief Category Two",
            "status": "active",
            "parent_id": null,
            "legacy_id": null,
            "domain": {
                "exclude": [
                    "bbc.com"
                ]
            },
            "gid": "13-2",
            "topics": [],
            "slug": "brief-category+brief-category-two"
        },
        {
            "id": 3,
            "short_name": "BC3",
            "name": "Brief Category Three",
            "display_name": "Brief Category Three",
            "status": "active",
            "parent_id": 1,
            "legacy_id": null,
            "domain": {
                "exclude": [
                    "mheecha.com"
                ]
            },
            "gid": "13-3",
            "topics": [],
            "slug": "brief-category+brief-category-three"
        }
    ]
}

POST Method

BriefCategoryResource.on_post(req: Request, resp: Response)

Brief Category POST Method

Request

  • Method: POST

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category

  • Request Object:

    # attributes / values description
    [
        {
            "name": name of the brief-category, [required]
            "short_name": short name for the brief-category, [required]
            "display_name": display name for the brief-category, [required]
            "parent_id": foreign key int value of parent id, [optional]
            "topics": foreign key int value topic table, [optional]
            "legacy_id": publishing v1 category/subcategory id, [optional]
            "domain": json data for domain, [optional]
        }
    ]
    
    # Example
    [
        {
            "name": "New Brief Category",
            "short_name": "NBC",
            "display_name": "New Brief Category",
            "topics": [1],
            "domain": {
                "exclude": ["bbc.com"]
            }
        }
    ]
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 91,
            "short_name": "NBC",
            "name": "New Brief Category",
            "display_name": "New Brief Category",
            "status": "active",
            "parent_id": null,
            "legacy_id": null,
            "domain": {
                "exclude": [
                    "bbc.com"
                ]
            },
            "gid": "13-91",
            "slug": "brief-category+new-brief-category",
            "topics": [
                {
                    "id": 1,
                    "name": "Brief Topic One",
                    "short_name": "BT1",
                    "display_name": "Brief Topic One",
                    "status": "active",
                    "type": "standard",
                    "query_expression": null,
                    "gid": "14-1",
                    "slug": "brief-topic+brief-topic-one"
                }
            ]
        }
    ]
}

PUT Method

BriefCategoryResource.on_put(req: Request, resp: Response, primary_key: int = None)

Brief Category PUT Method

To update single object:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category/<:id>

  • Request Object:

    # attributes / values description
    {
        "name": name of the brief-category, [optional]
        "short_name": short name for the brief-category, [optional]
        "display_name": display name for the brief-category, [optional]
        "parent_id": foreign key int value of parent id, [optional]
        "legacy_id": publishing v1 category/subcategory id, [optional]
        "topics": foreign key int value topic table, [required]
        "domain": json data for domain, [optional]
    }
    
    
    # Example
    {
        "name": "Updated New Brief Category",
        "topics": [1],
        "legacy_id": 1,
    }
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 91,
            "short_name": "NBC",
            "name": "Updated New Brief Category",
            "display_name": "New Brief Category",
            "status": "active",
            "parent_id": null,
            "legacy_id": 1,
            "domain": {
                "exclude": [
                    "bbc.com"
                ]
            },
            "gid": "13-91",
            "slug": "brief-category+updated-new-brief-category",
            "topics": [
                {
                    "id": 1,
                    "name": "Brief Topic One",
                    "short_name": "BT1",
                    "display_name": "Brief Topic One",
                    "status": "active",
                    "type": "standard",
                    "query_expression": null,
                    "gid": "14-1",
                    "slug": "brief-topic+brief-topic-one",
                }
            ]
        }
    ]
}

To update bulk objects:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category

  • Request Object:

    # attributes / values description
    [
        {
            "id": id of the brief-category, [required]
            "name": name of the brief-category, [optional]
            "short_name": short name for the brief-category, [optional]
            "display_name": display name for the brief-category, [optional]
            "parent_id": foreign key int value of parent id, [optional]
            "legacy_id": publishing v1 category/subcategory id, [optional]
            "topics": foreign key int value topic table, [required]
            "domain": json data for domain, [optional]
        }
    ]
    
    # Example
    [
        {
            "id": 1,
            "name": "Update Brief Category One",
            "legacy_id": 1,
            "topics: []
        },
        {
            "id": 2,
            "name": "Updated Brief Category Two",
            "topics": [1],
            "domain" : {
                "exclude": ["apple.com". "microsoft.com"]
            }
        }
    ]
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "BC1",
            "name": "Updated New Brief Category One",
            "display_name": "Brief Category One",
            "status": "active",
            "parent_id": null,
            "legacy_id": 1,
            "domain": {
                "exclude": [
                    "cnn.com"
                ]
            },
            "gid": "13-1",
            "slug": "brief-category+updated-new-brief-category-one",
            "topics": []
        },
        {
            "id": 2,
            "short_name": "BC2",
            "name": "Updated New Brief Category Two",
            "display_name": "Brief Category Two",
            "status": "active",
            "parent_id": null,
            "legacy_id": null,
            "domain": {
                "exclude": [
                    "apple.com",
                    "microsoft.com"
                ]
            },
            "gid": "13-2",
            "slug": "brief-category+updated-new-brief-category-two",
            "topics": [
                {
                    "id": 1,
                    "name": "Brief Topic One",
                    "short_name": "BT1",
                    "display_name": "Brief Topic One",
                    "status": "active",
                    "type": "standard",
                    "query_expression": null,
                    "gid": "14-1",
                    "slug": "brief-topic+brief-topic-one",
                }
            ]
        }
    ]
}

When <:id> on url is sent along with payload on bulk, the process will be similar to bulk process, the url <:id> will also be added to list of ids received from payload.

DELETE Method

BriefCategoryResource.on_delete(req: Request, resp: Response, primary_key: Optional[int] = None)

Brief Category DELETE Method

To delete single object:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "BC1",
            "name": "Updated New Brief Category One",
            "display_name": "Brief Category One",
            "status": "deleted",
            "parent_id": null,
            "legacy_id": 1,
            "domain": {
                "exclude": [
                    "cnn.com"
                ]
            },
            "gid": "13-1",
            "topics": [],
            "slug": "brief-category+updated-new-brief-category-one",
        }
    ]
}

To delete multiple objects:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category

  • Request Object:

    # attributes / values description
    {
      "ids": [<:ids>] list of comma separated ids
    }
    
    # Example
    {
      "ids": [1,2]
    }
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "BC1",
            "name": "Updated New Brief Category One",
            "display_name": "Brief Category One",
            "status": "deleted",
            "parent_id": null,
            "legacy_id": 1,
            "domain": {
                "exclude": [
                    "cnn.com"
                ]
            },
            "gid": "13-1",
            "slug": "brief-category+updated-new-brief-category-one",
            "topics": []
        },
        {
            "id": 2,
            "short_name": "BC2",
            "name": "Updated New Brief Category Two",
            "display_name": "Brief Category Two",
            "status": "deleted",
            "parent_id": null,
            "legacy_id": null,
            "domain": {
                "exclude": [
                    "apple.com",
                    "microsoft.com"
                ]
            },
            "gid": "13-2",
            "slug": "brief-category+updated-new-brief-category-two",
            "topics": [
                {
                    "id": 1,
                    "name": "Brief Topic One",
                    "short_name": "BT1",
                    "display_name": "Brief Topic One",
                    "status": "active",
                    "type": "standard",
                    "query_expression": null,
                    "gid": "14-1",
                    "slug": "brief-topic+brief-topic-one",
                }
            ]
        }
    ]
}

When <:id> on url is sent along with payload on bulk, the process will be similar to bulk process, the url <:id> will also be added to list of ids received from payload.

FILTER Method

BriefCategoryResource.on_get_filter(req: Request, resp: Response, primary_key: Optional[int] = None)

Brief Category filter Method

To filter single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category/filter/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "BC1",
            "name": "Updated New Brief Category One",
            "display_name": "Brief Category One",
            "status": "deleted",
            "parent_id": null,
            "legacy_id": 1,
            "domain": {
                "exclude": [
                    "cnn.com"
                ]
            },
            "gid": "13-1",
            "slug": "brief-category+updated-new-brief-category-one",
            "topics": [],
            "sub_categories": [
                {
                    "id": 3,
                    "short_name": "BC3",
                    "name": "Brief Category Three",
                    "display_name": "Brief Category Three",
                    "status": "active",
                    "parent_id": 1,
                    "legacy_id": null,
                    "domain": {
                        "exclude": [
                            "mheecha.com"
                        ]
                    },
                    "gid": "13-3",
                    slug="brief-category+brief-category-three",
                    "topics": []
                }
            ]
        }
    ]
}

To filter multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category/filter

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "BC1",
            "name": "Updated New Brief Category One",
            "display_name": "Brief Category One",
            "status": "deleted",
            "parent_id": null,
            "legacy_id": 1,
            "domain": {
                "exclude": [
                    "cnn.com"
                ]
            },
            "gid": "13-1",
            "topics": [],
            "sub_categories": [
                {
                    "id": 3,
                    "short_name": "BC3",
                    "name": "Brief Category Three",
                    "display_name": "Brief Category Three",
                    "status": "active",
                    "parent_id": 1,
                    "legacy_id": null,
                    "domain": {
                        "exclude": [
                            "mheecha.com"
                        ]
                    },
                    "gid": "13-3",
                    "topics": [],
                    "slug": "brief-category+brief-category-three"
                }
            ]
        },
        {
            "id": 2,
            "short_name": "BC2",
            "name": "Updated New Brief Category Two",
            "display_name": "Brief Category Two",
            "status": "deleted",
            "parent_id": null,
            "legacy_id": null,
            "domain": {
                "exclude": [
                    "apple.com",
                    "microsoft.com"
                ]
            },
            "gid": "13-2",
            "topics": [
                {
                    "id": 1,
                    "name": "Brief Topic One",
                    "short_name": "BT1",
                    "display_name": "Brief Topic One",
                    "status": "active",
                    "type": "standard",
                    "query_expression": null,
                    "gid": "14-1"
                }
            ],
            "sub_categories": []
        }
    ]
}

BriefTopic Resource

class v2.resources.brief_topic.BriefTopicResource

Brief Topic Resource Class

# note:: Allowed Methods: GET / POST / PUT / DELETE

on_get_query_expression(req: Request, resp: Response)

Sends all records having query_expression and status active

on_get_with_deleted(req: Request, resp: Response)

Sends all records including status deleted

GET Method

BriefTopicResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Brief Topic GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-topic/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "name": "topic1",
            "short_name": "t1",
            "display_name": "Topic 1",
            "status": "active",
            "type": "standard",
            "query_expression": null,
            "gid": "14-1",
            "legacy_id": null,
            "slug": "brief-topic+topic1",
            "categories": [
                {
                    "id": 54,
                    "short_name": "NBC",
                    "name": "Updated New Brief Category",
                    "display_name": "New Brief Category",
                    "status": "deleted",
                    "parent_id": null,
                    "gid": "13-54",
                    "slug": "brief-category+updated-new-brief-category",
                }
            ]
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-topic

  • query_string parameter :
    • with_domain :

      URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category?with_domain by default this is false and won’t return the excluded domain of categories to improve performances

    • with_query_expression:

      URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category?with_query_expression by default this is false and won’t return the query expression of topics to improve performances

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "name": "Brief Topic One",
            "short_name": "BT1",
            "display_name": "Brief Topic One",
            "status": "active",
            "type": "standard",
            "query_expression": null,
            "legacy_id": null,
            "gid": "14-1",
            "slug": "brief-topic+brief-topic-one",
            "categories": [
                {
                    "id": 1,
                    "short_name": "BC1",
                    "name": "Brief Category One",
                    "display_name": "Brief Category One",
                    "status": "active",
                    "parent_id": null,
                    "legacy_id": 1,
                    "slug": "brief-category+brief-category-one",
                    "domain": {
                        "exclude": [
                            "cnn.com"
                        ]
                    },
                    "gid": "13-1"
                }
            ]
        },
        {
            "id": 2,
            "name": "Brief Topic Two",
            "short_name": "BT2",
            "display_name": "Brief Topic Two",
            "status": "active",
            "type": "standard",
            "query_expression": null,
            "legacy_id": null,
            "gid": "14-2",
            "slug": "brief-topic+brief-topic-two",
            "categories": [
                {
                    "id": 1,
                    "short_name": "BC1",
                    "name": "Brief Category One",
                    "display_name": "Brief Category One",
                    "status": "active",
                    "parent_id": null,
                    "legacy_id": 1,
                    "slug": "brief-category+brief-category-one",
                    "domain": {
                        "exclude": [
                            "cnn.com"
                        ]
                    },
                    "gid": "13-1"
                }
            ]
        }
    ]
}

POST Method

BriefTopicResource.on_post(req: Request, resp: Response)

Brief Topic POST Method

Request

  • Method: POST

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-topic

  • Request Object:

    # attributes / values description
    [
        {
            "name": name of the brief-topic, [required]
            "short_name": short name for the brief-topic, [required]
            "display_name": display name for the brief-topic, [required]
            "type": type of the topic (standard / company) default to standard, [optional]
            "query_expression": query expression for the topic, [optional]
            "categories": list of BriefCategoryTable ids [optional]
            "legacy_id": "legacy_id": publishing v1 topic id, [optional]
        }
    ]
    
    
    # Example
    [
        {
            "name":"New Brief Topic",
            "display_name":"New Brief Topic",
            "short_name":"NBT",
            "query_expression": {"expression": ["apple"]},
            "categories": [1,2]
        }
    ]
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 55,
            "name": "New Brief Topic",
            "short_name": "NBT",
            "display_name": "New Brief Topic",
            "status": "active",
            "type": "standard",
            "query_expression": {
                "expression": [
                    "apple"
                ]
            },
            "legacy_id": null,
            "gid": "14-55",
            "slug": "brief-topic+new-brief-topic",
            "categories": [
                {
                    "id": 1,
                    "short_name": "BC1",
                    "name": "Updated New Brief Category One",
                    "display_name": "Brief Category One",
                    "status": "deleted",
                    "parent_id": null,
                    "legacy_id": 1,
                    "slug": "brief-category+updated-new-brief-category-one",
                    "domain": {
                        "exclude": [
                            "cnn.com"
                        ]
                    },
                    "gid": "13-1"
                },
                {
                    "id": 2,
                    "short_name": "BC2",
                    "name": "Updated New Brief Category Two",
                    "display_name": "Brief Category Two",
                    "status": "deleted",
                    "parent_id": null,
                    "legacy_id": null,
                    "slug": "brief-category+updated-new-brief-category-two",
                    "domain": {
                        "exclude": [
                            "apple.com",
                            "microsoft.com"
                        ]
                    },
                    "gid": "13-2"
                }
            ]
        }
    ]
}

PUT Method

BriefTopicResource.on_put(req: Request, resp: Response, primary_key: int = None)

Brief Topic PUT Method

To update single object:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-topic/<:id>

  • Request Object:

    # attributes / values description
        {
            "name": name of the brief-topic, [optional]
            "short_name": short name for the brief-topic, [optional]
            "display_name": display name for the brief-topic, [optional]
            "type": type of the topic (standard / company) default to standard, [optional]
            "query_expression": query expression for the topic, [optional]
            "categories": categories for the topic, [required]
            "legacy_id": "legacy_id": publishing v1 topic id, [optional]
        }
    
    
    # Example
    {
        "name":"New Topic",
        "categories": [1]
    }
    

Response Object:

{
    "id": 55,
    "name": "New Topic",
    "short_name": "NBT",
    "display_name": "New Brief Topic",
    "status": "active",
    "type": "standard",
    "query_expression": {
        "expression": [
            "apple"
        ]
    },
    "legacy_id": null,
    "gid": "14-55",
    "slug": "brief-topic+new-brief-topic",
    "categories": [
        {
            "id": 1,
            "short_name": "BC1",
            "name": "Updated New Brief Category One",
            "display_name": "Brief Category One",
            "status": "deleted",
            "parent_id": null,
            "legacy_id": 1,
            "slug": "brief-category+updated-new-brief-category-one",
            "domain": {
                "exclude": [
                    "cnn.com"
                ]
            },
            "gid": "13-1"
        }
    ]
}

To update bulk objects:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-topic

  • Request Object:

    # attributes / values description
    [
        {
            "id": id of the topic, [required]
            "name": name of the brief-topic, [required]
            "short_name": short name for the brief-topic, [required]
            "display_name": display name for the brief-topic, [required]
            "type": type of the topic (standard / company) default to standard, [optional]
            "query_expression": query expression for the topic, [optional]
            "categories": categories for the topic, [required]
            "legacy_id": "legacy_id": publishing v1 topic id, [optional]
        }
    ]
    
    # Example
    [
        {
            "id": 1,
            "name":"Update Topic 1",
            "display_name":"New Topic 1",
            "short_name":"NT1",
            "categories":[1]
        },
        {
            "id": 2,
            "name":"Update Topic 2",
            "display_name":"New Topic 2",
            "short_name":"NT2",
            "categories":[1]
        }
    ]
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "name": "Update Topic 1",
            "short_name": "NT1",
            "display_name": "New Topic 1",
            "status": "active",
            "type": "standard",
            "query_expression": null,
            "legacy_id": null,
            "gid": "14-1",
            "slug": "brief-topic+update-topic-1",
            "categories": [
                {
                    "id": 1,
                    "short_name": "BC1",
                    "name": "Updated New Brief Category One",
                    "display_name": "Brief Category One",
                    "status": "deleted",
                    "parent_id": null,
                    "legacy_id": 1,
                    "slug": "brief-category+updated-new-brief-category-one",
                    "domain": {
                        "exclude": [
                            "cnn.com"
                        ]
                    },
                    "gid": "13-1"
                }
            ]
        },
        {
            "id": 2,
            "name": "Update Topic 2",
            "short_name": "NT2",
            "display_name": "New Topic 2",
            "status": "active",
            "type": "standard",
            "query_expression": null,
            "legacy_id": null,
            "gid": "14-2",
            "slug": "brief-topic+update-topic-2",
            "categories": [
                {
                    "id": 1,
                    "short_name": "BC1",
                    "name": "Updated New Brief Category One",
                    "display_name": "Brief Category One",
                    "status": "deleted",
                    "parent_id": null,
                    "legacy_id": 1,
                    "slug": "brief-category+updated-new-brief-category-one",
                    "domain": {
                        "exclude": [
                            "cnn.com"
                        ]
                    },
                    "gid": "13-1"
                }
            ]
        }
    ]
}

When <:id> on url is sent along with payload on bulk, the process will be similar to bulk process, the url <:id> will also be added to list of ids received from payload.

DELETE Method

BriefTopicResource.on_delete(req: Request, resp: Response, primary_key: Optional[int] = None)

Brief Topic DELETE Method

To delete single object:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-topic/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 55,
            "name": "New Topic",
            "short_name": "NBT",
            "display_name": "New Brief Topic",
            "status": "deleted",
            "type": "standard",
            "query_expression": {
                "expression": [
                    "apple"
                ]
            },
            "legacy_id": null,
            "gid": "14-55",
            "slug": "brief-topic+new-topic",
            "categories": [
                {
                    "id": 1,
                    "short_name": "BC1",
                    "name": "Updated New Brief Category One",
                    "display_name": "Brief Category One",
                    "status": "deleted",
                    "parent_id": null,
                    "legacy_id": 1,
                    "domain": {
                        "exclude": [
                            "cnn.com"
                        ]
                    },
                    "gid": "13-1",
                    "slug": "brief-category+updated-new-brief-category-one",
                }
            ]
        }
    ]
}

To delete multiple objects:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/brief-category

  • Request Object:

    # attributes / values description
    {
      "ids": [<:ids>] list of comma separated ids
    }
    
    # Example
    {
      "ids": [1,2]
    }
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "name": "Update Topic 1",
            "short_name": "NT1",
            "display_name": "New Topic 1",
            "status": "deleted",
            "type": "standard",
            "query_expression": null,
            "legacy_id": null,
            "gid": "14-1",
            "slug": "brief-topic+update-topic-1",
            "categories": [
                {
                    "id": 1,
                    "short_name": "BC1",
                    "name": "Updated New Brief Category One",
                    "display_name": "Brief Category One",
                    "status": "deleted",
                    "parent_id": null,
                    "legacy_id": 1,
                    "slug": "brief-category+updated-new-brief-category-one",
                    "domain": {
                        "exclude": [
                            "cnn.com"
                        ]
                    },
                    "gid": "13-1"
                }
            ]
        },
        {
            "id": 2,
            "name": "Update Topic 2",
            "short_name": "NT2",
            "display_name": "New Topic 2",
            "status": "deleted",
            "type": "standard",
            "query_expression": null,
            "legacy_id": null,
            "gid": "14-2",
            "slug": "brief-topic+update-topic-2",
            "categories": [
                {
                    "id": 1,
                    "short_name": "BC1",
                    "name": "Updated New Brief Category One",
                    "display_name": "Brief Category One",
                    "status": "deleted",
                    "parent_id": null,
                    "legacy_id": 1,
                    "slug": "brief-category+updated-new-brief-category-one",
                    "domain": {
                        "exclude": [
                            "cnn.com"
                        ]
                    },
                    "gid": "13-1"
                }
            ]
        }
    ]
}

When <:id> on url is sent along with payload on bulk, the process will be similar to bulk process, the url <:id> will also be added to list of ids received from payload.

Source Resource

class v2.resources.source.SourceResource

Source Resource Class

# note:: Allowed Methods: GET, POST, PUT, DELETE, POST (sync), POST (details-from-url)

This resource handles HTTP requests for source management operations. Sources represent websites, publications, and other content sources that can be referenced in content.

on_post_details_from_url(req: Request, resp: Response)

Source Details from URL Method

Creates source or returns existing one if there’s a match.

We will use registered_domain if we have to create a source automatically.

Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

Returns:

None (sets resp.text directly)

Raises:

MalformedDataError – If article_url is missing or invalid

on_post_sync(req: Request, resp: Response)

Source Sync Method

Syncs sources from external system (e.g., pubv1).

Expected payload:

[
    {
        'uri': registered_domain,
        'name': name,
        'display_name': display_name,
        'legacy_id': 1,
    }
]
Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

Returns:

None (sets resp.text directly)

Raises:

MalformedDataError – If sync payload is invalid or sync fails

GET Method

SourceResource.on_get(req: Request, resp: Response, identifier: Optional[str] = None)

Source GET Method

Retrieves a single source or list of sources. Supports lookup by ID (integer) or slug (string).

Query Parameters:
source_type: Optional string to filter by source_type (e.g., ‘gcri’).

Only applies to list queries (when identifier is None). Default behavior: only returns sources where source_type IS NULL.

include_gcri_categories: Optional boolean parameter. If true, includes

related GCRI categories in the response for each source.

search_string: Optional string to search for in display_name and

short_name (case-insensitive substring match). Only applies to list queries (when identifier is None).

gcri_categories: Optional comma-separated list of GCRI category slugs or IDs

to filter sources by. Returns sources that have any of the specified categories. Only applies to list queries (when identifier is None). Example: ‘economic,politics’ or ‘1,2’ or ‘gcri-category+economic,gcri-category+politics’

status: Optional status to filter by (‘active’, ‘inactive’, ‘deleted’).

If not provided, excludes deleted records (status != ‘deleted’). Only applies to list queries (when identifier is None).

sort_by: Optional comma-separated list of fields to sort by

(e.g., ‘name,created_on’). Only applies to list queries.

sort_order: Optional sort order - ‘asc’ or ‘desc’ (default: ‘asc’).

Only applies to list queries.

page: Optional page number for pagination (1-indexed).

Only applies to list queries.

page_size: Optional number of items per page (default: 20).

Only applies to list queries.

Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

  • identifier – Optional string identifier (ID or slug) for single source lookup

Returns:

None (sets resp.text directly)

Raises:

IDNotFoundError – When identifier is provided but source not found

POST Method

SourceResource.on_post(req: Request, resp: Response)

Source POST Method

Creates a new source or multiple sources.

Request Body can include:
  • Standard source fields (uri, name, display_name, etc.)

  • gcri_categories: Optional list of GCRI category slugs or IDs to assign to the source

    Example: [“economic”, “politics”] or [1, 2] or [“gcri-category+economic”]

Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

Returns:

None (sets resp.text directly)

Raises:

MalformedDataError – If payload validation fails or GCRI categories cannot be resolved

PUT Method

SourceResource.on_put(req: Request, resp: Response, identifier: Optional[str] = None)

Source PUT Method

Updates an existing source or multiple sources. Supports lookup by ID (integer) or slug (string).

Request Body can include:
  • Standard source fields to update

  • gcri_categories: Optional list of GCRI category slugs or IDs to assign to the source.

    Replaces all existing category mappings. Example: [“economic”, “politics”] or [1, 2] or [“gcri-category+economic”] Use empty list [] to remove all category mappings.

Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

  • identifier – Optional string identifier (ID or slug) for single source update

Returns:

None (sets resp.text directly)

Raises:

IDNotFoundError – When identifier is provided but source not found

DELETE Method

SourceResource.on_delete(req: Request, resp: Response, identifier: Optional[str] = None)

Source DELETE Method

Deletes a source or multiple sources. Supports lookup by ID (integer) or slug (string).

Request Body (optional):

{
    "delete_permanently": false,  # If true, permanently deletes
    "ids": [1, 2, 3],  # For bulk deletion by ID (when identifier is None)
    "slugs": ["example-com", "another-source"]  # For bulk deletion by slug (when identifier is None)
}
Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

  • identifier – Optional string identifier (ID or slug) for single source deletion

Returns:

None (sets resp.text directly)

GCRICategory Resource

class v2.resources.gcri_category.GCRICategoryResource

GCRI Category Resource Class

# note:: Allowed Methods: GET, POST, PUT, DELETE

This resource handles HTTP requests for GCRI category management operations. GCRI categories represent risk categories that map to RANE subjects and sources for content classification.

GET Method

GCRICategoryResource.on_get(req: Request, resp: Response, slug: Optional[str] = None)

GCRI Category GET Method

Retrieves a single GCRI category or list of GCRI categories. Supports lookup by slug only. Excludes deleted records.

Query Parameters:
include_sources: Optional boolean parameter. If true, includes

related sources in the response for each category.

search_string: Optional string to search for in display_name

(case-insensitive substring match). Only applies to list queries (when slug is None).

status: Optional status to filter by (‘active’, ‘inactive’, ‘deleted’).

If not provided, excludes deleted records (status != ‘deleted’). Only applies to list queries (when slug is None).

sort_by: Optional comma-separated list of fields to sort by

(e.g., ‘name,created_on’). Only applies to list queries.

sort_order: Optional sort order - ‘asc’ or ‘desc’ (default: ‘asc’).

Only applies to list queries.

page: Optional page number for pagination (1-indexed).

Only applies to list queries.

page_size: Optional number of items per page (default: 20).

Only applies to list queries.

Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

  • slug – Optional slug for single category lookup

Returns:

None (sets resp.text directly)

Raises:

IDNotFoundError – When slug is provided but category not found

POST Method

GCRICategoryResource.on_post(req: Request, resp: Response)

GCRI Category POST Method

Creates a new GCRI category or multiple GCRI categories. Automatically generates slugs from name if not provided.

Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

Returns:

None (sets resp.text directly)

PUT Method

GCRICategoryResource.on_put(req: Request, resp: Response, slug: Optional[str] = None)

GCRI Category PUT Method

Updates an existing GCRI category or multiple GCRI categories.

Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

  • slug – Optional slug for single category update

Returns:

None (sets resp.text directly)

Raises:

IDNotFoundError – When slug is provided but category not found

DELETE Method

GCRICategoryResource.on_delete(req: Request, resp: Response, slug: Optional[str] = None)

GCRI Category DELETE Method

Deletes a GCRI category or multiple GCRI categories. Supports both soft delete (default) and permanent delete.

Request Body (optional):

{
    "delete_permanently": false,  # If true, permanently deletes
    "slugs": ["economic", "politics"]  # For bulk deletion (when slug is None)
}
Parameters:
  • req – Falcon Request object

  • resp – Falcon Response object

  • slug – Optional slug for single category deletion

Returns:

None (sets resp.text directly)

Region Resource

class v2.resources.region.RegionResource

Region Resource Class

# note:: Allowed Methods: GET

GET Method

RegionResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Region GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/region/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "short_name": "",
            "name": "East Asia & the Pacific",
            "display_name": "East Asia & the Pacific",
            "status": "active",
            "slug": "region+east-asia-the-pacific",
            "gid": "5-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/region

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
        {
            "id": 1,
            "short_name": "",
            "name": "East Asia & the Pacific",
            "display_name": "East Asia & the Pacific",
            "status": "active",
            "slug": "region+east-asia-the-pacific",
            "gid": "5-1"
        },
        {
            "id": 2,
            "short_name": "",
            "name": "Europe & Eurasia",
            "display_name": "Europe & Eurasia",
            "status": "active",
            "slug": "region+europe-eurasia",
            "gid": "5-2"
        },
        {
            "id": 3,
            "short_name": "",
            "name": "Near East & North Africa",
            "display_name": "Near East & North Africa",
            "status": "active",
            "slug": "region+near-east-north-africa",
            "gid": "5-3"
        }
    ]
}

Key Term Resource

class v2.resources.key_term.KeyTermResource

Key Term Resource Class

# note:: Allowed Methods: GET

GET Method

KeyTermResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Key Term GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/key-term/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "name": "Accounting",
            "slug": "key-term+accounting",
            "description": null,
            "short_name": "",
            "display_name": "Accounting",
            "status": "active",
            "gid": "3-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/key-term

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
        {
            "id": 1,
            "name": "Accounting",
            "slug": "key-term+accounting",
            "description": null,
            "short_name": "",
            "display_name": "Accounting",
            "status": "active",
            "gid": "3-1"
        },
        {
            "id": 2,
            "name": "Alcohol",
            "slug": "key-term+alcohol",
            "description": null,
            "short_name": "",
            "display_name": "Alcohol",
            "status": "active",
            "gid": "3-2"
        },
        {
            "id": 3,
            "name": "Anti-Boycott",
            "slug": "key-term+anti-boycott",
            "description": null,
            "short_name": "",
            "display_name": "Anti-Boycott",
            "status": "active",
            "gid": "3-3"
        }
    ]
}

Country Resource

class v2.resources.country.CountryResource

Country Resource Class

# note:: Allowed Methods: GET

GET Method

CountryResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Country GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/country/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-05c3101d-8702-4941-ae7d-9e4b46cff10e",
    "trace_id": "master_list-trace-id-fb45443e-6b42-4386-8fb4-04d691ffb130",
    "data": [
        {
            "region_id": null,
            "aliases": [],
            "id": 3,
            "short_name": "",
            "name": "Palestinian Territories",
            "display_name": "Palestinian Territories",
            "status": "active",
            "slug": "country+palestinian-territories",
            "capital": "Jerusalem",
            "alpha_2": "PS",
            "alpha_3": "PSE",
            "gid": "4-3"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/country

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-564d94f3-90ff-41a9-b8a8-ec4591777b86",
    "trace_id": "master_list-trace-id-c331828c-1ad4-4dfd-99d0-7c90de757ec9",
    "data": [
        {
            "region_id": null,
            "aliases": [],
            "id": 3,
            "short_name": "",
            "name": "Palestinian Territories",
            "display_name": "Palestinian Territories",
            "status": "active",
            "slug": "country+palestinian-territories",
            "capital": "Jerusalem",
            "alpha_2": "PS",
            "alpha_3": "PSE",
            "gid": "4-3"
        },
        {
            "region_id": 1,
            "aliases": [],
            "id": 4,
            "short_name": "",
            "name": "Nauru",
            "display_name": "Nauru",
            "status": "active",
            "slug": "country+nauru",
            "capital": "Yaren",
            "alpha_2": "NR",
            "alpha_3": "NRU",
            "gid": "4-4"
        },
        {
            "region_id": 3,
            "aliases": [],
            "id": 7,
            "short_name": "",
            "name": "Western Sahara",
            "display_name": "Western Sahara",
            "status": "active",
            "slug": "country+western-sahara",
            "capital": "El-Aaiun",
            "alpha_2": "EH",
            "alpha_3": "ESH",
            "gid": "4-7"
        }
    ]
}

Language Resource

class v2.resources.language.LanguageResource

Language Resource Class

# note:: Allowed Methods: GET

GET Method

LanguageResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Language GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/language/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "name": "Armenian",
             "slug": "language+armenian",
            "short_name": "",
            "display_name": "Armenian",
            "status": "active",
            "alpha_2": "hy",
            "alpha_3": "arm",
            "rtl": 0,
            "gid": "6-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/language

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
                {
                    "id": 1,
                    "name": "Armenian",
                     "slug": "language+armenian",
                    "short_name": "",
                    "display_name": "Armenian",
                    "status": "active",
                    "alpha_2": "hy",
                    "alpha_3": "arm",
                    "rtl": 0,
                    "gid": "6-1"
                },
                {
                    "id": 2,
                    "name": "Spanish",
                     "slug": "language+spanish",
                    "short_name": "",
                    "display_name": "Spanish",
                    "status": "active",
                    "alpha_2": "es",
                    "alpha_3": "spa",
                    "rtl": 0,
                    "gid": "6-2"
                },
                {
                    "id": 3,
                    "name": "English",
                     "slug": "language+english",
                    "short_name": "",
                    "display_name": "English",
                    "status": "active",
                    "alpha_2": "en",
                    "alpha_3": "eng",
                    "rtl": 0,
                    "gid": "6-3"
                }
    ]
}

Product And Service Resource

class v2.resources.product_and_service.ProductAndServiceResource

Product and Service Resource Class

# note:: Allowed Methods: GET

GET Method

ProductAndServiceResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Product and Service GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/product-and-service/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "name": "Academic / Public Sector / Practitioner Advisory",
            "slug": "product-and-service+academic-public-sector-practitioner-advisory",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Academic / Public Sector / Practitioner Advisory",
            "status": "active",
            "gid": "2-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/product-and-service

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
        {
            "id": 1,
            "name": "Academic / Public Sector / Practitioner Advisory",
            "slug": "product-and-service+academic-public-sector-practitioner-advisory",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Academic / Public Sector / Practitioner Advisory",
            "status": "active",
            "gid": "2-1"
        },
        {
            "id": 2,
            "name": "Consulting",
            "slug": "product-and-service+consulting",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Consulting",
            "status": "active",
            "gid": "2-2"
        },
        {
            "id": 3,
            "name": "Managed Services",
            "slug": "product-and-service+managed-services",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Managed Services",
            "status": "active",
            "gid": "2-3"
        }
    ]
}

FILTER Method

ProductAndServiceResource.on_get_filter(req: Request, resp: Response, primary_key: Optional[int] = None)

Product and Service filter GET Method

To filter single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/product-and-service/filter/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-166b7c04-3240-4795-90eb-0400e173c592",
    "trace_id": "master_list-trace-id-8d936e13-5780-433c-aa1f-3bed17533e68",
    "data": [
        {
            "id": 1,
            "name": "Academic / Public Sector / Practitioner Advisory",
            "slug": "product-and-service+academic-public-sector-practitioner-advisory",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Academic / Public Sector / Practitioner Advisory",
            "status": "active",
            "gid": "2-1",
            "children": [
                {
                    "id": 5,
                    "name": "Event Participation",
                    "slug": "product-and-service+event-participation",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Event Participation",
                    "status": "active",
                    "gid": "2-5",
                    "children": []
                },
                {
                    "id": 6,
                    "name": "Insights and Information",
                    "slug": "product-and-service+insights-and-information",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Insights and Information",
                    "status": "active",
                    "gid": "2-6",
                    "children": [
                        {
                            "id": 28,
                            "name": "Benchmarking",
                            "slug": "product-and-service+benchmarking",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Benchmarking",
                            "status": "active",
                            "gid": "2-28",
                            "children": []
                        },
                        {
                            "id": 29,
                            "name": "Best Practices",
                            "slug": "product-and-service+best-practices",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Best Practices",
                            "status": "active",
                            "gid": "2-29",
                            "children": []
                        },
                        {
                            "id": 30,
                            "name": "Buy-Side Insights",
                            "slug": "product-and-service+buy-side-insights",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Buy-Side Insights",
                            "status": "active",
                            "gid": "2-30",
                            "children": []
                        },
                        {
                            "id": 31,
                            "name": "Market Trends",
                            "slug": "product-and-service+market-trends",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Market Trends",
                            "status": "active",
                            "gid": "2-31",
                            "children": []
                        }
                    ]
                }
            ]
        }
    ]
}

To filter all objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/product-and-service/filter

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-166b7c04-3240-4795-90eb-0400e173c592",
    "trace_id": "master_list-trace-id-8d936e13-5780-433c-aa1f-3bed17533e68",
    "data": [
        {
            "id": 1,
            "name": "Academic / Public Sector / Practitioner Advisory",
            "slug": "product-and-service+academic-public-sector-practitioner-advisory",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Academic / Public Sector / Practitioner Advisory",
            "status": "active",
            "gid": "2-1",
            "children": [
                {
                    "id": 5,
                    "name": "Event Participation",
                    "slug": "product-and-service+event-participation",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Event Participation",
                    "status": "active",
                    "gid": "2-5",
                    "children": []
                },
                {
                    "id": 6,
                    "name": "Insights and Information",
                    "slug": "product-and-service+insights-and-information",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Insights and Information",
                    "status": "active",
                    "gid": "2-6",
                    "children": [
                        {
                            "id": 28,
                            "name": "Benchmarking",
                            "slug": "product-and-service+benchmarking",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Benchmarking",
                            "status": "active",
                            "gid": "2-28",
                            "children": []
                        },
                        {
                            "id": 29,
                            "name": "Best Practices",
                            "slug": "product-and-service+best-practices",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Best Practices",
                            "status": "active",
                            "gid": "2-29",
                            "children": []
                        },
                        {
                            "id": 30,
                            "name": "Buy-Side Insights",
                            "slug": "product-and-service+buy-side-insights",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Buy-Side Insights",
                            "status": "active",
                            "gid": "2-30",
                            "children": []
                        },
                        {
                            "id": 31,
                            "name": "Market Trends",
                            "slug": "product-and-service+market-trends",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Market Trends",
                            "status": "active",
                            "gid": "2-31",
                            "children": []
                        }
                    ]
                }
            ]
        }
    ]
}

Industry Resource

class v2.resources.industry.IndustryResource

Industry Resource Class

# note:: Allowed Methods: GET

GET Method

IndustryResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Industry GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/industry/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "gid": "7-1",
            "name": "Energy",
            "short_name": "ENE",
            "display_name": "Energy",
            "slug": "industry+energy",
            "status": "active",
            "parent_id": null,
            "alternate_id": {
                "gics": "10"
            }
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/industry

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
        {
            "id": 2,
            "gid": "7-2",
            "name": "Energy",
            "short_name": "ENE",
            "display_name": "Energy",
            "slug": "industry+energy+energy",
            "status": "active",
            "parent_id": 1,
            "alternate_id": {
                "gics": "1010"
            }
        }
    ]
}

To get all industry, and it’s parent including inactive ones:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/industry?with-inactive-parent

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
        {
            "id": 1,
            "gid": "7-1",
            "name": "Energy",
            "short_name": "ENE",
            "display_name": "Energy",
            "slug": "industry+energy",
            "status": "inactive",
            "parent_id": null,
            "alternate_id": {
                "gics": "10"
            }
        },
        {
            "id": 2,
            "gid": "7-2",
            "name": "Energy",
            "short_name": "ENE",
            "display_name": "Energy",
            "slug": "industry+energy+energy",
            "status": "active",
            "parent_id": 1,
            "alternate_id": {
                "gics": "1010"
            }
        }
    ]
}

Worldview Theme Resource

class v2.resources.worldview_theme.WorldViewThemeResource

WorldView Resource Class

# note:: Allowed Methods: GET

GET Method

WorldViewThemeResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Worldview Theme GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/worldview-theme/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "name": "Economics",
            "slug": "worldview-theme+economics",
            "short_name": "",
            "display_name": "Economics",
            "description": null,
            "status": "active",
            "taxonomy_id": 1663,
            "vocabulary_id": 33,
            "gid": "9-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/worldview-theme

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
                {
                    "id": 1,
                    "name": "Economics",
                    "slug": "worldview-theme+economics",
                    "short_name": "",
                    "display_name": "Economics",
                    "description": null,
                    "status": "active",
                    "taxonomy_id": 1663,
                    "vocabulary_id": 33,
                    "gid": "9-1"
                },
                {
                    "id": 2,
                    "name": "Energy",
                    "slug": "worldview-theme+energy",
                    "short_name": "",
                    "display_name": "Energy",
                    "description": null,
                    "status": "active",
                    "taxonomy_id": 1664,
                    "vocabulary_id": 33,
                    "gid": "9-2"
                },
                {
                    "id": 3,
                    "name": "Military & Security",
                    "slug": "worldview-theme+military-and-security",
                    "short_name": "",
                    "display_name": "Military & Security",
                    "description": null,
                    "status": "active",
                    "taxonomy_id": 1665,
                    "vocabulary_id": 33,
                    "gid": "9-3"
                }
    ]
}

Worldview Topic Resource

class v2.resources.worldview_topic.WorldViewTopicResource

WorldView Topic Resource Class

# note:: Allowed Methods: GET

GET Method

WorldViewTopicResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Worldview Topic GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/worldview-topic/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "name": "COVID-19",
            "slug": "worldview-topic+covid-19",
            "short_name": "",
            "display_name": "COVID-19",
            "description": null,
            "status": "active",
            "taxonomy_id": 1668,
            "vocabulary_id": 34,
            "gid": "6-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/worldview-topic

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
                {
                    "id": 1,
                    "name": "COVID-19",
                    "slug": "worldview-topic+covid-19",
                    "short_name": "",
                    "display_name": "COVID-19",
                    "description": null,
                    "status": "active",
                    "taxonomy_id": 1668,
                    "vocabulary_id": 34,
                    "gid": "6-1"
                },
                {
                    "id": 2,
                    "name": "U.S.-China Relations",
                    "slug": "worldview-topic+us-china-relations",
                    "short_name": "",
                    "display_name": "U.S.-China Relations",
                    "description": null,
                    "status": "active",
                    "taxonomy_id": 1669,
                    "vocabulary_id": 34,
                    "gid": "6-2"
                },
                {
                    "id": 3,
                    "name": "U.S.-Iran Relations",
                    "slug": "worldview-topic+us-iran-relations",
                    "short_name": "",
                    "display_name": "U.S.-Iran Relations",
                    "description": null,
                    "status": "active",
                    "taxonomy_id": 1670,
                    "vocabulary_id": 34,
                    "gid": "6-3"
                }
    ]
}

Taxonomy Threat Lens Resource

class v2.resources.taxonomy_threat_lens.TaxonomyThreatLensResource

Taxonomy Threat Lens Resource Class

# note:: Allowed Methods: GET

GET Method

TaxonomyThreatLensResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Taxonomy Threat lens GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/taxonomy-threat-lens/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "name": "Criminal Activity",
            "slug": "threat-lens-taxonomy+criminal-activity",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Criminal Activity",
            "status": "active",
            "gid": "11-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/taxonomy-threat-lens

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
                {
                    "id": 1,
                    "name": "Criminal Activity",
                    "slug": "threat-lens-taxonomy+criminal-activity",
                    "parent_id": null,
                    "description": null,
                    "short_name": "",
                    "display_name": "Criminal Activity",
                    "status": "active",
                    "gid": "11-1"
                },
                {
                    "id": 2,
                    "name": "Cyber & Information Threats",
                    "slug": "threat-lens-taxonomy+cyber-and-information-threats",
                    "parent_id": null,
                    "description": null,
                    "short_name": "",
                    "display_name": "Cyber & Information Threats",
                    "status": "active",
                    "gid": "11-2"
                },
                {
                    "id": 3,
                    "name": "Environmental, Health & Infrastructure Hazards",
                    "slug": "threat-lens-taxonomy+environmental-health-and-infrastructure-hazards",
                    "parent_id": null,
                    "description": null,
                    "short_name": "",
                    "display_name": "Environmental, Health & Infrastructure Hazards",
                    "status": "active",
                    "gid": "11-3"
                }
    ]
}

FILTER Method

TaxonomyThreatLensResource.on_get_filter(req: Request, resp: Response, primary_key: Optional[int] = None)

Taxonomy Threat lens filter GET Method

To filter single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/taxonomy-threat-lens/filter/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-166b7c04-3240-4795-90eb-0400e173c592",
    "trace_id": "master_list-trace-id-8d936e13-5780-433c-aa1f-3bed17533e68",
    "data": [
        {
            "id": 3,
            "name": "Environmental, Health & Infrastructure Hazards",
            "slug": "threat-lens-taxonomy+environmental-health-and-infrastructure-hazards",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Environmental, Health & Infrastructure Hazards",
            "status": "active",
            "gid": "11-3",
            "children": [
                {
                    "id": 22,
                    "name": "Extreme Weather & Natural Disasters",
                    "slug": "threat-lens-taxonomy+extreme-weather-and-natural-disasters",
                    "parent_id": 3,
                    "description": null,
                    "short_name": "",
                    "display_name": "Extreme Weather & Natural Disasters",
                    "status": "active",
                    "gid": "11-22",
                    "children": []
                },
                {
                    "id": 23,
                    "name": "Environmental ",
                    "slug": "threat-lens-taxonomy+environmental",
                    "parent_id": 3,
                    "description": null,
                    "short_name": "",
                    "display_name": "Environmental ",
                    "status": "active",
                    "gid": "11-23",
                    "children": []
                },
                {
                    "id": 24,
                    "name": "Health ",
                    "slug": "threat-lens-taxonomy+health",
                    "parent_id": 3,
                    "description": null,
                    "short_name": "",
                    "display_name": "Health ",
                    "status": "active",
                    "gid": "11-24",
                    "children": []
                },
                {
                    "id": 26,
                    "name": "Infrastructure & Logistics Threats",
                    "slug": "threat-lens-taxonomy+infrastructure-and-logistics-threats",
                    "parent_id": 3,
                    "description": null,
                    "short_name": "",
                    "display_name": "Infrastructure & Logistics Threats",
                    "status": "active",
                    "gid": "11-26",
                    "children": []
                }
            ]
        }
    ]
}

To filter all objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/taxonomy-threat-lens/filter

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-166b7c04-3240-4795-90eb-0400e173c592",
    "trace_id": "master_list-trace-id-8d936e13-5780-433c-aa1f-3bed17533e68",
    "data": [
        {
            "id": 2,
            "name": "Cyber & Information Threats",
            "slug": "threat-lens-taxonomy+cyber-and-information-threats",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Cyber & Information Threats",
            "status": "active",
            "gid": "11-2",
            "children": [
                {
                    "id": 18,
                    "name": "Cyber Espionage",
                    "slug": "threat-lens-taxonomy+cyber-espionage",
                    "parent_id": 2,
                    "description": null,
                    "short_name": "",
                    "display_name": "Cyber Espionage",
                    "status": "active",
                    "gid": "11-18",
                    "children": []
                },
                {
                    "id": 19,
                    "name": "Cyber Attack",
                    "slug": "threat-lens-taxonomy+cyber-attack",
                    "parent_id": 2,
                    "description": null,
                    "short_name": "",
                    "display_name": "Cyber Attack",
                    "status": "active",
                    "gid": "11-19",
                    "children": []
                },
                {
                    "id": 20,
                    "name": "Emerging Technology",
                    "slug": "threat-lens-taxonomy+emerging-technology",
                    "parent_id": 2,
                    "description": null,
                    "short_name": "",
                    "display_name": "Emerging Technology",
                    "status": "active",
                    "gid": "11-20",
                    "children": []
                },
                {
                    "id": 21,
                    "name": "Hacktivism",
                    "slug": "threat-lens-taxonomy+hacktivism",
                    "parent_id": 2,
                    "description": null,
                    "short_name": "",
                    "display_name": "Hacktivism",
                    "status": "active",
                    "gid": "11-21",
                    "children": []
                }
            ]
        },
        {
            "id": 3,
            "name": "Environmental, Health & Infrastructure Hazards",
            "slug": "threat-lens-taxonomy+environmental-health-and-infrastructure-hazards",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Environmental, Health & Infrastructure Hazards",
            "status": "active",
            "gid": "11-3",
            "children": [
                {
                    "id": 22,
                    "name": "Extreme Weather & Natural Disasters",
                    "slug": "threat-lens-taxonomy+extreme-weather-and-natural-disasters",
                    "parent_id": 3,
                    "description": null,
                    "short_name": "",
                    "display_name": "Extreme Weather & Natural Disasters",
                    "status": "active",
                    "gid": "11-22",
                    "children": []
                },
                {
                    "id": 23,
                    "name": "Environmental ",
                    "slug": "threat-lens-taxonomy+environmental",
                    "parent_id": 3,
                    "description": null,
                    "short_name": "",
                    "display_name": "Environmental ",
                    "status": "active",
                    "gid": "11-23",
                    "children": []
                },
                {
                    "id": 24,
                    "name": "Health ",
                    "slug": "threat-lens-taxonomy+health",
                    "parent_id": 3,
                    "description": null,
                    "short_name": "",
                    "display_name": "Health ",
                    "status": "active",
                    "gid": "11-24",
                    "children": []
                },
                {
                    "id": 26,
                    "name": "Infrastructure & Logistics Threats",
                    "slug": "threat-lens-taxonomy+infrastructure-and-logistics-threats",
                    "parent_id": 3,
                    "description": null,
                    "short_name": "",
                    "display_name": "Infrastructure & Logistics Threats",
                    "status": "active",
                    "gid": "11-26",
                    "children": []
                }
            ]
        }
    ]
}

Intel Fusion Taxonomy ThreatLens Mapping Resource

class v2.resources.intel_fusion_taxonomy_threat_lens_mapping.IntelFusionTaxonomyThreatLensMappingResource

Intel Fusion Taxonomy Threat lens Mapping Resource Class

# note:: Allowed Methods: GET

GET Method

IntelFusionTaxonomyThreatLensMappingResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Intel Fusion Taxonomy Threat Lens Resource GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/intel-fusion-taxonomy-threat-lens-mapping/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "intel_fusion_label": "Attack Helicopter",
            "taxonomy_threat_lens_id": 41,
            "status": "active"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/intel-fusion-taxonomy-threat-lens-mapping

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
                {
                    "id": 1,
                    "intel_fusion_label": "Attack Helicopter",
                    "taxonomy_threat_lens_id": 41,
                    "status": "active"
                },
                {
                    "id": 2,
                    "intel_fusion_label": "Attack Helicopter",
                    "taxonomy_threat_lens_id": 39,
                    "status": "active"
                },
                {
                    "id": 3,
                    "intel_fusion_label": "Bomber",
                    "taxonomy_threat_lens_id": 42,
                    "status": "active"
                }
    ]
}

Threat Lens Old New Mapping Resource

class v2.resources.threat_lens_old_new_mapping.ThreatLensOldNewMappingResource

Threat lens old new mapping Resource Class

# note:: Allowed Methods: GET

GET Method

ThreatLensOldNewMappingResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Threat Lens Old New Mapping Resource GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/threat-lens-old-new-mapping/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "old_threat_lens_label": "Armed Assault",
            "new_threat_lens_id": 15,
            "status": "active"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/threat-lens-old-new-mapping

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
                {
                    "id": 1,
                    "old_threat_lens_label": "Armed Assault",
                    "new_threat_lens_id": 15,
                    "status": "active"
                },
                {
                    "id": 2,
                    "old_threat_lens_label": "Arson",
                    "new_threat_lens_id": 7,
                    "status": "active"
                },
                {
                    "id": 3,
                    "old_threat_lens_label": "Assassination or Attempted Assassination",
                    "new_threat_lens_id": 11,
                    "status": "active"
                }
    ]
}

Intel Fusion Impact Rating Resource

class v2.resources.intel_fusion_impact_rating.IntelFusionImpactRatingResource

Intel Fusion Impact Rating Resource Class

# note:: Allowed Methods: GET

GET Method

IntelFusionImpactRatingResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

Intel Fusion Impact Rating GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/intel-fusion-impact-rating/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-107101e2-d012-4945-8567-b368b4c379c0",
    "trace_id": "master_list-trace-id-c84e56bc-76b8-4ae8-8103-6fc485384583",
    "data": [
        {
            "id": 1,
            "name": "Unknown",
            "slug": "intel-fusion-impact-rating+unknown",
            "external_id": -1,
            "description": "Impact has not been assessed or is unknown.",
            "short_name": "",
            "display_name": "Unknown",
            "status": "active",
            "gid": "12-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/intel-fusion-impact-rating

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-ded1180a-7e3c-449b-ad51-072cedb5eb1f",
    "trace_id": "master_list-trace-id-c1a5146c-d3cf-46b0-87bc-e4f8903dfa0b",
    "data": [
                {
                    "id": 1,
                    "name": "Unknown",
                    "slug": "intel-fusion-impact-rating+unknown",
                    "external_id": -1,
                    "description": "Impact has not been assessed or is unknown.",
                    "short_name": "",
                    "display_name": "Unknown",
                    "status": "active",
                    "gid": "12-1"
                },
                {
                    "id": 2,
                    "name": "Insignificant",
                    "slug": "intel-fusion-impact-rating+insignificant",
                    "external_id": 1,
                    "description": "No injuries or health effects. Financial loss less than $1,000 USD.
                                    No lost time workdays. No impact on reputation.
                                    Fully reversible impacts.",
                    "short_name": "",
                    "display_name": "Insignificant",
                    "status": "active",
                    "gid": "12-2"
                },
                {
                    "id": 3,
                    "name": "Limited",
                    "slug": "intel-fusion-impact-rating+limited",
                    "external_id": 2,
                    "description": "Minimal injuries or health effects.
                                    Financial loss more than $1,000 USD but less than $5,000 USD.
                                    Limited business interruption, less than 1 lost time workday.
                                    Limited negative reputational exposure. Mostly reversible impacts.",
                    "short_name": "",
                    "display_name": "Limited",
                    "status": "active",
                    "gid": "12-3"
                }
    ]
}

Generic Mapping Resource

class v2.resources.generic_mapping.GenericMappingResource

Generic mapping Resource Class

# note:: Allowed Methods: GET, POST, PUT, DELETE

GET Method

GenericMappingResource.on_get(req: Request, resp: Response, gid: Optional[str] = None)

Generic Mapping GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/generic-mapping/<:gid>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "gid": "1-1-1",
            "mapping": [
                "2-1-1",
                "2-1-2"
            ]
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/generic-mapping

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "gid": "1-1-1",
            "mapping": [
                "2-1-1",
                "2-1-2"
            ]
        },
        {
            "gid": "1-1-2",
            "mapping": [
                "3-1-1",
                "3-1-2"
            ]
        }
    ]
}

POST Method

GenericMappingResource.on_post(req: Request, resp: Response)

Generic Mapping POST Method

Request

  • Method: POST

  • URL: https://stag.api.ranenetwork.com/master-list/v2/generic-mapping

  • Request Object:

    # attributes / values description
    [
        {
            "gid": Unique GID, [required]
            "mapping": List of GIDs, [required]
        }
    ]
    
    # Example
    [
        {
            "gid": "1-1-5",
            "mapping": ["1-1-11"]
        },
        {
            "gid": "1-1-4",
            "mapping" :[]
        }
    ]
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "gid": "1-1-5",
            "mapping": [
                "1-1-11"
            ]
        },
        {
            "gid": "1-1-4",
            "mapping": []
        }
    ]
}

PUT Method

GenericMappingResource.on_put(req: Request, resp: Response, gid: str = None)

Generic Mapping PUT Method

To update single object:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/generic-mapping/<:gid>

  • Request Object:

    # attributes / values description
    {
        "mapping": List of GIDs, [required]
    }
    
    
    # Example
    {
        "mapping": ["5-5-5", "6-6-6"]
    }
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "gid": "1-1-1",
            "mapping": [
                "5-5-5",
                "6-6-6"
            ]
        }
    ]
}

To update bulk objects:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/generic-mapping

  • Request Object:

    # attributes / values description
    [
        {
            "gid": Unique GID, [required]
            "mapping": List of GIDs, [required]
        }
    ]
    
    # Example
    [
            {
                "gid": "1-1-2",
                "mapping": []
            },
            {
                "gid": "1-1-5",
                "mapping": []
            }
    ]
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "gid": "1-1-2",
            "mapping": []
        },
        {
            "gid": "1-1-5",
            "mapping": []
        }
    ]
}

When <:gid> on url is sent along with payload on bulk, the process will be similar to bulk process, the url <:gid> will also be added to list of ids received from payload.

DELETE Method

GenericMappingResource.on_delete(req: Request, resp: Response, gid: Optional[str] = None)

Generic Mapping DELETE Method

To delete single object:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/generic-mapping/<:gid>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "gid": "1-1-1",
            "mapping": [
                "5-5-5",
                "6-6-6"
            ]
        }
    ]
}

To delete multiple objects:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/generic-mapping

  • Request Object:

    # attributes / values description
    {
      "gid": [<:gids>] list of comma separated gids
    }
    
    # Example
    {
        "gids": ["1-1-2", "1-1-5"]
    }
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "gid": "1-1-2",
            "mapping": []
        },
        {
            "gid": "1-1-5",
            "mapping": []
        }
    ]
}

When <:id> on url is sent along with payload on bulk, the process will be similar to bulk process, the url <:id> will also be added to list of ids received from payload.

International Organization Resource

class v2.resources.international_organization.InternationalOrganizationResource

International Organization Resource Class

# note:: Allowed Methods: GET

GET Method

InternationalOrganizationResource.on_get(req: Request, resp: Response, primary_key: Optional[int] = None)

International Organization GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/international-organization/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "UN",
            "name": "UN",
            "display_name": "United Nation",
            "status": "active",
            "slug": "international-organization+un",
            "gid": "5-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/international-organization

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "UN",
            "name": "UN",
            "display_name": "United Nation",
            "status": "active",
            "slug": "international-organization+un",
            "gid": "5-1"
        },
        {
            "id": 2,
            "short_name": "NATO",
            "name": "NATO",
            "display_name": "NATO",
            "status": "active",
            "slug": "international-organization+nato",
            "gid": "5-2"
        }
    ]
}

FILTER Method

InternationalOrganizationResource.on_get_filter(req: Request, resp: Response, primary_key: Optional[int] = None)

International Organization filter Method

To filter single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/international-organization/filter/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "UN",
            "name": "UN",
            "display_name": "United Nation",
            "status": "active",
            "slug": "international-organization+un",
            "gid": "5-1",
            "countries": [
                {
                    "region_id": null,
                    "aliases": [],
                    "id": 1,
                    "short_name": "",
                    "name": "South Georgia and South Sandwich Islands",
                    "display_name": "South Georgia and South Sandwich Islands",
                    "status": "inactive",
                    "slug": "international-organization+south-georgia-and-south-sandwich-islands",
                    "capital": "King Edward Point",
                    "alpha_2": "GS",
                    "alpha_3": "SGS",
                    "gid": "4-1"
                },
                {
                    "region_id": null,
                    "aliases": [],
                    "id": 2,
                    "short_name": "",
                    "name": "French Southern and Antarctic Lands",
                    "display_name": "French Southern and Antarctic Lands",
                    "status": "inactive",
                    "slug": "international-organization+french-southern-and-antarctic-lands",
                    "capital": "Saint-Pierre on Reunion Island",
                    "alpha_2": "TF",
                    "alpha_3": "ATF",
                    "gid": "4-2"
                }
            ]
        }
    ]
}

To filter multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/international-organization/filter

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-59088054-0b51-40ff-ad2b-dec973db777e",
    "trace_id": "master_list-trace-id-185ae128-d55f-4571-bc3f-b3916fa6d039",
    "data": [
        {
            "id": 1,
            "short_name": "UN",
            "name": "UN",
            "display_name": "United Nation",
            "status": "active",
            "slug": "international-organization+un",
            "gid": "5-1",
            "countries": [
                {
                    "region_id": null,
                    "aliases": [],
                    "id": 1,
                    "short_name": "",
                    "name": "South Georgia and South Sandwich Islands",
                    "display_name": "South Georgia and South Sandwich Islands",
                    "status": "inactive",
                    "slug": "international-organization+south-georgia-and-south-sandwich-islands",
                    "capital": "King Edward Point",
                    "alpha_2": "GS",
                    "alpha_3": "SGS",
                    "gid": "4-1"
                },
                {
                    "region_id": null,
                    "aliases": [],
                    "id": 2,
                    "short_name": "",
                    "name": "French Southern and Antarctic Lands",
                    "display_name": "French Southern and Antarctic Lands",
                    "status": "inactive",
                    "slug": "international-organization+french-southern-and-antarctic-lands",
                    "capital": "Saint-Pierre on Reunion Island",
                    "alpha_2": "TF",
                    "alpha_3": "ATF",
                    "gid": "4-2"
                }
            ]
        },
        {
            "id": 2,
            "short_name": "NATO",
            "name": "NATO",
            "display_name": "NATO",
            "status": "active",
            "slug": "international-organization+nato",
            "gid": "5-2",
            "countries": [
                {
                    "region_id": null,
                    "aliases": [],
                    "id": 1,
                    "short_name": "",
                    "name": "South Georgia and South Sandwich Islands",
                    "display_name": "South Georgia and South Sandwich Islands",
                    "status": "inactive",
                    "slug": "international-organization+south-georgia-and-south-sandwich-islands",
                    "capital": "King Edward Point",
                    "alpha_2": "GS",
                    "alpha_3": "SGS",
                    "gid": "4-1"
                },
                {
                    "region_id": 3,
                    "aliases": [],
                    "id": 3,
                    "short_name": "",
                    "name": "Palestinian Territories",
                    "display_name": "Palestinian Territories",
                    "status": "active",
                    "slug": "international-organization+palestinian-territories",
                    "capital": "Jerusalem",
                    "alpha_2": "PS",
                    "alpha_3": "PSE",
                    "gid": "4-3"
                }
            ]
        }
    ]
}

Content Type Group Resource

Class : v2.resources.content_type_group.ContentTypeGroupResource

Note

Allowed Methods:

  • GET

  • POST

  • PUT

  • DELETE

The Content Type Group API provides functionality to manage content type groups, which are logical groupings of related content types. A content type group, such as “Analysis,” serves as a container or collection that brings together multiple content types, including “Explainer,” “Advisory,” and “Insights.”

By organizing content types into groups, the system gains the ability to easily access all the content related to a specific group.

Let’s focus on the example of articles within the “Analysis” group. Each article has a field called “type_slug” that specifies its content type. For instance, an article within the “Analysis” group could have its “type_slug” set as “Advisory,” indicating that it belongs to the advisory category of analysis-related content.

By logically grouping content types within a content type group, the system can effectively organize and manage related content together. This facilitates easier retrieval of content based on the specific group it belongs to. For example, by querying the “Analysis” group, the system can retrieve all articles classified as analysis-related content, including those with the “Advisory” type_slug.

In summary, the Content Type Group API enables the logical grouping of content types into collections or units, such as the “Analysis” group. This grouping simplifies the management and retrieval of related content, allowing the system to efficiently access and present content based on specific content type groups, such as retrieving analysis-related articles based on their type_slug, like “Advisory.”

GET Method

Content Type Group GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/content-type-group/<:id>

  • URL: https://stag.api.ranenetwork.com/master-list/v2/content-type-group/<:slug>

Response Object:

"data": [
            {
                "id": 7,
                "short_name": "analysis",
                "name": "analysis",
                "display_name": "Analysis",
                "status": "active",
                "slug": "analysis",
                "content_type_slug": [
                    "explainer",
                    "advisory",
                    "insights"
                ]
            }
        ]

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/content-type-group

Response Object:

"data": [
            {
                "id": 7,
                "short_name": "analysis",
                "name": "analysis",
                "display_name": "Analysis",
                "status": "active",
                "slug": "analysis",
                "content_type_slug": [
                    "explainer",
                    "advisory",
                    "insights"
                ]
            },
            {
                "id": 8,
                "short_name": "forecasts",
                "name": "forecasts",
                "display_name": "Forecasts",
                "status": "active",
                "slug": "forecasts",
                "content_type_slug": [
                    "grm_forecast",
                    "forecast_monthly"
                ]
            }
        ]

POST Method

Content Type Group POST Method

Request

  • Method: POST

  • URL: https://stag.api.ranenetwork.com/master-list/v2/content-type-group

  • Request Object:

    # attributes / values description
    [
        {
            "name": name of the content-type-group, [required]
            "short_name": short name for the content-type-group, [required]
            "display_name": display name for the content-type-group, [required]
            "content_type_slug": content type slug for the content-type-group, [required]
        }
    ]
    
    
    
    # Example
    [
        {
            "name": "forecasts",
            "short_name": "forecasts",
            "display_name": "Forecasts",
            "content_type_slug": ["grm_forecast", "forecast_monthly"]
        }
    ]
    

Response Object:

"data": [
            {
                "id": 8,
                "short_name": "forecasts",
                "name": "forecasts",
                "display_name": "Forecasts",
                "status": "active",
                "slug": "forecasts",
                "content_type_slug": [
                    "grm_forecast",
                    "forecast_monthly"
                ]
            }
        ]

PUT Method

Content Type Group PUT Method

To update single object:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/content-type-group/<:id>

  • Request Object:

    # attributes / values description
    {
        "name": name of the content-type-group, [optional]
        "short_name": short name for the content-type-group, [optional]
        "display_name": display name for the content-type-group, [optional]
        "content_type_slug": content type slug for the content-type-group, [optional]
    }
    
    
    # Example
    {
        "name": "Updated Name"
    }
    

Response Object:

"data": [
            {
                "id": 8,
                "short_name": "forecasts",
                "name": "Updated Name",
                "display_name": "Forecasts",
                "status": "active",
                "slug": "forecasts",
                "content_type_slug": [
                    "grm_forecast",
                    "forecast_monthly"
                ]
            }
        ]

To update bulk objects:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/content-type-group

  • Request Object:

    # attributes / values description
    [
        {
            "id": id of the content-type-group, [required]
            "name": name of the content-type-group, [optional]
            "short_name": short name for the content-type-group, [optional]
            "display_name": display name for the content-type-group, [optional]
            "content_type_slug": content type slug for the content-type-group, [optional]
        }
    ]
    
    # Example
    [
        {
            "id": 7,
            "name": "Updated Name 1"
        },
        {
            "id": 8,
            "name": "Updated Name 2"
        }
    ]
    

Response Object:

"data": [
            {
                "id": 7,
                "short_name": "analysis",
                "name": "Updated Name 1",
                "display_name": "Analysis",
                "status": "active",
                "slug": "analysis",
                "content_type_slug": [
                    "explainer",
                    "advisory",
                    "insights"
                ]
            },
            {
                "id": 8,
                "short_name": "forecasts",
                "name": "Updated Name 2",
                "display_name": "Forecasts",
                "status": "active",
                "slug": "forecasts",
                "content_type_slug": [
                    "grm_forecast",
                    "forecast_monthly"
                ]
            }
        ]

DELETE Method

Content Type Group DELETE Method

To delete single object:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/content-type-group/<:id>

Response Object:

"data": [
            {
                "id": 7,
                "short_name": "analysis",
                "name": "Updated Name 1",
                "display_name": "Analysis",
                "status": "active",
                "slug": "analysis",
                "content_type_slug": [
                    "explainer",
                    "advisory",
                    "insights"
                ]
            }
        ]

To delete multiple objects:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/gid-prefix

  • Request Object:

    # attributes / values description
    {
      "ids": [<:ids>] list of comma separated ids
      "delete_permanently": bool (true or false)
    }
    
    # Example
    {
      "ids": [7,8],
      "delete_permanently": true
    }
    

Response Object:

"data": [
            {
                "id": 7,
                "short_name": "analysis",
                "name": "Updated Name 1",
                "display_name": "Analysis",
                "status": "active",
                "slug": "analysis",
                "content_type_slug": [
                    "explainer",
                    "advisory",
                    "insights"
                ]
            },
            {
                "id": 8,
                "short_name": "forecasts",
                "name": "Updated Name 2",
                "display_name": "Forecasts",
                "status": "active",
                "slug": "forecasts",
                "content_type_slug": [
                    "grm_forecast",
                    "forecast_monthly"
                ]
            }
        ]

FILTER Method

Content Type Group FILTER Method

Request

  • Method: POST

  • URL: https://stag.api.ranenetwork.com/master-list/v2/content-type-group/filter

  • Request Object:

    {
        "slug": array of slug [optional],
        "content_type_slug": array of content types [optional]
    }
    
    
    
    # Example
    {
        "slug": ["forecasts", "analysis"]
    }
    

Response Object:

"data": [
            {
                "id": 7,
                "short_name": "analysis",
                "name": "analysis",
                "display_name": "Analysis",
                "status": "active",
                "slug": "analysis",
                "content_type_slug": [
                    "explainer",
                    "advisory",
                    "insights"
                ]
            },
            {
                "id": 8,
                "short_name": "forecasts",
                "name": "forecasts",
                "display_name": "Forecasts",
                "status": "active",
                "slug": "forecasts",
                "content_type_slug": [
                    "grm_forecast",
                    "forecast_monthly"
                ]
            }
        ]

RANESubject Resource

Class : v2.resources.rane_subject.RANESubjectResource

Note

Allowed Methods:

  • GET

  • POST

  • PUT

  • DELETE

RANE Subject API serves categories relevant to Global Composite Risk Index.

Note

The RANE Subject API implementation is similar to GCRI Category implementation which is now depreciated.

GET Method

RANE-Subject GET Method

To get single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/rane-subject/<:id>

Optional Query Parameter:

  • alpha_sorting=True/1: If passed, sorts the data of the RANE subjects in alphabetical order based on their name.

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-b828be87-4bbe-4179-a7f1-068c03bf9adc",
    "trace_id": "master_list-trace-id-115096ea-6ea3-4c58-97a9-e7898ee35c95",
    "data": [
        {
            "id": 1,
            "name": "Cyber + Information",
            "slug": "rane-subject+cyber-information",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Cyber + Information",
            "status": "active",
            "gid": "1-1"
        }
    ]
}

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/rane-subject

Optional Query Parameter:

  • alpha_sorting=True/1: If passed, sorts the data of the RANE subjects in alphabetical order based on their name.

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-11d10a87-8949-4550-8e35-99d0d615c8c4",
    "trace_id": "master_list-trace-id-5095091a-ac9a-4a0d-ac9b-1164b27a8f67",
    "data": [
        {
            "id": 1,
            "name": "Cyber + Information",
            "slug": "rane-subject+cyber-information",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Cyber + Information",
            "status": "active",
            "gid": "1-1"
        },
        {
            "id": 2,
            "name": "Geopolitical",
            "slug": "rane-subject+geopolitical",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Geopolitical",
            "status": "active",
            "gid": "1-2"
        },
        {
            "id": 3,
            "name": "Legal, Regulatory + Compliance",
            "slug": "rane-subject+legal-regulatory-compliance",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Legal, Regulatory + Compliance",
            "status": "active",
            "gid": "1-3"
        }
    ]
}

POST Method

RANE-Subject POST Method

Request

  • Method: POST

  • URL: https://stag.api.ranenetwork.com/master-list/v2/rane-subject

  • Request Object:

    # attributes / values description
    [
        {
            "name": name of the rane-subject, [required]
            "slug": slug for the rane-subject, [required]
            "description": description for the rane-subject, [required]
            "short_name": description for the rane-subject, [required]
            "display_name": description for the rane-subject, [required]
            "parent": foreign key int value of parent, [optional]
        }
    ]
    
    
    # Example
    [
        {
            "name": "New RANE subject",
            "slug": "rane-subject+new-rane-subject",
            "description": "new RANE subject",
            "short_name": "new RANE subject",
            "display_name": "New RANE subject",
        }
    ]
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-c7d2bc18-391a-44ce-8139-7643dfcb2b7e",
    "trace_id": "master_list-trace-id-2e2ae681-63a2-47be-bb15-3a76c28c80c1",
    "data": [
        {
            "id": 28,
            "name": "New RANE subject",
            "slug": "rane-subject+new-rane-subject",
            "parent_id": null,
            "description": "new RANE subject",
            "short_name": "new RANE subject",
            "display_name": "New RANE subject",
            "status": "active",
            "gid": "1-28"
        }
    ]
}

PUT Method

RANE-Subject PUT Method

To update single object:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/rane-subject/<:id>

  • Request Object:

    # attributes / values description
    {
        "name": name of the rane-subject, [required]
        "slug": slug for the rane-subject, [required]
        "description": description for the rane-subject, [optional]
        "parent": foreign key int value of parent, [optional]
    }
    
    
    # Example
    {
        "name": "Updated New RANE subject "
    }
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-47170d15-ebff-4ae5-b09a-d68769e01ad8",
    "trace_id": "master_list-trace-id-efb4ce02-2ebb-4e91-a5a8-b76fb228365a",
    "data": [
        {
            "id": 28,
            "name": "Updated New RANE subject ",
            "slug": "rane-subject+new-rane-subject",
            "parent_id": null,
            "description": "new RANE subject",
            "short_name": "new RANE subject",
            "display_name": "New RANE subject",
            "status": "active",
            "gid": "1-28"
        }
    ]
}

To update bulk objects:

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/rane-subject

  • Request Object:

    # attributes / values description
    [
        {
            "name": name of the rane-subject, [required]
            "slug": slug for the rane-subject, [required]
            "description": description for the rane-subject, [optional]
            "parent": foreign key int value of parent, [optional]
        }
    ]
    
    # Example
    [
        {
            "id": 1,
            "name": "Update Cyber + Information"
        },
        {
            "id": 2,
            "name": "Update Geopolitical"
        }
    ]
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-3f6b3acb-e4d7-4153-86c7-012b1ebf7dd7",
    "trace_id": "master_list-trace-id-e7a7dcd1-6028-41e8-9c2c-efab832f84b3",
    "data": [
        {
            "id": 1,
            "name": "Update Cyber + Information",
            "slug": "rane-subject+cyber-information",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Cyber + Information",
            "status": "active",
            "gid": "1-1"
        },
        {
            "id": 2,
            "name": "Update Geopolitical",
            "slug": "rane-subject+geopolitical",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Geopolitical",
            "status": "active",
            "gid": "1-2"
        }
    ]
}

Note

When <:id> on url is sent along with payload on bulk, the process will be similar to bulk process, the url <:id> will also be added to list of ids received from payload.

DELETE Method

RANE-Subject DELETE Method

To delete single object:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/rane-subject/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-43883b4b-0ff3-4819-be79-7c753f5e3d39",
    "trace_id": "master_list-trace-id-33010e00-3ee0-45c4-9b81-5deac7cb3406",
    "data": [
        {
            "id": 1,
            "name": "Update Cyber + Information",
            "slug": "rane-subject+cyber-information",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Cyber + Information",
            "status": "active",
            "gid": "1-1"
        }
    ]
}

To delete multiple objects:

Request

  • Method: DELETE

  • URL: https://stag.api.ranenetwork.com/master-list/v2/rane-subject

  • Request Object:

    # attributes / values description
    {
      "ids": [<:ids>] list of comma separated ids
      "delete_permanently": bool (true or false)
    }
    
    # Example
    {
      "ids": [1,2],
      "delete_permanently": true
    }
    

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-dca379d4-72ad-48e5-8887-2fd7ecff8c68",
    "trace_id": "master_list-trace-id-00031dca-f76a-4678-be3b-c08546567a82",
    "data": [
        {
            "id": 1,
            "name": "Update Cyber + Information",
            "slug": "rane-subject+cyber-information",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Cyber + Information",
            "status": "active",
            "gid": "1-1"
        },
        {
            "id": 2,
            "name": "Update Geopolitical",
            "slug": "rane-subject+geopolitical",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Geopolitical",
            "status": "active",
            "gid": "1-2"
        }
    ]
}

Note

When <:id> on url is sent along with payload on bulk, the process will be similar to bulk process, the url <:id> will also be added to list of ids received from payload.

FILTER Method

RANE-Subject filter GET Method

To filter single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/rane-subject/filter/<:id>

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-dca379d4-72ad-48e5-8887-2fd7ecff8c68",
    "trace_id": "master_list-trace-id-00031dca-f76a-4678-be3b-c08546567a82",
    "data": [
        {
            "id": 1,
            "name": "Cyber + Information",
            "slug": "rane-subject+cyber-information",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Cyber + Information",
            "status": "active",
            "gid": "1-1",
            "children": [
                {
                    "id": 5,
                    "name": "Breaches",
                    "slug": "rane-subject+cyber-information+breaches",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Breaches",
                    "status": "active",
                    "gid": "1-5",
                    "children": []
                },
                {
                    "id": 6,
                    "name": "Cyber Compliance",
                    "slug": "rane-subject+cyber-information+cyber-compliance",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Cyber Compliance",
                    "status": "active",
                    "gid": "1-6",
                    "children": [
                        {
                            "id": 40,
                            "name": "Mandatory Compliance",
                            "slug": "rane-subject+cyber-information+cyber-compliance+mandatory-compliance",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Mandatory Compliance",
                            "status": "active",
                            "gid": "1-40",
                            "children": []
                        },
                        {
                            "id": 41,
                            "name": "Policies and Practices",
                            "slug": "rane-subject+cyber-information+cyber-compliance+policies-and-practices",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Policies and Practices",
                            "status": "active",
                            "gid": "1-41",
                            "children": []
                        }
                    ]
                },
                {
                    "id": 7,
                    "name": "Cyber Crime",
                    "slug": "rane-subject+cyber-information+cyber-crime",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Cyber Crime",
                    "status": "active",
                    "gid": "1-7",
                    "children": [
                        {
                            "id": 250,
                            "name": "State-Sponsor ",
                            "slug": "rane-subject+cyber-information+cyber-crime+state-sponsor",
                            "parent_id": 7,
                            "description": null,
                            "short_name": "",
                            "display_name": "State-Sponsor ",
                            "status": "active",
                            "gid": "1-250",
                            "children": []
                        }
                    ]
                }
            ]
        }
    ]
}

To filter all objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/rane-subject/filter

Response Object:

{
    "user_id": "1",
    "request_from": "user",
    "request_id": "master_list-request-id-5b8d1e00-448f-4af8-b2ce-b221a446755d",
    "trace_id": "master_list-trace-id-0c7db11f-0ac9-43b4-b743-998eec77ea9b",
    "data": [
        {
            "id": 1,
            "name": "Cyber + Information",
            "slug": "rane-subject+cyber-information",
            "parent_id": null,
            "description": null,
            "short_name": "",
            "display_name": "Cyber + Information",
            "status": "active",
            "gid": "1-1",
            "children": [
                {
                    "id": 5,
                    "name": "Breaches",
                    "slug": "rane-subject+cyber-information+breaches",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Breaches",
                    "status": "active",
                    "gid": "1-5",
                    "children": []
                },
                {
                    "id": 6,
                    "name": "Cyber Compliance",
                    "slug": "rane-subject+cyber-information+cyber-compliance",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Cyber Compliance",
                    "status": "active",
                    "gid": "1-6",
                    "children": [
                        {
                            "id": 40,
                            "name": "Mandatory Compliance",
                            "slug": "rane-subject+cyber-information+cyber-compliance+mandatory-compliance",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Mandatory Compliance",
                            "status": "active",
                            "gid": "1-40",
                            "children": []
                        },
                        {
                            "id": 41,
                            "name": "Policies and Practices",
                            "slug": "rane-subject+cyber-information+cyber-compliance+policies-and-practices",
                            "parent_id": 6,
                            "description": null,
                            "short_name": "",
                            "display_name": "Policies and Practices",
                            "status": "active",
                            "gid": "1-41",
                            "children": []
                        }
                    ]
                },
                {
                    "id": 7,
                    "name": "Cyber Crime",
                    "slug": "rane-subject+cyber-information+cyber-crime",
                    "parent_id": 1,
                    "description": null,
                    "short_name": "",
                    "display_name": "Cyber Crime",
                    "status": "active",
                    "gid": "1-7",
                    "children": [
                        {
                            "id": 250,
                            "name": "State-Sponsor ",
                            "slug": "rane-subject+cyber-information+cyber-crime+state-sponsor",
                            "parent_id": 7,
                            "description": null,
                            "short_name": "",
                            "display_name": "State-Sponsor ",
                            "status": "active",
                            "gid": "1-250",
                            "children": []
                        }
                    ]
                }
            ]
        }
    ]
}

SourceGroup Resource

Class : v2.resources.source_group.SourceGroupResource

Note

Allowed Methods:

  • GET

  • POST

  • PUT

  • DELETE

Source Group API serves Source Group, can be used to group sources and then filter them in publishing engine

Note

Source Group API should support the sync of the Source Group fields and it’s relationship with the sources.

GET Method

SourceGroup GET Method

To get a single object:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group/<:id>

Optional Query Parameters:

  • with-source: Includes the full source objects in the source field.

  • with-source-slug: Includes the source slugs (list of strings) in the source field.

  • with-inactive: Includes both active and inactive source groups and sources.

Note: If both with-source and with-source-slug are provided, with-source-slug takes precedence**.

Response Object:

{
  "user_id": "0",
  "request_from": "0",
  "request_id": "master_list-request-id-f7bbb4c2-b566-408c-a310-5c564bf369fe",
  "trace_id": "master_list-trace-id-ec37bff9-ad77-4bd8-bf52-c2a35df82afd",
  "data": [
    {
      "id": 307,
      "gid": "20-307",
      "name": "test-BBC - English",
      "display_name": "test-BBC",
      "slug": "source-group+test-bbc-english",
      "status": "active",
      "source": [
        "source+www-bbc-com-news-articles-c2e4m6m1r4eo"
      ]
    }
  ]
}

Note: The above response is when with-source-slug is provided (and takes precedence over with-source). If only with-source is provided (and with-source-slug is not), the source field will contain full source objects:

"source": [
    {
      "id": 13,
      "gid": "19-13",
      "uri": "www.bbc.com/news/articles/c2e4m6m1r4eo",
      "name": "BBC - English",
      "slug": "source+www-bbc-com-news-articles-c2e4m6m1r4eo",
      "status": "active",
      "auto_created": false,
      "display_name": "BBC"
    }
]

To get multiple objects:

Request

  • Method: GET

  • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group

Optional Query Parameters:

  • with-source: Includes the full source objects in the source field.

  • with-source-slug: Includes the source slugs (list of strings) in the source field.

  • with-inactive: Includes both active and inactive source groups and sources.

Note: If both with-source and with-source-slug are provided, with-source-slug takes precedence**.

Response Object:

{
  "user_id": "0",
  "request_from": "0",
  "request_id": "master_list-request-id-<uuid>",
  "trace_id": "master_list-trace-id-<uuid>",
  "data": [
    {
      "id": 1,
      "gid": "20-1",
      "name": "Test Source Group One",
      "display_name": "Test Source Group One",
      "slug": "source-group+test-source-group-one",
      "status": "active",
      "source": []
    },
    {
      "id": 4,
      "gid": "20-4",
      "name": "Test Source Group Four",
      "display_name": "Test Source Group Four",
      "slug": "source-group+test-source-group-four",
      "status": "active",
      "source": []
    }
  ]
}

Note: The above response includes only active source groups by default. To include inactive source groups, use the with-inactive query parameter.

Error Responses:

If the requested source group ID does not exist or is deleted:

Response Object:

{
  "request_from": "0",
  "request_id": "master_list-request-id-db49281e-66f9-4ae4-b041-cdf43898ca9c",
  "usage_context": {},
  "trace_id": "master_list-trace-id-df5dead7-5bc6-41ed-addf-2223ba27cd8e",
  "title": "ID not found",
  "description": "<IDNotFoundError: 400 Bad Request>",
  "errors": [
    {
      "code": null,
      "description": "Traceback (most recent call last):\n  File \"falcon/app.py\", line 365, in falcon.app.App.__call__\n    rane_exception.falcon.IDNotFoundError: <IDNotFoundError: 400 Bad Request>\n"
    }
  ]
}

Usage Examples:

  1. Get a specific source group with source slugs included:

    Request

    • Method: GET

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group/307?with-source&with-source-slug&with-inactive

    Response Object:

    {
      "user_id": "0",
      "request_from": "0",
      "request_id": "master_list-request-id-f7bbb4c2-b566-408c-a310-5c564bf369fe",
      "trace_id": "master_list-trace-id-ec37bff9-ad77-4bd8-bf52-c2a35df82afd",
      "data": [
        {
          "id": 307,
          "gid": "20-307",
          "name": "test-BBC - English",
          "display_name": "test-BBC",
          "slug": "source-group+test-bbc-english",
          "status": "active",
          "source": [
            "source+www-bbc-com-news-articles-c2e4m6m1r4eo"
          ]
        }
      ]
    }
    

    Note: Since both with-source and with-source-slug are provided, and with-source-slug takes precedence, the source field contains source slugs.

Summary of Query Parameters:

  • with-source: Includes full source objects in the source field.

  • with-source-slug: Includes source slugs (strings) in the source field.

  • with-inactive: Includes inactive source groups and sources.

Response Fields:

  • id: Integer, unique identifier of the source group.

  • gid: String, global identifier combining type and ID.

  • name: String, name of the source group.

  • display_name: String, display name of the source group.

  • slug: String, URL-friendly identifier.

  • status: String, status of the source group (e.g., “active”, “inactive”, “deleted”).

  • source: List, depending on query parameters, contains source slugs or full source objects.

Example Source Object (when with-source):

{
  "id": 13,
  "gid": "19-13",
  "uri": "www.bbc.com/news/articles/c2e4m6m1r4eo",
  "name": "BBC - English",
  "display_name": "BBC",
  "slug": "source+www-bbc-com-news-articles-c2e4m6m1r4eo",
  "status": "active",
  "auto_created": false
}

Important Notes:

  • The default behavior is to return only active source groups and sources.

  • Deleted source groups and sources are not returned.

  • If both with-source and with-source-slug are provided, with-source-slug takes precedence**.

POST Method

SourceGroup POST Method

Purpose: Create a new Source Group or update an existing one.

Request

  • Method: POST

  • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group

  • Add necessary headers

Required Fields in Request Body:

  • name: String, required. Name of the source group. Used to create the display_name and slug.

Optional Fields in Request Body:

  • display_name: String. If not provided, it will be set to the same value as name.

  • status: String. Possible values are active, inactive, deleted. Default is active.

  • source: List of source slugs. If provided, will create associations between the sources and the source group.

Behavior Notes:

  • If a Source Group with the same name already exists, this endpoint will update its status, display_name, and source relationships.

  • Only the display_name, status, and source relationships can be changed through this endpoint.

  • The slug is auto-generated from the name field and cannot be changed once created.

Sample Request

Request Body:

{
  "name": "test-BBC - United States",
  "display_name": "test-BBC"
}

Response

Response Body:

{
  "user_id": "0",
  "request_from": "0",
  "request_id": "master_list-request-id-aaaa7f0b-749a-4ad7-8f70-9064898374f6",
  "trace_id": "master_list-trace-id-6518e357-200a-4476-a910-782b5e214fce",
  "data": [
    {
      "name": "test-BBC - United States",
      "display_name": "test-BBC",
      "slug": "source-group+test-bbc-united-states",
      "source": [],
      "id": 305,
      "gid": "20-305"
    }
  ]
}

Error Responses

  1. Missing Required Field ‘name’

    Request

    Add necessary headers

    Request Body:

    {
      "display_name": "test-BBC"
    }
    

    Response:

    {
      "user_id": "0",
      "request_from": "0",
      "request_id": "master_list-request-id-77ee8f8b-3915-4c7c-bd24-69a28fb0ff6c",
      "trace_id": "master_list-trace-id-7205aa40-eb31-414c-b4fa-71d5e26aa311",
      "data": [],
      "title": "Error while inserting/updating the Source Group",
      "errors": [
        {
          "payload": {
            "display_name": "test-BBC",
            "slug": "source-group+",
            "source": []
          },
          "description": "Missing required field 'name'!"
        }
      ]
    }
    
  2. Attempting to Change Immutable Fields (e.g., ‘slug’)

    Request

    Add necessary headers

    Request Body:

    {
      "name": "test-BBC - United States",
      "display_name": "test-BBC 2",
      "status": "inactive",
      "slug": "source-group+test-bbc-united-statesc",
      "source": []
    }
    

    Response:

    {
      "user_id": "0",
      "request_from": "0",
      "request_id": "master_list-request-id-8ae3ea73-01de-4d9e-8566-987a1a86e0c1",
      "trace_id": "master_list-trace-id-3ff0ad64-16f9-4ff4-8ae8-04fd93f8249c",
      "data": [],
      "title": "Error while inserting/updating the Source Group",
      "errors": [
        {
          "payload": {
            "name": "test-BBC - United States",
            "slug": "source-group+test-bbc-united-statesc",
            "display_name": "test-BBC 2",
            "status": "inactive",
            "source": []
          },
          "description": "Source Group slug 'test-bbc-united-statesc' does not match with auto-generated 'test-bbc-united-states', you cannot change the name and the slug once created"
        }
      ]
    }
    
  3. Error While Inserting/Updating the Source Group

    Request

    Add necessary headers

    Request Body:

    {
      "display_name": "test-BBC"
    }
    

    Response:

    {
      "user_id": "0",
      "request_from": "0",
      "request_id": "master_list-request-id-15cdce94-8022-4ae0-b73b-593f448e22d0",
      "trace_id": "master_list-trace-id-bcdc5e6e-d2ca-450c-8cbb-abae48cf76bf",
      "data": [],
      "title": "Error while inserting/updating the Source Group",
      "errors": [
        {
          "payload": {
            "display_name": "test-BBC",
            "slug": "source-group+",
            "source": []
          },
          "description": "(pymysql.err.OperationalError) (1364, \"Field 'name' doesn't have a default value\")\n[SQL: INSERT INTO ...]"
        }
      ]
    }
    

Important Notes

  • The slug is auto-generated from the name field and cannot be changed once created.

  • If display_name is not provided, it will be set to the same value as name.

  • The associations between sources and the source group are created or updated based on the source field.

  • Only the display_name, status, and source relationships can be updated through this endpoint. Other fields are immutable.

  • The errors field in the response contains the list of errors encountered, with code being null for now.

  • When posting, if there is an error with an item, the error details are returned in the errors field, along with the payload that caused the error.

PUT Method

SourceGroup PUT Method

Purpose: Update an existing Source Group.

Request

  • Method: PUT

  • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group/<:id> or https://stag.api.ranenetwork.com/master-list/v2/source-group

  • Add necessary headers

Updatable Fields in Request Body:

  • display_name: String. Updates the display name of the Source Group.

  • status: String. Possible values are active, inactive, deleted.

Immutable Fields:

  • name: Cannot be changed.

  • slug: Cannot be changed.

  • Any extra fields sent will be ignored.

Behavior Notes:

  • Only display_name and status fields can be updated through this endpoint.

  • If extra fields or immutable fields are sent, the API will ignore them and only update the display_name and status.

Sample Requests and Responses

  1. Updating a Single Source Group

    Request

    • Method: PUT

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group/<:id>

    • Add necessary headers

    Request Body:

    {
      "display_name": "test-BBC - updated",
      "status": "inactive"
    }
    

    Response:

    {
      "user_id": "0",
      "request_from": "0",
      "request_id": "master_list-request-id-bb39a6bb-5003-4153-92fa-75d07bed1c52",
      "trace_id": "master_list-trace-id-d02e286b-eb38-47c4-9e26-6a4d76c68694",
      "data": [
        {
          "id": 333,
          "name": "test-BBC - United States",
          "display_name": "test-BBC - updated",
          "slug": "source-group+test-bbc-united-states",
          "status": "inactive",
          "gid": "20-333"
        }
      ]
    }
    
  2. Updating Multiple Source Groups

    Request

    • Method: PUT

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group

    • Add necessary headers

    Request Body:

    [
      {
        "id": 333,
        "display_name": "test-BBC - updated again",
        "status": "active"
      },
      {
        "id": 334,
        "display_name": "test-BBC - updated"
      }
    ]
    

    Response:

    {
      "user_id": "0",
      "request_from": "0",
      "request_id": "master_list-request-id-bb39a6bb-5003-4153-92fa-75d07bed1c52",
      "trace_id": "master_list-trace-id-d02e286b-eb38-47c4-9e26-6a4d76c68694",
      "data": [
        {
          "id": 333,
          "name": "test-BBC - United States",
          "display_name": "test-BBC - updated again",
          "slug": "source-group+test-bbc-united-states",
          "status": "active",
          "gid": "20-333"
        },
        {
          "id": 334,
          "name": "test-BBC - Nepal",
          "display_name": "test-BBC - updated",
          "slug": "source-group+test-bbc-nepal",
          "status": "active",
          "gid": "20-334"
        }
      ]
    }
    
  3. Immutable Fields Ignored

    Request

    • Method: PUT

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group/<:id>

    • Add necessary headers

    Request Body:

    {
      "name": "test-BBC - updated - immutable field change ignored",
      "extra_field": "extra-field-ignored"
    }
    

    Response:

    {
      "user_id": "0",
      "request_from": "0",
      "request_id": "master_list-request-id-f8a5b153-12cb-4112-836b-3f4ded44d220",
      "trace_id": "master_list-trace-id-92f6696a-b5d7-40fe-b0d3-2c12d4e354c1",
      "data": [
        {
          "id": 333,
          "name": "test-BBC - United States",
          "display_name": "test-BBC - updated",
          "slug": "source-group+test-bbc-united-states",
          "status": "active",
          "gid": "20-333"
        }
      ]
    }
    

Error Responses

  1. Source Group ID Not Found

    Request

    • Method: PUT

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group/-1

    • Add necessary headers

    Response:

    {
      "request_from": "0",
      "request_id": "master_list-request-id-47e33c35-1ffd-4ba7-b4bb-e0008f218eb6",
      "usage_context": {},
      "trace_id": "master_list-trace-id-e295fd18-9e4a-4a4d-b810-7fde0565854c",
      "title": "Could not find ids: dict_keys([1]) to update",
      "description": "<IDNotFoundError: 400 Bad Request>",
      "errors": [
        {
          "code": null,
          "description": "Traceback (most recent call last):\n  File \"falcon/app.py\", line 365, in falcon.app.App.__call__\n    rane_exception.falcon.IDNotFoundError: <IDNotFoundError: 400 Bad Request>\n"
        }
      ]
    }
    
  2. Source Group ID Not Found in Multiple Update

    Request

    • Method: PUT

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group

    • Add necessary headers

    Request Body:

    [
      {
        "id": 333,
        "display_name": "test-BBC - updated again",
        "status": "active"
      },
      {
        "id": -1,
        "display_name": "test-BBC - updated"
      }
    ]
    

    Response:

    {
      "request_from": "0",
      "request_id": "master_list-request-id-14419e37-9129-4b05-aaf5-de97634b9f5c",
      "usage_context": {},
      "trace_id": "master_list-trace-id-8d448ca8-a682-480a-b9e4-2cbbd31cc1bc",
      "title": "Could not find ids: dict_keys([-1]) to update",
      "description": "<IDNotFoundError: 400 Bad Request>",
      "errors": [
        {
          "code": null,
          "description": "Traceback (most recent call last):\n  File \"falcon/app.py\", line 365, in falcon.app.App.__call__\n    rane_exception.falcon.IDNotFoundError: <IDNotFoundError: 400 Bad Request>\n"
        }
      ]
    }
    

Important Notes

  • Only the display_name and status fields can be updated through this endpoint. Other fields are immutable.

  • If extra fields or immutable fields are sent, the API will ignore them and only update the display_name and status.

  • When updating multiple Source Groups, if any of the IDs are not found, the API will return an error.

  • The errors field in the error response contains the list of errors encountered, with code being null for now.

DELETE Method

SourceGroup DELETE Method

Purpose: Delete a single Source Group or multiple Source Groups.

Request

  • Method: DELETE

  • URL: * To delete a single Source Group: https://stag.api.ranenetwork.com/master-list/v2/source-group/<:id> * To delete multiple Source Groups: https://stag.api.ranenetwork.com/master-list/v2/source-group

  • Add necessary headers

Behavior Notes:

  • Deleting a Source Group by ID performs a soft delete, setting its status to deleted.

  • When deleting multiple Source Groups, you can specify delete_permanently as true or false: - If delete_permanently is true, the records will be permanently deleted from the database. - Note: This should not be used in production and is intended for internal testing and clean-up. - If delete_permanently is false or omitted, it performs a soft delete, setting the status to deleted.

Sample Requests and Responses

  1. Deleting a Single Source Group

    Request

    • Method: DELETE

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group/<:id>

    • Add necessary headers

    Response:

    {
      "user_id": "0",
      "request_from": "test",
      "request_id": "master_list-request-id-92b21a1f-69e9-4b1e-a1cc-7cfcb8000cfb",
      "trace_id": "master_list-trace-id-a69b7218-5b90-4142-8737-951462997c83",
      "data": [
        {
          "id": 333,
          "name": "test-BBC - United States",
          "display_name": "test-BBC - updated",
          "slug": "source-group+test-bbc-united-states",
          "status": "deleted",
          "gid": "20-333"
        }
      ]
    }
    
  2. Bulk Deleting Multiple Source Groups

    Request

    • Method: DELETE

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group

    • Add necessary headers

    Request Payload:

    {
      "ids": [333, 334, 335, 336],
      "delete_permanently": true
    }
    

    Response:

    {
      "user_id": "0",
      "request_from": "test",
      "request_id": "master_list-request-id-b779148c-67d5-4823-a6b0-3438cf87cb84",
      "trace_id": "master_list-trace-id-38be0383-7d11-4281-b4f9-02a825ae417e",
      "data": [
        {
          "id": 333,
          "name": "test-BBC - United States",
          "display_name": "test-BBC - updated",
          "slug": "source-group+test-bbc-united-states",
          "status": "deleted",
          "gid": "20-333"
        },
        {
          "id": 334,
          "name": "test-BBC - Nepal",
          "display_name": "test-BBC - updated",
          "slug": "source-group+test-bbc-nepal",
          "status": "active",
          "gid": "20-334"
        },
        {
          "id": 335,
          "name": "test-BBC - China",
          "display_name": "test-BBC",
          "slug": "source-group+test-bbc-china",
          "status": "active",
          "gid": "20-335"
        },
        {
          "id": 336,
          "name": "test-BBC - United Kingdom",
          "display_name": "test-BBC",
          "slug": "source-group+test-bbc-united-kingdom",
          "status": "active",
          "gid": "20-336"
        }
      ]
    }
    

    Note: The delete_permanently flag set to true will permanently delete the records.

  3. Bulk Deleting with Soft Delete

    Request

    • Method: DELETE

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group

    • Add necessary headers

    Request Payload:

    {
      "ids": [337, 338, 339],
      "delete_permanently": false
    }
    

    Response:

    {
      "user_id": "0",
      "request_from": "test",
      "request_id": "master_list-request-id-a9cae1a4-2221-4441-9b20-fc97394304cc",
      "trace_id": "master_list-trace-id-d63519e5-97f2-4d4a-960d-94b778305d15",
      "data": [
        {
          "id": 337,
          "name": "test-BBC - United States",
          "display_name": "test-BBC - updated again",
          "slug": "source-group+test-bbc-united-states",
          "status": "deleted",
          "gid": "20-337"
        },
        {
          "id": 338,
          "name": "test-BBC - Nepal",
          "display_name": "test-BBC - updated",
          "slug": "source-group+test-bbc-nepal",
          "status": "deleted",
          "gid": "20-338"
        },
        {
          "id": 339,
          "name": "test-BBC - China",
          "display_name": "test-BBC",
          "slug": "source-group+test-bbc-china",
          "status": "deleted",
          "gid": "20-339"
        },
        {
          "id": 340,
          "name": "test-BBC - United Kingdom",
          "display_name": "test-BBC",
          "slug": "source-group+test-bbc-united-kingdom",
          "status": "deleted",
          "gid": "20-340"
        }
      ]
    }
    

Error Responses

  1. Source Group ID Not Found

    Request

    • Method: DELETE

    • URL: https://stag.api.ranenetwork.com/master-list/v2/source-group/-1

    • Add necessary headers

    Response:

    {
      "request_from": "test",
      "request_id": "master_list-request-id-5b6eb658-434e-4265-87be-22a6eae44f95",
      "usage_context": {},
      "trace_id": "master_list-trace-id-611e9546-9528-4719-82bf-a1fb7c831675",
      "title": "Could not find ids:set() to soft delete",
      "description": "<IDNotFoundError: 400 Bad Request>",
      "errors": [
        {
          "code": null,
          "description": "Traceback (most recent call last):\n  File \"falcon/app.py\", line 365, in falcon.app.App.__call__\n    rane_exception.falcon.IDNotFoundError: <IDNotFoundError: 400 Bad Request>\n"
        }
      ]
    }
    

    Note: The error is related to the provided ID not being found for deletion.

Important Notes

  • When deleting a single Source Group by ID, it performs a soft delete (sets status to deleted).

  • For bulk deletes: - If delete_permanently is set to true, the Source Groups are permanently deleted from the database. - Use with caution: This operation cannot be undone. - Intended for internal testing and clean-up purposes. - If delete_permanently is set to false or omitted, it performs a soft delete (sets status to deleted).

  • The response will include the last state of the Source Groups before deletion.

  • Deleting a Source Group does not remove associated sources; it only affects the Source Group’s status.

Indices and tables