---
agentTools:
  projectIndex: https://cmai.readme.io/llms.txt
---

# Create marketplace text proposals

Create a marketplace text proposal. Use the 'aiLayout' property to select the desired text type.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "version": "1.3.39",
    "title": "Conversion Maker AI API",
    "termsOfService": "https://conversionmaker.ai/agb/",
    "description": "This is the public API description of Conversion Maker AI. A project with an active plan is required to use the API. The API Key and the ID of the project can be found in the project settings.\n",
    "contact": {
      "email": "helpdesk@conversionmaker.ai",
      "name": "Conversion Maker AI",
      "url": "https://conversionmaker.ai"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "servers": [
    {
      "url": "https://app.conversionmaker.ai/api/v1",
      "description": "production"
    },
    {
      "url": "https://app.stage.conversionmaker.ai/api/v1",
      "description": "preview"
    },
    {
      "url": "http://localhost:3000/api/v1",
      "description": "development"
    }
  ],
  "tags": [
    {
      "name": "Text Generation",
      "description": "Everything about AI text generation"
    }
  ],
  "paths": {
    "/ai/proposals/marketplaces": {
      "post": {
        "tags": [
          "Text Generation"
        ],
        "summary": "Create marketplace text proposals",
        "description": "Create a marketplace text proposal. Use the 'aiLayout' property to select the desired text type.",
        "operationId": "createAiProposalsForMarketplaces",
        "parameters": [
          {
            "$ref": "#/components/parameters/projectId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "entityId",
                  "name",
                  "type",
                  "aiLayout"
                ],
                "properties": {
                  "entityId": {
                    "type": "string",
                    "example": "6281e87139dac8dfb01c4483"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 250,
                    "example": "BBQ-PRO Gasgrill M-1000"
                  },
                  "manufacturer": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 250,
                    "description": "Required for \"MARKETPLACE_TEXT_AMAZON_TITLE\", \"MARKETPLACE_TEXT_AMAZON_HIGHLIGHTS\", \"MARKETPLACE_TEXT_KAUFLAND_TITLE\", \"MARKETPLACE_TEXT_KAUFLAND_KEYWORDS\", \"MARKETPLACE_TEXT_KAUFLAND_DESCRIPTION\", \"MARKETPLACE_TEXT_OTTO_TITLE\",  \"MARKETPLACE_TEXT_OTTO_DESCRIPTION\", \"MARKETPLACE_TEXT_OTTO_BULlET_POINTS\", \"MARKETPLACE_TEXT_BOL_TITLE\", \"MARKETPLACE_TEXT_BOL_DESCRIPTION\", \"MARKETPLACE_TEXT_EBAY_TITLE\", \"MARKETPLACE_TEXT_EBAY_SUB_TITLE\", \"MARKETPLACE_TEXT_EBAY_DESCRIPTION\", \"MARKETPLACE_TEXT_SHOP_APOTHEKE_TITLE\", \"MARKETPLACE_TEXT_SHOP_APOTHEKE_LONG_DESCRIPTION\", \"MARKETPLACE_TEXT_SHOP_APOTHEKE_SHORT_DESCRIPTION\", \"MARKETPLACE_TEXT_ALLEGRO_TITLE\" and \"MARKETPLACE_TEXT_ALLEGRO_DESCRIPTION\""
                  },
                  "keywords": {
                    "type": "string",
                    "example": "Gasgrill, Gasgriller, Camping Gasgrill"
                  },
                  "properties": {
                    "description": "Used and required for all aiLayouts EXCEPT \"MARKETPLACE_TEXT_AMAZON_A_PLUS_CONTENT\"",
                    "type": "string",
                    "minLength": 50,
                    "maxLength": 5000,
                    "example": "Deckel und Gehäuse aus stabilem Aluguss.\nAnti-Haft-Guss-Grillrost verhindert das Ankleben von Grillgut.\nStufenlos regelbares Brennerventil für perfekte Grillergebnisse.\nHerausnehmbare Fettauffangschale zur einfachen Reinigung.\n"
                  },
                  "feature": {
                    "description": "Only used and required for aiLayout \"MARKETPLACE_TEXT_AMAZON_A_PLUS_CONTENT\"",
                    "type": "string",
                    "minLength": 50,
                    "maxLength": 500,
                    "example": "Stufenlos regelbares Brennerventil für perfekte Grillergebnisse.\nHerausnehmbare Fettauffangschale zur einfachen Reinigung.\n"
                  },
                  "type": {
                    "$ref": "#/components/schemas/MarketplaceTextType"
                  },
                  "formOfAddress": {
                    "$ref": "#/components/schemas/FormOfAddress"
                  },
                  "aiLayout": {
                    "$ref": "#/components/schemas/AiLayoutMarketplace"
                  },
                  "targetLanguage": {
                    "$ref": "#/components/schemas/LanguageCode"
                  },
                  "imageInputUrls": {
                    "$ref": "#/components/schemas/ImageInputUrls"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/AiApiProposalResponse"
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "402": {
            "$ref": "#/components/responses/402"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "405": {
            "$ref": "#/components/responses/405"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "projectId": {
        "name": "projectId",
        "in": "query",
        "description": "The project ID",
        "required": true,
        "example": "6282171639dac8dfb01c44a0",
        "schema": {
          "type": "string",
          "minLength": 24,
          "maxLength": 24
        }
      }
    },
    "responses": {
      "400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "status",
                "message",
                "code"
              ],
              "properties": {
                "status": {
                  "type": "integer",
                  "description": "The response status code",
                  "example": 400
                },
                "message": {
                  "type": "string",
                  "description": "The response status message",
                  "example": "Bad Request"
                },
                "code": {
                  "type": "integer",
                  "description": "The internal error code",
                  "example": 1669810156
                },
                "data": {
                  "type": "object",
                  "description": "Any additional information regarding the error"
                }
              }
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "status",
                "message",
                "code"
              ],
              "properties": {
                "status": {
                  "type": "integer",
                  "description": "The response status code",
                  "example": 401
                },
                "message": {
                  "type": "string",
                  "description": "The response status message",
                  "example": "Unauthorized"
                },
                "code": {
                  "type": "integer",
                  "description": "The internal error code",
                  "example": 1669810156
                }
              }
            }
          }
        }
      },
      "402": {
        "description": "Payment required",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "status",
                "message",
                "code"
              ],
              "properties": {
                "status": {
                  "type": "integer",
                  "description": "The response status code",
                  "example": 402
                },
                "message": {
                  "type": "string",
                  "description": "The response status message",
                  "example": "Payment required"
                },
                "code": {
                  "type": "integer",
                  "description": "The internal error code",
                  "example": 1669810156
                }
              }
            }
          }
        }
      },
      "403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "status",
                "message",
                "code"
              ],
              "properties": {
                "status": {
                  "type": "integer",
                  "description": "The response status code",
                  "example": 403
                },
                "message": {
                  "type": "string",
                  "description": "The response status message",
                  "example": "Forbidden"
                },
                "code": {
                  "type": "integer",
                  "description": "The internal error code",
                  "example": 1669810156
                }
              }
            }
          }
        }
      },
      "405": {
        "description": "Method not allowed",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "status",
                "message",
                "code",
                "data"
              ],
              "properties": {
                "status": {
                  "type": "integer",
                  "description": "The response status code",
                  "example": 405
                },
                "message": {
                  "type": "string",
                  "description": "The response status message",
                  "example": "Method not allowed"
                },
                "code": {
                  "type": "integer",
                  "description": "The internal error code",
                  "example": 1669810156
                },
                "data": {
                  "type": "object",
                  "properties": {
                    "allowedMethods": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "description": "The allowed HTTP request methods",
                        "example": "POST"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "429": {
        "description": "Too many requests",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "status",
                "message",
                "code"
              ],
              "properties": {
                "status": {
                  "type": "integer",
                  "description": "The response status code",
                  "example": 429
                },
                "message": {
                  "type": "string",
                  "description": "The response status message",
                  "example": "Too many requests"
                },
                "code": {
                  "type": "integer",
                  "description": "The internal error code",
                  "example": 1669810156
                }
              }
            }
          }
        }
      },
      "AiApiProposalResponse": {
        "description": "Created",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "integer",
                  "format": "int32",
                  "description": "HTTP status code",
                  "example": 200
                },
                "message": {
                  "type": "string",
                  "description": "HTTP status message",
                  "example": "OK"
                },
                "data": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "object",
                      "properties": {
                        "hasTokenLimit": {
                          "type": "boolean",
                          "description": "Indicates that the token limit was reached"
                        },
                        "badQuality": {
                          "type": "boolean",
                          "description": "Indicates that the results are below of bad quality"
                        },
                        "requestCount": {
                          "type": "integer",
                          "description": "Actual number of GPT-3 requests"
                        },
                        "translationFailed": {
                          "type": "boolean",
                          "description": "True when translation has failed."
                        },
                        "proposals": {
                          "type": "array",
                          "description": "Generated text proposals",
                          "items": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "description": "Generated text",
                                "example": "Lorem ipsum dolor sit amet ..."
                              },
                              "wordCount": {
                                "type": "integer",
                                "format": "int32",
                                "description": "Text word count",
                                "example": 86
                              },
                              "score": {
                                "type": "integer",
                                "format": "int32",
                                "description": "Text score",
                                "example": 78
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "description": "Inserted ID of the proposal",
                                "example": "62987800268630e421462b8b"
                              }
                            }
                          }
                        }
                      }
                    },
                    "credits": {
                      "type": "object",
                      "properties": {
                        "withdrawn": {
                          "type": "integer",
                          "format": "int32",
                          "example": 200,
                          "description": "Credits withdrawn for this request"
                        },
                        "remaining": {
                          "type": "integer",
                          "format": "int32",
                          "example": 125885,
                          "description": "Remaining credits for the project. 0 when project has enterprise subscription."
                        },
                        "isEnterprise": {
                          "type": "boolean",
                          "description": "True when project has enterprise subscription"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key"
      }
    },
    "schemas": {
      "FormOfAddress": {
        "type": "string",
        "enum": [
          "FORMAL",
          "INFORMAL",
          "INFORMAL_LOWERCASE",
          "NEUTRAL",
          "PLURAL_INFORMAL",
          "PLURAL_FORMAL"
        ],
        "description": "If omitted the AI will tend to keep the form of address as seen in the given inputs. Only available for da-DK, fr-FR, de-DE, de-AT, de-CH, it-IT, pl-Pl, pt-PT, es-ES, ru-RU, cs-CZ. The form of address in other languages are not supported and will result in an error.\n\nINFORMAL_LOWERCASE is only available for: \n\n* de-DE\n\n* de-AT\n\n* de-CH\n"
      },
      "ImageInputUrls": {
        "description": "Image URLs for additional input information (max. 10)",
        "type": "array",
        "items": {
          "type": "string",
          "description": "Image URL",
          "example": "https://www.example.com/assets/product-x.jpg"
        }
      },
      "AiLayoutMarketplace": {
        "type": "string",
        "enum": [
          "MARKETPLACE_TEXT_AMAZON_TITLE",
          "MARKETPLACE_TEXT_AMAZON_HIGHLIGHTS",
          "MARKETPLACE_TEXT_AMAZON_ATTRIBUTES",
          "MARKETPLACE_TEXT_AMAZON_DESCRIPTION",
          "MARKETPLACE_TEXT_AMAZON_A_PLUS_CONTENT",
          "MARKETPLACE_TEXT_AMAZON_HIDDEN_KEYWORDS",
          "MARKETPLACE_TEXT_KAUFLAND_TITLE",
          "MARKETPLACE_TEXT_KAUFLAND_KEYWORDS",
          "MARKETPLACE_TEXT_KAUFLAND_DESCRIPTION",
          "MARKETPLACE_TEXT_OTTO_TITLE",
          "MARKETPLACE_TEXT_OTTO_DESCRIPTION",
          "MARKETPLACE_TEXT_OTTO_BULLET_POINTS",
          "MARKETPLACE_TEXT_BOL_TITLE",
          "MARKETPLACE_TEXT_BOL_DESCRIPTION",
          "MARKETPLACE_TEXT_EBAY_TITLE",
          "MARKETPLACE_TEXT_EBAY_SUB_TITLE",
          "MARKETPLACE_TEXT_EBAY_CONDITION",
          "MARKETPLACE_TEXT_EBAY_DESCRIPTION",
          "MARKETPLACE_TEXT_SHOP_APOTHEKE_TITLE",
          "MARKETPLACE_TEXT_SHOP_APOTHEKE_LONG_DESCRIPTION",
          "MARKETPLACE_TEXT_SHOP_APOTHEKE_SHORT_DESCRIPTION",
          "MARKETPLACE_TEXT_ALLEGRO_TITLE",
          "MARKETPLACE_TEXT_ALLEGRO_DESCRIPTION"
        ]
      },
      "MarketplaceTextType": {
        "type": "string",
        "enum": [
          "AMAZON",
          "KAUFLAND",
          "OTTO",
          "BOL",
          "EBAY",
          "SHOP_APOTHEKE",
          "ALLEGRO"
        ],
        "default": "AMAZON"
      },
      "LanguageCode": {
        "type": "string",
        "enum": [
          "bg-BG",
          "cs-CZ",
          "da-DK",
          "de-AT",
          "de-CH",
          "de-DE",
          "el-GR",
          "en-GB",
          "en-US",
          "es-ES",
          "et-EE",
          "fi-FI",
          "fr-FR",
          "hu-HU",
          "id-ID",
          "it-IT",
          "ja-JP",
          "ko-KR",
          "lt-LT",
          "lv-LV",
          "nb-NO",
          "nl-NL",
          "pl-PL",
          "pt-BR",
          "pt-PT",
          "ro-RO",
          "ru-RU",
          "sk-SK",
          "sl-SI",
          "sv-SE",
          "tr-TR",
          "uk-UA"
        ],
        "default": "de-DE"
      }
    }
  },
  "externalDocs": {
    "url": "https://cmai.readme.io/"
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "_id": {
    "buffer": {
      "0": 106,
      "1": 130,
      "2": 200,
      "3": 239,
      "4": 192,
      "5": 46,
      "6": 118,
      "7": 90,
      "8": 69,
      "9": 252,
      "10": 178,
      "11": 217
    }
  }
}
```