Collect Data from Source

post

/data/collect

Collects data from your data source, such as a database, and stores it in an object file.

Request

There are no request parameters for this operation.

Supported Media Types
Request Body - application/json ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Input request parameters
Match All
Input request parameters
Specifies the input parameters for the request.
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • type
    Specifies the input parameters for the request.
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : type
Type: object
Specifies the input parameters for the request.
Show Source
Nested Schema : data_source_type
Type: array
Specifies the list of data sources.
Show Source
Nested Schema : query_builder
Type: object
Specifies the list of queries and their join conditions.
Show Source
Nested Schema : storage_details
Type: object
Specifies the data storage location and connection details.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Specifies the queries and their join conditions.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Specifies the queries and their join conditions.
Show Source
Nested Schema : join_condition
Type: array
Specifies the join conditions used to construct the queries. This is an optional input which can be used to join the data from two queries.
Show Source
Nested Schema : queries
Type: array
Specifies the list of queries.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
List of join conditions used to combine queries.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
List of join conditions used to combine queries.
Show Source
Nested Schema : join
Type: array
Specifies the names of the queries to join.
Show Source
Nested Schema : join_column
Type: array
Specifies the column used to join the queries.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Specifies the list of queries to run.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Specifies the list of queries to run.
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Specifies the storage location and connection details.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Specifies the storage location and connection details.
Show Source
Nested Schema : storage_connection_details
Type: array
Specifies the connection parameters for the storage location.
Show Source
Nested Schema : items
Type: object
Examples

Back to Top

Response

200 Response

The request was completed successfully. If the system throws a runtime error, the response code 200 is returned alongside the error message in the response body.
Body ()
Root Schema : schema
Type: array
Show Source
Nested Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Match All
Specifies the output returned by the operation.
Show Source
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Specifies the output returned by the operation.
Show Source

400 Response

The server received a bad request.
Body ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Match All
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • Discriminator: @type-allOf[1]
    Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source

401 Response

The request is not authorized.
Body ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Match All
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • Discriminator: @type-allOf[1]
    Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source

403 Response

The request is forbidden.
Body ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Match All
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • Discriminator: @type-allOf[1]
    Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source

404 Response

The resource was not found.
Body ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Match All
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • Discriminator: @type-allOf[1]
    Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source

405 Response

The method is not allowed.
Body ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Match All
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • Discriminator: @type-allOf[1]
    Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source

409 Response

The server received a conflict.
Body ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Match All
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • Discriminator: @type-allOf[1]
    Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source

500 Response

The system has received an Internal Server Error.
Body ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Match All
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • Discriminator: @type-allOf[1]
    Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source

501 Response

The service was not implemented.
Body ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Match All
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • Discriminator: @type-allOf[1]
    Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source

503 Response

The service is not available.
Body ()
Root Schema : Discriminator: @type
Type: object
Discriminator: @type

Discriminator Values

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Match All
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
  • Extensible
    Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
  • Discriminator: @type-allOf[1]
    Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Nested Schema : Extensible
Type: object
Base extensible schema for use with TM Forum Open APIs. When used in a schema, the entity must be extended by specifying `@type`.
Show Source
Nested Schema : Discriminator: @type-allOf[1]
Type: object
Indicates an error response from the API, usually accompanied by an HTTP status code (3xx, 4xx, or 5xx).
Show Source
Back to Top

Examples

This example shows the cURL command for sending a Collect Data request:

curl -X POST 'http://hostname:port/data/collect' -H 'Content-Type: application/json' -d @file.json

where:

  • hostname is the host name of the application server.

  • port is the port for the application server.

  • file.json is the JSON file that specifies the details of the data to collect.

Example of the Request Body

The following sample shows the contents of the file.json file sent as the request body.

{
  "@type": "CollectRequest",
  "data_source_type": [
    "oracledb",
    "prometheus"
  ],
  "tech_choice": "spark",
  "delta_data": false,
  "storage_details": [
    {
      "@type": "StorageDetails",
      "output_file_type": "json",
      "storage_type": "pvc"
    }
  ],
  "query_builder": [
    {
      "@type": "QueryBuilder",
      "queries": [
        {
          "@type": "QueryList",
          "name": "account_data",
          "query": "select a.poid_id0 as acct_cd, a.currency as crncy_cd, b.country as cntry_name, b.state as state_name, b.city as city_name from account_t a left join account_nameinfo_t b on b.obj_id0 = a.poid_id0 where b.country <> 'null'"
        },
        {
          "@type": "QueryList",
          "name": "msisdn_data",
          "query": "select s.account_obj_id0, s.poid_type, a.name as msisdn from service_t s left join service_alias_list_t a on a.obj_id0 = s.poid_id0 where a.rec_id = 0"
        },
        {
          "@type": "QueryList",
          "name": "balance_group_data",
          "query": "select d.poid_id0 as bal_grp_cd, d.ACCOUNT_OBJ_ID0 as acct_cd, b.rec_id2 as acct_bal_typ_cd, b.VALID_TO as bal_expry_dt, e.VALID_FROM as bal_begin_dt, e.CURRENT_BAL as bal_amt, e.GRANTED_BAL as orgnl_bkt_amt, e.GRANTOR_OBJ_ID0 as prod_sbrp_cd, e.GRANTOR_OBJ_TYPE as prod_sbrp_typ_cd from bal_grp_t d left join bal_grp_sub_bals_t e on e.obj_id0 = d.poid_id0 inner join (select rec_id2, max(valid_to) as valid_to from bal_grp_sub_bals_t group by rec_id2) b on e.rec_id2 = b.rec_id2 and e.valid_to = b.valid_to"
        },
        {
          "@type": "QueryList",
          "name": "service_data",
          "query": "select ACCOUNT_OBJ_ID0 as acct_cd, BAL_GRP_OBJ_ID0 as bal_grp_cd, poid_id0 as ser_srvc_cd, poid_type as ser_srvc_typ_cd, name as ser_srvc_name from service_t where poid_type not like '%/pcm_client' and poid_type not like '%/admin_client'"
        },
        {
          "@type": "QueryList",
          "name": "purchased_product_data",
          "query": "select ACCOUNT_OBJ_ID0 as acct_cd, CYCLE_START_T as cycl_strt_dt, CYCLE_END_T as cycl_end_dt, PLAN_OBJ_ID0 as prod_ofr_cd, PRODUCT_OBJ_ID0 as prod_spec_cd, POID_ID0 as prod_sbrp_cd, PURCHASE_START_T as prod_sbrp_strt_dt, PURCHASE_END_T as prod_sbrp_end_dt, SERVICE_OBJ_ID0 as ser_srvc_cd, DEAL_OBJ_ID0 as deal_cd from purchased_product_t"
        },
        {
          "@type": "QueryList",
          "name": "product_data",
          "query": "select poid_id0 as prod_spec_cd, name as shrt_name, permitted from product_t"
        },
        {
          "@type": "QueryList",
          "name": "deal_data",
          "query": "select d.poid_id0 as deal_cd, d.permitted, d.name, p.PRODUCT_OBJ_ID0 as prod_spec_cd from deal_t d left join deal_products_t p on p.obj_id0 = d.poid_id0"
        },
        {
          "@type": "QueryList",
          "name": "plan_data",
          "query": "select distinct p.POID_ID0 as prod_ofr_cd, p.NAME as prod_ofr_name, d.PERMITTED as srvc_typ_cd, pd.DEAL_OBJ_ID0 as deal_cd from PLAN_T p left join PLAN_SERVICES_DEALS_T pd on pd.OBJ_ID0 = p.POID_ID0 left join DEAL_T d on d.POID_ID0 = pd.DEAL_OBJ_ID0"
        },
        {
          "@type": "QueryList",
          "name": "rate_data",
          "query": "select r.POID_ID0 as prod_ofr_price_cd, r.RATE_PLAN_OBJ_ID0 as prod_ofr_price_typ_cd, rp.PRODUCT_OBJ_ID0 as prod_spec_cd, rp.EVENT_TYPE as evt_typ_cd, rb.ELEMENT_ID as elmnt_cd, rb.SCALED_AMOUNT as scaled_amt from rate_t r left join rate_plan_t rp on rp.POID_ID0 = r.RATE_PLAN_OBJ_ID0 left join rate_bal_impacts_t rb on rb.obj_id0 = r.POID_ID0"
        },
        {
          "@type": "QueryList",
          "name": "event_data",
          "query": "select i.ACCOUNT_OBJ_ID0 as acct_cd, i.OFFERING_OBJ_ID0 as prod_ofr_cd, i.PRODUCT_OBJ_ID0 as prod_spec_cd, i.RESOURCE_ID as acct_bal_typ_cd, e.SERVICE_OBJ_TYPE as service_type, sum(e.net_quantity) as usage from event_t e left join event_bal_impacts_t i on i.OBJ_ID0 = e.POID_ID0 where i.OFFERING_OBJ_ID0 <> 0 group by i.ACCOUNT_OBJ_ID0, i.OFFERING_OBJ_ID0, i.PRODUCT_OBJ_ID0, i.RESOURCE_ID, e.SERVICE_OBJ_TYPE"
        },
        {
          "@type": "QueryList",
          "name": "deal_data_2",
          "query": "select i.ACCOUNT_OBJ_ID0 as acct_cd, i.OFFERING_OBJ_ID0 as prod_ofr_cd, p.DEAL_OBJ_ID0 as deal_cd from event_bal_impacts_t i left join event_t e on i.OBJ_ID0 = e.POID_ID0 left join purchased_product_t p on p.POID_ID0 = i.OFFERING_OBJ_ID0 where e.POID_TYPE = '/event/billing/product/fee/cycle/cycle_forward_monthly' and i.OFFERING_OBJ_ID0 <> 0"
        },
        {
          "@type": "QueryList",
          "name": "over_usage_data",
          "query": "select i.ACCOUNT_OBJ_ID0 as acct_cd, i.OFFERING_OBJ_ID0 as prod_ofr_cd, i.PRODUCT_OBJ_ID0 as prod_spec_cd, EXTRACT(MONTH FROM (TO_DATE('01/01/1970', 'dd/mm/yyyy') + e.CREATED_T/86400)) as MONTH, EXTRACT(YEAR FROM (TO_DATE('01/01/1970', 'dd/mm/yyyy') + e.CREATED_T/86400)) as YEAR, e.SERVICE_OBJ_ID0 as srvc_cd, sum(i.AMOUNT) as amt, sum (e.NET_QUANTITY) / ABS(NULLIF(rb.SCALED_AMOUNT, 0)) as USAGE_OVER_GRANT from event_bal_impacts_t i left join event_t e on i.OBJ_ID0 = e.POID_ID0 left join rate_plan_t rp on rp.PRODUCT_OBJ_ID0 = i.PRODUCT_OBJ_ID0 left join rate_t r on rp.POID_ID0 = r.RATE_PLAN_OBJ_ID0 left join rate_bal_impacts_t rb on rb.obj_id0 = r.poid_id0 where rp.event_type = '/event/billing/product/fee/cycle/cycle_forward_monthly' and e.POID_TYPE like '/event/session%' and e.service_obj_type <> '/service/pcm_client' and i.OFFERING_OBJ_ID0 <> 0 group by i.ACCOUNT_OBJ_ID0, i.OFFERING_OBJ_ID0, e.SERVICE_OBJ_ID0, i.PRODUCT_OBJ_ID0, rb.SCALED_AMOUNT, EXTRACT(MONTH FROM (TO_DATE('01/01/1970', 'dd/mm/yyyy') + e.CREATED_T/86400)), EXTRACT(YEAR FROM (TO_DATE('01/01/1970', 'dd/mm/yyyy') + e.CREATED_T/86400))"
        },
        {
          "@type": "QueryList",
          "name": "usage_details",
          "query": "select i.ACCOUNT_OBJ_ID0 as acct_cd, i.OFFERING_OBJ_ID0 as prod_ofr_cd, i.PRODUCT_OBJ_ID0 as prod_spec_cd, i.RESOURCE_ID as acct_bal_typ_cd, EXTRACT(MONTH FROM (TO_DATE('01/01/1970', 'dd/mm/yyyy') + e.CREATED_T/86400)) as MONTH, EXTRACT(YEAR FROM (TO_DATE('01/01/1970', 'dd/mm/yyyy') + e.CREATED_T/86400)) as YEAR, e.SERVICE_OBJ_ID0 as srvc_cd, substr(e.SERVICE_OBJ_TYPE, instr (e.SERVICE_OBJ_TYPE, '/', -1) + 1) as ser_srvc_name, sum (e.NET_QUANTITY) / ABS(NULLIF(rb.SCALED_AMOUNT, 0)) as USAGE from event_bal_impacts_t i left join event_t e on i.OBJ_ID0 = e.POID_ID0 left join rate_plan_t rp on rp.PRODUCT_OBJ_ID0 = i.PRODUCT_OBJ_ID0 left join rate_t r on rp.POID_ID0 = r.RATE_PLAN_OBJ_ID0 left join rate_bal_impacts_t rb on rb.obj_id0 = r.poid_id0 where rp.event_type = '/event/billing/product/fee/cycle/cycle_forward_monthly' and e.POID_TYPE like '/event/session%' and i.RESOURCE_ID <> 840 and e.service_obj_type <> '/service/pcm_client' and i.OFFERING_OBJ_ID0 <> 0 group by i.ACCOUNT_OBJ_ID0, i.OFFERING_OBJ_ID0, e.SERVICE_OBJ_ID0, i.PRODUCT_OBJ_ID0, rb.SCALED_AMOUNT, e.SERVICE_OBJ_TYPE, i.RESOURCE_ID, EXTRACT(MONTH FROM (TO_DATE('01/01/1970', 'dd/mm/yyyy') + e.CREATED_T/86400)), EXTRACT(YEAR FROM (TO_DATE('01/01/1970', 'dd/mm/yyyy') + e.CREATED_T/86400))"
        }
      ],
      "join_condition": [
        {
          "@type": "JoinConditions",
          "name": "joined_data",
          "join": [
            "service_data",
            "purchased_product_data"
          ]
        },
        {
          "@type": "JoinConditions",
          "name": "left_join_1",
          "join": [
            "event_data",
            "purchased_product_data"
          ],
          "join_type": "left",
          "join_column": [
            "acct_cd_1",
            "acct_cd"
          ]
        }
      ]
    },
    {
      "@type": "QueryBuilder",
      "queries": [
        {
          "@type": "QueryList",
          "name": "aiml_data_service_request_total",
          "query": "2026-03-15T00:00:00Z|2026-03-17T01:00:00Z|30s"
        }
      ]
    }
  ]
}

Example of the Response Body

If successful, the response code 200 is returned with the following response body.

{
  "@type": "CollectResponse",
  "status": "Data Fetch Successful"
}
Back to Top