# Read

***

## Get job

> Get job properties

```json
{"openapi":"3.1.1","info":{"title":"ByteNite jobs API","version":"0.1"},"tags":[],"servers":[{"url":"https://api.bytenite.com/v1/customer"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","description":"Your ByteNite access token","name":"Authorization","in":"header"}},"schemas":{"jobsJobResponse":{"type":"object","properties":{"job":{"$ref":"#/components/schemas/jobJob"},"templateInfo":{"$ref":"#/components/schemas/jobJobTemplate","title":"Job template information"}}},"jobJob":{"type":"object","properties":{"id":{"type":"string","title":"Unique id for the job","readOnly":true},"templateId":{"type":"string","title":"Job template to run"},"name":{"type":"string","title":"Human readable name"},"config":{"$ref":"#/components/schemas/jobJobConfig","title":"Job specific parameters"},"priority":{"$ref":"#/components/schemas/jobByteLevel","title":"Execution priority requirements for the job"},"startAt":{"type":"string","format":"date-time","title":"When the job should be run (0 for immediate start)"},"submittedAt":{"type":"string","format":"date-time","title":"Submission date/time for the job request","readOnly":true},"startedAt":{"type":"string","format":"date-time","title":"date/time of the first chunk upload","readOnly":true},"endedAt":{"type":"string","format":"date-time","title":"date/time of completion/failure","readOnly":true},"regions":{"$ref":"#/components/schemas/commonSelectionList","title":"Region to consider (or to exclude) for device selection"},"state":{"$ref":"#/components/schemas/jobJobState","title":"Current job state"},"dataSource":{"$ref":"#/components/schemas/data_sourceDataSource","title":"Input data source"},"params":{"$ref":"#/components/schemas/jobAppParams","description":"A JSON object that should be compatible with the JSONSchema associated to the Job Template specified in template_id","title":"App specific parameters passed to devices"},"dataDestination":{"$ref":"#/components/schemas/data_sourceDataSource","title":"Output data destination"},"duration":{"type":"number","format":"double","title":"Job duration in seconds","readOnly":true},"deletedAt":{"type":"string","format":"date-time","title":"Delete date/time for the job request","readOnly":true},"createdAt":{"type":"string","format":"date-time","title":"Creation time of the job","readOnly":true},"paymentAmount":{"type":"number","format":"double","readOnly":true},"numUnitsEstimation":{"type":"string","format":"int64","readOnly":true},"numChunks":{"type":"integer","format":"int32","readOnly":true},"errorMessage":{"type":"string","readOnly":true},"description":{"type":"string","title":"description of this job"},"stateTimestamps":{"type":"object","additionalProperties":{"type":"string","format":"date-time"},"title":"Timestamps for each state"},"appId":{"type":"string"},"templateInfo":{"$ref":"#/components/schemas/jobJobTemplate"}}},"jobJobConfig":{"type":"object","properties":{"taskTimeout":{"type":"integer","format":"int64","title":"task timeout in seconds"},"jobTimeout":{"type":"integer","format":"int64","title":"job timeout in seconds"},"isTestJob":{"type":"boolean","title":"'true' if this job is a test job"}}},"jobByteLevel":{"type":"string","enum":["EXECUTION_PRIORITY_UNDEFINED","EXECUTION_PRIORITY_CHEAP","EXECUTION_PRIORITY_BALANCED","EXECUTION_PRIORITY_FAST"],"default":"EXECUTION_PRIORITY_UNDEFINED"},"commonSelectionList":{"type":"object","properties":{"blacklist":{"type":"array","items":{"type":"string"}},"whitelist":{"type":"array","items":{"type":"string"}}}},"jobJobState":{"type":"string","enum":["JOB_STATE_NEW","JOB_STATE_STARTED","JOB_STATE_UPLOADING","JOB_STATE_PARTITIONING","JOB_STATE_PARTITIONED","JOB_STATE_TASKS_COMPLETED","JOB_STATE_MERGING","JOB_STATE_MERGED","JOB_STATE_DOWNLOADING","JOB_STATE_COMPLETE","JOB_STATE_FAILED"],"default":"JOB_STATE_NEW","description":" - JOB_STATE_NEW: The job has been created, and the user may still be updating its data sources and parameters.\n - JOB_STATE_STARTED: The job has begun execution after passing validation checks, including data sources, parameters, account balance, and grace period.\n - JOB_STATE_UPLOADING: The job has been retrieved from the partitioner’s job queue and is being sent to the appropriate partitioning engine. Reaching this state confirms the presence of a suitable partitioning engine.\n - JOB_STATE_PARTITIONING: The partitioning engine processes the job and generates multiple chunks, preparing them for further execution.\n - JOB_STATE_PARTITIONED: The partitioning engine has successfully divided the job into chunks, forwarding them to the feeder for distribution. Workers begin fetching and processing these chunks.\n - JOB_STATE_TASKS_COMPLETED: All assigned tasks have been successfully processed by the task runner\n - JOB_STATE_MERGING: The assembler engine retrieves and merges the processed data.\n - JOB_STATE_MERGED: The assembler engine has successfully completed merging the processed chunks. The final result is now prepared for uploading to the specified destination.\n - JOB_STATE_DOWNLOADING: The final output is being saved to the designated data destination.\n - JOB_STATE_COMPLETE: The job lifecycle is successfully completed, and the result has been uploaded to the specified destination.\n - JOB_STATE_FAILED: The job has encountered an error and failed to produce output."},"data_sourceDataSource":{"type":"object","properties":{"dataSourceDescriptor":{"type":"string","description":"Data source selector."},"params":{"$ref":"#/components/schemas/protobufAny","description":"Data source parameters."}},"description":"The data source object specifying configurations for inputs and outputs. Please refer to the dedicated guide for detailed instructions."},"protobufAny":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"jobAppParams":{"type":"object","properties":{"preset":{"type":"string","description":"[Deprecated] Preset configuration. This field is no longer in use."},"partitioner":{"type":"object","description":"Sets parameters for the partitioning engine."},"assembler":{"type":"object","description":"Sets parameters for the assembling engine."},"app":{"type":"object","description":"Sets parameters for the application.."}}},"jobJobTemplate":{"type":"object","properties":{"id":{"type":"string","title":"Unique ID for this Job Template (primary key)"},"owner":{"type":"string","title":"Owner of this Job Template (primary key)"},"description":{"type":"string","title":"Description of this Job Template"},"app":{"type":"string","title":"The application associated with this Job Template"},"partitioner":{"type":"string","title":"How data is partitioned"},"assembler":{"type":"string","title":"How data is assembled/merged"}}},"rpcStatus":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/protobufAny"}}}}}},"paths":{"/jobs/{jobId}":{"get":{"summary":"Get job","description":"Get job properties","operationId":"Customer_GetJob","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/jobsJobResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/jobsJobResponse"}}}},"400":{"description":"Returned when the users sends a malformed request.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"401":{"description":"Returned when the user is not authenticated.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"403":{"description":"Returned when the user does not have permission to access the resource.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"404":{"description":"Returned when the resource does not exist.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"500":{"description":"Returned when an error on the server occurred.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"503":{"description":"Returned when the resource is temporarily unavailable.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}}}},"parameters":[{"schema":{"type":"string"},"name":"jobId","description":"The id associated with your job.","in":"path","required":true}],"tags":["Jobs"]}}}}
```

***

## Get results

> Get job results

```json
{"openapi":"3.1.1","info":{"title":"ByteNite jobs API","version":"0.1"},"tags":[],"servers":[{"url":"https://api.bytenite.com/v1/customer"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","description":"Your ByteNite access token","name":"Authorization","in":"header"}},"schemas":{"jobsJobResultsResponse":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/jobsJobResult"}}}},"jobsJobResult":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string"}}},"rpcStatus":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/protobufAny"}}}},"protobufAny":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}},"paths":{"/jobs/{jobId}/results":{"get":{"summary":"Get results","description":"Get job results","operationId":"Customer_GetJobResults","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/jobsJobResultsResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/jobsJobResultsResponse"}}}},"400":{"description":"Returned when the users sends a malformed request.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"401":{"description":"Returned when the user is not authenticated.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"403":{"description":"Returned when the user does not have permission to access the resource.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"404":{"description":"Returned when the resource does not exist.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"500":{"description":"Returned when an error on the server occurred.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"503":{"description":"Returned when the resource is temporarily unavailable.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}}}},"parameters":[{"schema":{"type":"string"},"name":"jobId","description":"The id associated with your job.","in":"path","required":true}],"tags":["Jobs"]}}}}
```

***

## Get jobs

> Get all jobs for user with optional filters

```json
{"openapi":"3.1.1","info":{"title":"ByteNite jobs API","version":"0.1"},"tags":[],"servers":[{"url":"https://api.bytenite.com/v1/customer"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","description":"Your ByteNite access token","name":"Authorization","in":"header"}},"schemas":{"jobsJobsResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/commonPaginatedResponse"},"data":{"type":"array","items":{"$ref":"#/components/schemas/jobJob"}}}},"commonPaginatedResponse":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of transactions available."},"offset":{"type":"integer","format":"int64","description":"The starting position of the current page of results, starting from 0."},"hasPrevious":{"type":"boolean","description":"A boolean value (True/False) indicating whether there's a previous page of results. False if the current page is the first page."},"hasNext":{"type":"boolean","description":"A boolean value indicating whether there's a next page of results."}},"description":"This section provides information about how the results are divided into pages."},"jobJob":{"type":"object","properties":{"id":{"type":"string","title":"Unique id for the job","readOnly":true},"templateId":{"type":"string","title":"Job template to run"},"name":{"type":"string","title":"Human readable name"},"config":{"$ref":"#/components/schemas/jobJobConfig","title":"Job specific parameters"},"priority":{"$ref":"#/components/schemas/jobByteLevel","title":"Execution priority requirements for the job"},"startAt":{"type":"string","format":"date-time","title":"When the job should be run (0 for immediate start)"},"submittedAt":{"type":"string","format":"date-time","title":"Submission date/time for the job request","readOnly":true},"startedAt":{"type":"string","format":"date-time","title":"date/time of the first chunk upload","readOnly":true},"endedAt":{"type":"string","format":"date-time","title":"date/time of completion/failure","readOnly":true},"regions":{"$ref":"#/components/schemas/commonSelectionList","title":"Region to consider (or to exclude) for device selection"},"state":{"$ref":"#/components/schemas/jobJobState","title":"Current job state"},"dataSource":{"$ref":"#/components/schemas/data_sourceDataSource","title":"Input data source"},"params":{"$ref":"#/components/schemas/jobAppParams","description":"A JSON object that should be compatible with the JSONSchema associated to the Job Template specified in template_id","title":"App specific parameters passed to devices"},"dataDestination":{"$ref":"#/components/schemas/data_sourceDataSource","title":"Output data destination"},"duration":{"type":"number","format":"double","title":"Job duration in seconds","readOnly":true},"deletedAt":{"type":"string","format":"date-time","title":"Delete date/time for the job request","readOnly":true},"createdAt":{"type":"string","format":"date-time","title":"Creation time of the job","readOnly":true},"paymentAmount":{"type":"number","format":"double","readOnly":true},"numUnitsEstimation":{"type":"string","format":"int64","readOnly":true},"numChunks":{"type":"integer","format":"int32","readOnly":true},"errorMessage":{"type":"string","readOnly":true},"description":{"type":"string","title":"description of this job"},"stateTimestamps":{"type":"object","additionalProperties":{"type":"string","format":"date-time"},"title":"Timestamps for each state"},"appId":{"type":"string"},"templateInfo":{"$ref":"#/components/schemas/jobJobTemplate"}}},"jobJobConfig":{"type":"object","properties":{"taskTimeout":{"type":"integer","format":"int64","title":"task timeout in seconds"},"jobTimeout":{"type":"integer","format":"int64","title":"job timeout in seconds"},"isTestJob":{"type":"boolean","title":"'true' if this job is a test job"}}},"jobByteLevel":{"type":"string","enum":["EXECUTION_PRIORITY_UNDEFINED","EXECUTION_PRIORITY_CHEAP","EXECUTION_PRIORITY_BALANCED","EXECUTION_PRIORITY_FAST"],"default":"EXECUTION_PRIORITY_UNDEFINED"},"commonSelectionList":{"type":"object","properties":{"blacklist":{"type":"array","items":{"type":"string"}},"whitelist":{"type":"array","items":{"type":"string"}}}},"jobJobState":{"type":"string","enum":["JOB_STATE_NEW","JOB_STATE_STARTED","JOB_STATE_UPLOADING","JOB_STATE_PARTITIONING","JOB_STATE_PARTITIONED","JOB_STATE_TASKS_COMPLETED","JOB_STATE_MERGING","JOB_STATE_MERGED","JOB_STATE_DOWNLOADING","JOB_STATE_COMPLETE","JOB_STATE_FAILED"],"default":"JOB_STATE_NEW","description":" - JOB_STATE_NEW: The job has been created, and the user may still be updating its data sources and parameters.\n - JOB_STATE_STARTED: The job has begun execution after passing validation checks, including data sources, parameters, account balance, and grace period.\n - JOB_STATE_UPLOADING: The job has been retrieved from the partitioner’s job queue and is being sent to the appropriate partitioning engine. Reaching this state confirms the presence of a suitable partitioning engine.\n - JOB_STATE_PARTITIONING: The partitioning engine processes the job and generates multiple chunks, preparing them for further execution.\n - JOB_STATE_PARTITIONED: The partitioning engine has successfully divided the job into chunks, forwarding them to the feeder for distribution. Workers begin fetching and processing these chunks.\n - JOB_STATE_TASKS_COMPLETED: All assigned tasks have been successfully processed by the task runner\n - JOB_STATE_MERGING: The assembler engine retrieves and merges the processed data.\n - JOB_STATE_MERGED: The assembler engine has successfully completed merging the processed chunks. The final result is now prepared for uploading to the specified destination.\n - JOB_STATE_DOWNLOADING: The final output is being saved to the designated data destination.\n - JOB_STATE_COMPLETE: The job lifecycle is successfully completed, and the result has been uploaded to the specified destination.\n - JOB_STATE_FAILED: The job has encountered an error and failed to produce output."},"data_sourceDataSource":{"type":"object","properties":{"dataSourceDescriptor":{"type":"string","description":"Data source selector."},"params":{"$ref":"#/components/schemas/protobufAny","description":"Data source parameters."}},"description":"The data source object specifying configurations for inputs and outputs. Please refer to the dedicated guide for detailed instructions."},"protobufAny":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"jobAppParams":{"type":"object","properties":{"preset":{"type":"string","description":"[Deprecated] Preset configuration. This field is no longer in use."},"partitioner":{"type":"object","description":"Sets parameters for the partitioning engine."},"assembler":{"type":"object","description":"Sets parameters for the assembling engine."},"app":{"type":"object","description":"Sets parameters for the application.."}}},"jobJobTemplate":{"type":"object","properties":{"id":{"type":"string","title":"Unique ID for this Job Template (primary key)"},"owner":{"type":"string","title":"Owner of this Job Template (primary key)"},"description":{"type":"string","title":"Description of this Job Template"},"app":{"type":"string","title":"The application associated with this Job Template"},"partitioner":{"type":"string","title":"How data is partitioned"},"assembler":{"type":"string","title":"How data is assembled/merged"}}},"rpcStatus":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/protobufAny"}}}}}},"paths":{"/jobs":{"get":{"summary":"Get jobs","description":"Get all jobs for user with optional filters","operationId":"Customer_GetAll","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/jobsJobsResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/jobsJobsResponse"}}}},"400":{"description":"Returned when the users sends a malformed request.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"401":{"description":"Returned when the user is not authenticated.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"403":{"description":"Returned when the user does not have permission to access the resource.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"404":{"description":"Returned when the resource does not exist.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"500":{"description":"Returned when an error on the server occurred.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"503":{"description":"Returned when the resource is temporarily unavailable.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}}}},"parameters":[{"schema":{"type":"integer","format":"int64"},"name":"pagination.limit","description":"Number of rows to return per page.","in":"query","required":false},{"schema":{"type":"integer","format":"int64"},"name":"pagination.offset","description":"Number of rows to skip before starting to collect the result set.","in":"query","required":false},{"schema":{"type":"string"},"name":"orderBy","in":"query","required":false}],"tags":["Jobs"]}}}}
```

***

## Get jobs filtered

> Get all jobs for user and filter them

```json
{"openapi":"3.1.1","info":{"title":"ByteNite jobs API","version":"0.1"},"tags":[],"servers":[{"url":"https://api.bytenite.com/v1/customer"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","description":"Your ByteNite access token","name":"Authorization","in":"header"}},"schemas":{"jobsJobsResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/commonPaginatedResponse"},"data":{"type":"array","items":{"$ref":"#/components/schemas/jobJob"}}}},"commonPaginatedResponse":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of transactions available."},"offset":{"type":"integer","format":"int64","description":"The starting position of the current page of results, starting from 0."},"hasPrevious":{"type":"boolean","description":"A boolean value (True/False) indicating whether there's a previous page of results. False if the current page is the first page."},"hasNext":{"type":"boolean","description":"A boolean value indicating whether there's a next page of results."}},"description":"This section provides information about how the results are divided into pages."},"jobJob":{"type":"object","properties":{"id":{"type":"string","title":"Unique id for the job","readOnly":true},"templateId":{"type":"string","title":"Job template to run"},"name":{"type":"string","title":"Human readable name"},"config":{"$ref":"#/components/schemas/jobJobConfig","title":"Job specific parameters"},"priority":{"$ref":"#/components/schemas/jobByteLevel","title":"Execution priority requirements for the job"},"startAt":{"type":"string","format":"date-time","title":"When the job should be run (0 for immediate start)"},"submittedAt":{"type":"string","format":"date-time","title":"Submission date/time for the job request","readOnly":true},"startedAt":{"type":"string","format":"date-time","title":"date/time of the first chunk upload","readOnly":true},"endedAt":{"type":"string","format":"date-time","title":"date/time of completion/failure","readOnly":true},"regions":{"$ref":"#/components/schemas/commonSelectionList","title":"Region to consider (or to exclude) for device selection"},"state":{"$ref":"#/components/schemas/jobJobState","title":"Current job state"},"dataSource":{"$ref":"#/components/schemas/data_sourceDataSource","title":"Input data source"},"params":{"$ref":"#/components/schemas/jobAppParams","description":"A JSON object that should be compatible with the JSONSchema associated to the Job Template specified in template_id","title":"App specific parameters passed to devices"},"dataDestination":{"$ref":"#/components/schemas/data_sourceDataSource","title":"Output data destination"},"duration":{"type":"number","format":"double","title":"Job duration in seconds","readOnly":true},"deletedAt":{"type":"string","format":"date-time","title":"Delete date/time for the job request","readOnly":true},"createdAt":{"type":"string","format":"date-time","title":"Creation time of the job","readOnly":true},"paymentAmount":{"type":"number","format":"double","readOnly":true},"numUnitsEstimation":{"type":"string","format":"int64","readOnly":true},"numChunks":{"type":"integer","format":"int32","readOnly":true},"errorMessage":{"type":"string","readOnly":true},"description":{"type":"string","title":"description of this job"},"stateTimestamps":{"type":"object","additionalProperties":{"type":"string","format":"date-time"},"title":"Timestamps for each state"},"appId":{"type":"string"},"templateInfo":{"$ref":"#/components/schemas/jobJobTemplate"}}},"jobJobConfig":{"type":"object","properties":{"taskTimeout":{"type":"integer","format":"int64","title":"task timeout in seconds"},"jobTimeout":{"type":"integer","format":"int64","title":"job timeout in seconds"},"isTestJob":{"type":"boolean","title":"'true' if this job is a test job"}}},"jobByteLevel":{"type":"string","enum":["EXECUTION_PRIORITY_UNDEFINED","EXECUTION_PRIORITY_CHEAP","EXECUTION_PRIORITY_BALANCED","EXECUTION_PRIORITY_FAST"],"default":"EXECUTION_PRIORITY_UNDEFINED"},"commonSelectionList":{"type":"object","properties":{"blacklist":{"type":"array","items":{"type":"string"}},"whitelist":{"type":"array","items":{"type":"string"}}}},"jobJobState":{"type":"string","enum":["JOB_STATE_NEW","JOB_STATE_STARTED","JOB_STATE_UPLOADING","JOB_STATE_PARTITIONING","JOB_STATE_PARTITIONED","JOB_STATE_TASKS_COMPLETED","JOB_STATE_MERGING","JOB_STATE_MERGED","JOB_STATE_DOWNLOADING","JOB_STATE_COMPLETE","JOB_STATE_FAILED"],"default":"JOB_STATE_NEW","description":" - JOB_STATE_NEW: The job has been created, and the user may still be updating its data sources and parameters.\n - JOB_STATE_STARTED: The job has begun execution after passing validation checks, including data sources, parameters, account balance, and grace period.\n - JOB_STATE_UPLOADING: The job has been retrieved from the partitioner’s job queue and is being sent to the appropriate partitioning engine. Reaching this state confirms the presence of a suitable partitioning engine.\n - JOB_STATE_PARTITIONING: The partitioning engine processes the job and generates multiple chunks, preparing them for further execution.\n - JOB_STATE_PARTITIONED: The partitioning engine has successfully divided the job into chunks, forwarding them to the feeder for distribution. Workers begin fetching and processing these chunks.\n - JOB_STATE_TASKS_COMPLETED: All assigned tasks have been successfully processed by the task runner\n - JOB_STATE_MERGING: The assembler engine retrieves and merges the processed data.\n - JOB_STATE_MERGED: The assembler engine has successfully completed merging the processed chunks. The final result is now prepared for uploading to the specified destination.\n - JOB_STATE_DOWNLOADING: The final output is being saved to the designated data destination.\n - JOB_STATE_COMPLETE: The job lifecycle is successfully completed, and the result has been uploaded to the specified destination.\n - JOB_STATE_FAILED: The job has encountered an error and failed to produce output."},"data_sourceDataSource":{"type":"object","properties":{"dataSourceDescriptor":{"type":"string","description":"Data source selector."},"params":{"$ref":"#/components/schemas/protobufAny","description":"Data source parameters."}},"description":"The data source object specifying configurations for inputs and outputs. Please refer to the dedicated guide for detailed instructions."},"protobufAny":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"jobAppParams":{"type":"object","properties":{"preset":{"type":"string","description":"[Deprecated] Preset configuration. This field is no longer in use."},"partitioner":{"type":"object","description":"Sets parameters for the partitioning engine."},"assembler":{"type":"object","description":"Sets parameters for the assembling engine."},"app":{"type":"object","description":"Sets parameters for the application.."}}},"jobJobTemplate":{"type":"object","properties":{"id":{"type":"string","title":"Unique ID for this Job Template (primary key)"},"owner":{"type":"string","title":"Owner of this Job Template (primary key)"},"description":{"type":"string","title":"Description of this Job Template"},"app":{"type":"string","title":"The application associated with this Job Template"},"partitioner":{"type":"string","title":"How data is partitioned"},"assembler":{"type":"string","title":"How data is assembled/merged"}}},"rpcStatus":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/protobufAny"}}}},"customerGetAllJobsRequest":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/commonLimitOffsetPagination"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/commonFilter"}},"orderBy":{"type":"string"}}},"commonLimitOffsetPagination":{"type":"object","properties":{"limit":{"type":"integer","format":"int64","description":"Number of rows to return per page."},"offset":{"type":"integer","format":"int64","description":"Number of rows to skip before starting to collect the result set."}}},"commonFilter":{"type":"object","properties":{"field":{"type":"string","description":"The field to apply the filter on"},"condition":{"$ref":"#/components/schemas/commonFilterCondition","description":"The condition to apply"},"value":{"type":"object","$ref":"#/components/schemas/protobufAny","description":"The value to filter on. Can be any type."}}},"commonFilterCondition":{"type":"string","enum":["FILTER_CONDITION_EQ","FILTER_CONDITION_NEQ","FILTER_CONDITION_GT","FILTER_CONDITION_GTE","FILTER_CONDITION_LT","FILTER_CONDITION_LTE","FILTER_CONDITION_ARRAY_CONTAINS","FILTER_CONDITION_ARRAY_CONTAINS_ANY","FILTER_CONDITION_IN","FILTER_CONDITION_NOT_IN","FILTER_CONDITION_LIKE"],"default":"FILTER_CONDITION_EQ"}}},"paths":{"/jobs/filter":{"post":{"summary":"Get jobs filtered","description":"Get all jobs for user and filter them","operationId":"Customer_GetAllFiltered","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/jobsJobsResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/jobsJobsResponse"}}}},"400":{"description":"Returned when the users sends a malformed request.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"401":{"description":"Returned when the user is not authenticated.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"403":{"description":"Returned when the user does not have permission to access the resource.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"404":{"description":"Returned when the resource does not exist.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"500":{"description":"Returned when an error on the server occurred.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"503":{"description":"Returned when the resource is temporarily unavailable.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}}}},"tags":["Jobs"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/customerGetAllJobsRequest"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/customerGetAllJobsRequest"}}},"required":true}}}}}
```
