Optimus API Guide (6.0)

Download OpenAPI specification:Download

support@optimus.tech: support@optimus.tech License: Optimus

Api guide to integrate with Optimus platform

File Upload

Operations related to file upload

Share input file with Optimus

This API is designed to upload files; that needs to be ingested in Optimus.

Request Body schema: multipart/form-data
fileContent
required
string <binary>

Input file needs to be uploaded

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Job

Operations related to jobs

Create a job in Optimus

This API is designed to create a job in Optimus. This job can be a 'data ingestion', 'reconciliation', 'report generation' job. Response of this API is a job id; which can be further used to track job status.

Request Body schema: application/json
required

Job parameters

serviceName
required
string

serviceName for which this job needs to run

object

input parameters required for this job, For file based DI it will contain filename

Responses

Request samples

Content type
application/json
Example

File based DI job request

{
  • "serviceName": "Paypal-Data-DI",
  • "jobRunParams": {
    }
}

Response samples

Content type
application/json
{
  • "id": "c6a86398-460d-4632-9186-e63420f0cd66"
}

Get job info

This API is designed to get job info from Optimus. This job can be a 'data ingestion', 'reconciliation', 'report generation' job.

path Parameters
jobId
required
string
Example: c6a86398-460d-4632-9186-e63420f0cd66

job id

Responses

Response samples

Content type
application/json
{
  • "id": "c6a86398-460d-4632-9186-e63420f0cd66",
  • "status": "COMPLETED",
  • "serviceName": "Paypal-Data-DI",
  • "createdAt": "23-05-2024T18:30:00Z",
  • "endTime": "24-05-2024T18:29:59Z",
  • "jobInitiator": {
    }
}

Data Ingestion

Operations related to data ingestion

Ingest Data into source

This API is designed to ingest data into a source.

path Parameters
sourceName
required
string
Example: Paypal

source name

recordType
required
string
Example: Data

record type of a given source

Request Body schema: application/json
required

Request for data ingestion into source

required
object

records that needs to be ingested into a source

Responses

Request samples

Content type
application/json
{
  • "records": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "c6a86398-460d-4632-9186-e63420f0cd66",
  • "sourceName": "Paypal",
  • "recordType": "Data",
  • "runDate": "23-05-2024T18:30:00Z",
  • "ingestedCount": 2,
  • "errorCount": 1,
  • "errorList": [
    ]
}

Reports

Operations related to get reports

Get transaction report

This API is used to fetch the transaction report details of the source or within two sources.

query Parameters
limit
integer <int32>
Default: 100
Example: limit=100

Number of transactions per page

page
integer <int32>
Default: 1
Example: page=1

Page number

Request Body schema: application/json

Report request details

startDate
required
string <date-time>

Start date

endDate
required
string <date-time>

End date

sourceName
required
string

Source name configured in Optimus

recordType
required
string

Record type configured in Optimus

dateFieldName
string

Date field name for which start date and end end filter needs to be applied

Array of objects (OtherSource)

Other source details

expectedFields
Array of strings

Fields to be included in the response

Responses

Request samples

Content type
application/json
Example

Request with mandatory fields

{
  • "startDate": "2022-01-19T18:30:00Z",
  • "endDate": "2022-07-24T18:29:59Z",
  • "sourceName": "Samson",
  • "recordType": "Data"
}

Response samples

Content type
application/json
Example

Response based on mandatory fields in request

{
  • "result": [
    ],
  • "count": 3
}

Get metadata for transaction reports

This API is designed to get metadata for transaction reports.

query Parameters
includeTagValues
boolean
Default: false

Set to true if tag values are required for tag fields

Request Body schema: application/json

Transaction metadata request details

Array of objects (SourceWithRecordType)

List of source name and record type. If present then, sourceCategories, recordTypeCategories and canvas are not applicable

sourceCategories
Array of strings

Source categories, applicable when sourceWithRecordType is not present, applicable for summary request

recordTypeCategories
Array of strings

Record type categories, applicable when sourceWithRecordType is not present, applicable for summary request

canvas
string

Canvas name, applicable when sourceWithRecordType is not present, applicable for summary request

Responses

Request samples

Content type
application/json

sourceWithRecordType is present

{
  • "sourceWithRecordType": [
    ]
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get summary report

This API is used to fetch the summary report details of the source or within two sources.

query Parameters
limit
integer <int32>
Default: 100
Example: limit=100

Number of records per page

page
integer <int32>
Default: 1
Example: page=1

Page number

Request Body schema: application/json

Report request details

startDate
required
string <date-time>

Start date

endDate
required
string <date-time>

End date

sourceName
required
string

Source name configured in Optimus

recordType
required
string

Record type configured in Optimus

dateFieldName
string

Date field name for which start date and end end filter needs to be applied

Array of objects (OtherSource)

Other source details

expectedFields
Array of strings

Fields to be included in the response

Responses

Request samples

Content type
application/json
Example

Request with mandatory fields

{
  • "startDate": "2024-04-25T00:00:00Z",
  • "endDate": "2024-05-01T23:59:59Z",
  • "sourceName": "Samson",
  • "recType": "Data"
}

Response samples

Content type
application/json
Example

Response based on mandatory fields in request

{
  • "result": [
    ],
  • "count": 2
}

Get metadata for summary reports

This API is designed to get metadata for summary reports.

query Parameters
includeTagValues
boolean
Default: false

Set to true if tag values are required for tag fields

Request Body schema: application/json

Summary metadata request details

Array of objects (SourceWithRecordType)

List of source name and record type. If present then, sourceCategories, recordTypeCategories and canvas are not applicable

sourceCategories
Array of strings

Source categories, applicable when sourceWithRecordType is not present, applicable for summary request

recordTypeCategories
Array of strings

Record type categories, applicable when sourceWithRecordType is not present, applicable for summary request

canvas
string

Canvas name, applicable when sourceWithRecordType is not present, applicable for summary request

Responses

Request samples

Content type
application/json
Example

sourceWithRecordType is present

{
  • "sourceWithRecordType": [
    ]
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get advanced transaction report

This API is used to fetch the transaction report details of the source or within two sources with advanced request parameters.

query Parameters
limit
integer <int32>
Default: 100
Example: limit=100

Number of transactions per page

page
integer <int32>
Default: 1
Example: page=1

Page number

Request Body schema: application/json

Advanced transaction request details

object (DataSource)

Data source information

object (IFilter)

Used to perform advance filtering

Array of objects (Sort)

sorting information for results returned

reportName
string

report name of the template already configured within Optimus

Array of objects (TransactionField)

list of all transaction fields expected in the response

Responses

Request samples

Content type
application/json
Example

Transaction request for individual data ingestion

{
  • "dataSource": {
    },
  • "filters": {
    },
  • "fields": [
    ]
}

Response samples

Content type
application/json
Example

Transaction response for individual data ingestion

{
  • "result": [
    ],
  • "count": 2
}

Get advanced summary report

This API is used to fetch the summary report details of the source or within two sources with advanced request parameters.

query Parameters
limit
integer <int32>
Default: 100
Example: limit=100

Number of transactions per page

page
integer <int32>
Default: 1
Example: page=1

Page number

Request Body schema: application/json

Advanced summary request details

object (DataSource)

Data source information

object (IFilter)

Used to perform advance filtering

Array of objects (Sort)

sorting information for results returned

reportName
string

report name of the template already configured within Optimus

Array of objects (SummaryField)

list of all summary fields expected in the response

Responses

Request samples

Content type
application/json
Example

Summary request for individual data ingestion

{
  • "dataSource": {
    },
  • "filters": {
    },
  • "fields": [
    ]
}

Response samples

Content type
application/json
Example

Summary response for individual data ingestion

{
  • "result": [
    ],
  • "count": 2
}