---
updatedAt: 2025-10-01T00:54:47.000Z
agentTools:
  projectIndex: https://dev.kevel.com/llms.txt
---

# Submit Job

Create Ads from Products via API

If you're using Kevel [Catalog](https://dev.kevel.com/docs/catalog), the Submit Job endpoint allows you to create ads directly from product data using the asynchronous create ads from products Jobs endpoint. This is the recommended way to create product-based ads in Kevel. You'll provide an ad template, Flight ID, and either a list of product IDs or a product query, and Kevel will create ads derived from product data stored in Catalog. Learn more about [linking products to ads](https://dev.kevel.com/docs/linking-catalog-items-to-ads) and [creating ads from products](https://dev.kevel.com/docs/creating-ads-from-products-via-api) in the knowledge base.

<br />

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "kevel-management-jobs-service",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.kevel.co/v1/job"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Kevel-ApiKey"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/": {
      "post": {
        "summary": "Submit Job",
        "description": "Create Ads from Products via API",
        "operationId": "submit-jobs",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "TaskId": {
                    "type": "string",
                    "description": "The type of task you are submitting. Currently only `create-ads-from-products` and `create-ads-from-product-query` are supported.",
                    "enum": [
                      "create-ads-from-products",
                      "create-ads-from-product-query",
                      "create-native-product-ad"
                    ]
                  },
                  "TaskArgs": {
                    "type": "object",
                    "description": "Arguments specific to your TaskId",
                    "properties": {
                      "ProductUris": {
                        "type": "array",
                        "description": "Array of ItemDB product URIs. Example URI: `itemdb://12345/100/01936422964`. Structure is `itemdb://{network_id}/{catalog_id}/{item_id}`",
                        "items": {
                          "type": "string"
                        }
                      },
                      "FlightId": {
                        "type": "integer",
                        "description": "ID of the Flight that Ads should be associated with",
                        "format": "int32"
                      },
                      "AdTemplateUri": {
                        "type": "string",
                        "description": "The ItemDB URI of the Ad Template to be used for creating Ads from product data. Example URI: `itemdb://12345/101/0e9321b3-1446-47ec-b1d7-705bfb7b3fb5`. Structure: `itemdb://{network_id}/{ad_templates_table_id}/{template_uuid}`"
                      },
                      "Overrides": {
                        "type": "object",
                        "description": "Note that Overrides is a mapping of ItemDB URIs to arrays of objects. Each ItemDB URI specified must be present in ProductUris",
                        "properties": {
                          "<ItemDB URI 1>": {
                            "type": "array",
                            "items": {
                              "properties": {
                                "source": {
                                  "type": "string",
                                  "description": "Either the source field from the product or a scalar value (for `constant` Ops)"
                                },
                                "target": {
                                  "type": "array",
                                  "description": "Array of strings representing the path into the `ad` or `creative` where the source value should be saved.",
                                  "default": [],
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "op": {
                                  "type": "string",
                                  "description": "How the source should be mapped to the target.",
                                  "enum": [
                                    "constant",
                                    "literal",
                                    "stringify",
                                    "stringify-array"
                                  ]
                                }
                              },
                              "type": "object"
                            }
                          },
                          "<ItemDB URI 2>": {
                            "type": "array",
                            "items": {
                              "properties": {
                                "source": {
                                  "type": "string",
                                  "description": "Either the source field from the product or a scalar value (for `constant` Ops)"
                                },
                                "target": {
                                  "type": "array",
                                  "description": "Array of strings representing the path into the `ad` or `creative` where the source value should be saved.",
                                  "default": [],
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "op": {
                                  "type": "string",
                                  "description": "How the source should be mapped to the target.",
                                  "enum": [
                                    "constant",
                                    "literal",
                                    "stringify",
                                    "stringify-array"
                                  ]
                                }
                              },
                              "type": "object"
                            }
                          }
                        }
                      },
                      "ProductQuery": {
                        "type": "array"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n    \"CompletedTime\": null,\n    \"TaskId\": \"create-ads-from-products\",\n    \"NetworkId\": 11245,\n    \"Status\": \"available\",\n    \"TaskArgs\": {\n        \"ProductUris\": [\n            \"itemdb://11261/270/82731247\"\n        ],\n        \"AdTemplateUri\": \"itemdb://11245/101/6330ac20-a9ab-11ee-a04e-c92952d71bab\",\n        \"FlightId\": 332150093\n    },\n    \"AvailableTime\": \"2023-06-02T20:20:52.419028\",\n    \"Output\": {},\n    \"Id\": 9000,\n    \"PartitionId\": null\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "CompletedTime": {},
                    "TaskId": {
                      "type": "string",
                      "example": "create-ads-from-products"
                    },
                    "NetworkId": {
                      "type": "integer",
                      "example": 11245,
                      "default": 0
                    },
                    "Status": {
                      "type": "string",
                      "example": "available"
                    },
                    "TaskArgs": {
                      "type": "object",
                      "properties": {
                        "ProductUris": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "itemdb://11261/270/82731247"
                          }
                        },
                        "AdTemplateUri": {
                          "type": "string",
                          "example": "itemdb://11245/101/6330ac20-a9ab-11ee-a04e-c92952d71bab"
                        },
                        "FlightId": {
                          "type": "integer",
                          "example": 332150093,
                          "default": 0
                        }
                      }
                    },
                    "AvailableTime": {
                      "type": "string",
                      "example": "2023-06-02T20:20:52.419028"
                    },
                    "Output": {
                      "type": "object",
                      "properties": {}
                    },
                    "Id": {
                      "type": "integer",
                      "example": 9000,
                      "default": 0
                    },
                    "PartitionId": {}
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```