AppDirect DataUploader API
The DataUploader API from AppDirect — 3 operation(s) for datauploader.
The DataUploader API from AppDirect — 3 operation(s) for datauploader.
openapi: 3.0.0
info:
description: The Companies API allows developers to manage marketplace companies and their user memberships.
title: Companies AI Embed DataUploader API
license:
name: Apache License, Version 2.0
url: http://www.apache.org/licenses/LICENSE-2.0
version: v296.0-SNAPSHOT
servers:
- url: https://marketplace.appdirect.com/api
- url: https://virtserver.swaggerhub.com
tags:
- name: DataUploader
x-displayName: Product Uploader
paths:
/api/v1/product-uploader-api/updateCatalog:
post:
description: Update an existing product catalog using a CSV file. This endpoint allows you to modify existing product information in the catalog.
tags:
- DataUploader
summary: Update product catalog
operationId: resource_DataUploader_updateCatalog_POST
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
description: CSV file containing product catalog data to update
type: string
format: binary
entityType:
description: Type of entity being uploaded (e.g., PRODUCT_BASIC)
type: string
enum:
- EDITION
- PRICING_PLAN
- EDITION_PRICING
- PRODUCT_SETTING_GENERAL
- PRODUCT_SETTING_CATEGORY
- PRODUCT_SETTING_PRODUCT_LINE
- PRODUCT_SETTING_ATTRIBUTE
- MARKETPLACE_PRICE
- PRODUCTION_PRICE
- WHOLESALE_PRICE
- PRODUCT_CUSTOM_ATTRIBUTE
- PRODUCT_BASIC
- PRODUCT_FEATURE
- PRODUCT_BENEFIT
- PRODUCT_MEDIA
- PRODUCT_FEATURE_CHARACTERISTIC
- PRODUCT_IMAGE
- PRICE_BOOK
- PRODUCT_INTEGRATION
- PRODUCT_INTEGRATION_CREDENTIAL
required:
- file
- entityType
required: true
responses:
'200':
description: Catalog updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogUploadResponse'
examples:
response:
value:
message: Uploaded the file successfully
data:
file:
fieldname: file
originalname: test.csv
encoding: 7bit
mimetype: text/csv
destination: /app/resources/static/uploads
filename: 1750151421696_Single CSV Template (69).csv
path: /app/resources/static/uploads/1750151421696_Single CSV Template (69).csv
size: 3420
processId: 4e4b146c-47dd-4b19-ac00-8214ff1e286d
'400':
description: Bad request - Invalid file format or entity type
'401':
description: Unauthorized
'500':
description: Internal server error
x-codeSamples:
- lang: Shell + Curl
source: "curl --request POST \\\n --url https://marketplace.appdirect.com/api/api/v1/product-uploader-api/updateCatalog \\\n --header 'content-type: multipart/form-data'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://marketplace.appdirect.com/api/api/v1/product-uploader-api/updateCatalog',\n headers: {'content-type': 'multipart/form-data'}\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/v1/product-uploader-api/updateCatalog\")\n .post(null)\n .addHeader(\"content-type\", \"multipart/form-data\")\n .build();\n\nResponse response = client.newCall(request).execute();"
/api/v1/product-uploader-api/createCatalog:
post:
description: Create a new product catalog using a CSV file. This endpoint allows you to create a completely new catalog with product information.
tags:
- DataUploader
summary: Create product catalog
operationId: resource_DataUploader_createCatalog_POST
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
description: CSV file containing product catalog data to create
type: string
format: binary
entityType:
description: Type of entity being uploaded (e.g., PRODUCT_CONSOLIDATED)
type: string
enum:
- CATALOG_CONSOLIDATED
- PRODUCT_CONSOLIDATED
- PRICE_BOOK_SCHEDULE
required:
- file
- entityType
required: true
responses:
'200':
description: Catalog created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogUploadResponse'
examples:
response:
value:
message: Uploaded the file successfully
data:
file:
fieldname: file
originalname: Single CSV Template.csv
encoding: 7bit
mimetype: text/csv
destination: /app/resources/static/uploads
filename: 1750151421697_Product Catalog Template.csv
path: /app/resources/static/uploads/1750151421697_Product Catalog Template.csv
size: 5120
processId: 5f5c257d-58ee-5c2a-bd11-9325ff2f397e
'400':
description: Bad request - Invalid file format or entity type
'401':
description: Unauthorized
'500':
description: Internal server error
x-codeSamples:
- lang: Shell + Curl
source: "curl --request POST \\\n --url https://marketplace.appdirect.com/api/api/v1/product-uploader-api/createCatalog \\\n --header 'content-type: multipart/form-data'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://marketplace.appdirect.com/api/api/v1/product-uploader-api/createCatalog',\n headers: {'content-type': 'multipart/form-data'}\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/v1/product-uploader-api/createCatalog\")\n .post(null)\n .addHeader(\"content-type\", \"multipart/form-data\")\n .build();\n\nResponse response = client.newCall(request).execute();"
/api/v1/product-uploader-api/publishCatalog:
post:
description: Publish a product catalog using a CSV file. This endpoint makes the catalog available for use in the marketplace.
tags:
- DataUploader
summary: Publish product catalog
operationId: resource_DataUploader_publishCatalog_POST
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
description: CSV file containing product catalog data to publish
type: string
format: binary
entityType:
description: Type of entity being uploaded (e.g., PRODUCT)
type: string
enum:
- PRODUCT
required:
- file
- entityType
required: true
responses:
'200':
description: Catalog published successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogUploadResponse'
examples:
response:
value:
message: Uploaded the file successfully
data:
file:
fieldname: file
originalname: Publish Catalog Template.csv
encoding: 7bit
mimetype: text/csv
destination: /app/resources/static/uploads
filename: 1750151421698_Publish Catalog Template.csv
path: /app/resources/static/uploads/1750151421698_Publish Catalog Template.csv
size: 2800
processId: 6g6d368e-69ff-6d3b-ce22-0436ff3f408f
'400':
description: Bad request - Invalid file format or entity type
'401':
description: Unauthorized
'500':
description: Internal server error
x-codeSamples:
- lang: Shell + Curl
source: "curl --request POST \\\n --url https://marketplace.appdirect.com/api/api/v1/product-uploader-api/publishCatalog \\\n --header 'content-type: multipart/form-data'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://marketplace.appdirect.com/api/api/v1/product-uploader-api/publishCatalog',\n headers: {'content-type': 'multipart/form-data'}\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/api/v1/product-uploader-api/publishCatalog\")\n .post(null)\n .addHeader(\"content-type\", \"multipart/form-data\")\n .build();\n\nResponse response = client.newCall(request).execute();"
components:
schemas:
UploadedFile:
title: UploadedFile
description: Details of the uploaded file
type: object
properties:
fieldname:
type: string
description: Name of the form field used for file upload
originalname:
type: string
description: Original filename of the uploaded file
encoding:
type: string
description: Encoding of the uploaded file
mimetype:
type: string
description: MIME type of the uploaded file
destination:
type: string
description: Directory where the file was saved
filename:
type: string
description: Generated filename for the saved file
path:
type: string
description: Full path to the saved file
size:
type: number
description: Size of the uploaded file in bytes
required:
- fieldname
- originalname
- encoding
- mimetype
- destination
- filename
- path
- size
CatalogUploadResponse:
title: CatalogUploadResponse
description: Response returned after a successful catalog upload operation
type: object
properties:
message:
type: string
description: Success message describing the operation result
data:
type: object
description: Data containing file upload details and process information
properties:
file:
$ref: '#/components/schemas/UploadedFile'
processId:
type: string
description: Unique process identifier for tracking the upload operation
required:
- file
- processId
required:
- message
- data
example:
message: Uploaded the file successfully
data:
file:
fieldname: file
originalname: Single CSV Template (69).csv
encoding: 7bit
mimetype: text/csv
destination: /app/resources/static/uploads
filename: 1750151421696_Single CSV Template (69).csv
path: /app/resources/static/uploads/1750151421696_Single CSV Template (69).csv
size: 3420
processId: 4e4b146c-47dd-4b19-ac00-8214ff1e286d