Skip to main content

PrintCart Rest API (1.0.0)

Download OpenAPI specification:Download

PrintCart REST API Doc.

Authentication

PrintCart offers two forms of authentication:

  • Basic Auth
  • UnAuthToken

BasicAuth

  • The client sends HTTP requests with the Authorization header that contains the word Basic word followed by a space and a base64-encoded string
Security Scheme Type: HTTP
HTTP Authorization Scheme:

UnAuthToken

  • Some Printcart API endpoints don't need your username and password to authenticate. Those endpoints only interact with your public data so the code can be shared publicly.
  • To request to those endpoints, you only need to send UnAuthToken in the X-PrintCart-Unauth-Token header
Security Scheme Type: API Key
Header parameter name: X-PrintCart-Unauth-Token

Account

Create Account

Request Body schema: application/json
name
required
string

Customer name

email
required
string <email>

The email address for the customer.

password
required
string
  • Require at least 8 characters
  • Require at least one number
  • Require at least one symbol
  • Require at least one uppercase and one lowercase letter

Responses

Request samples

Content type
application/json
{
  • "name": "admin",
  • "email": "admin@example.com",
  • "password": "Password1234@"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Created successfully"
}

Get Account Info

Authorizations:
BasicAuth

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Retrieved successfully"
}

Update Account Details

Authorizations:
BasicAuth
Request Body schema: application/json
name
string

Customer name.

email
string <email>

The email address for the customer.

Responses

Request samples

Content type
application/json
{
  • "name": "admin",
  • "email": "admin@example.com"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Updated successfully"
}

Store

Create Store

Authorizations:
BasicAuth
Request Body schema: application/json
store_name
required
string

Customer store name

google_font_api
string

API Key Google Font

unsplash
string

API Key Unsplash

pixabay
string

API Key Pixabay

pexels
string

API Key Pexels

Responses

Request samples

Content type
application/json
{
  • "store_name": "Store Example",
  • "google_font_api": "string",
  • "unsplash": "string",
  • "pixabay": "string",
  • "pexels": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Created successfully"
}

Get Store Info

Authorizations:
BasicAuth
query Parameters
limit
integer
Default: 20

The numbers of items to return

sort
string
Default: "desc"
Enum: "desc" "asc"
sortBy
string
Default: "id"

Responses

Response samples

Content type
application/json
{}

Update Store Details

Authorizations:
BasicAuth
Request Body schema: application/json
store_name
string

Customer store name

google_font_api
string

API Key Google Font

unsplash
string

API Key Unsplash

pixabay
string

API Key Pixabay

pexels
string

API Key Pexels

Responses

Request samples

Content type
application/json
{
  • "store_name": "Store Example",
  • "google_font_api": "string",
  • "unsplash": "string",
  • "pixabay": "string",
  • "pexels": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Updated successfully"
}

Delete a store

Authorizations:
BasicAuth

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted successfully"
}

Get Store Details

Authorizations:
BasicAuthUnAuthToken

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Retrieved successfully"
}

Renew UnAuth Token

Authorizations:
BasicAuth

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Updated successfully"
}

Product

Create Product

Authorizations:
BasicAuth
Request Body schema: application/json
name
required
string

The name given to a product

dynamic_side
boolean
viewport_width
number <float>
viewport_height
number <float>
scale
number <float>
dpi
integer <int64>
Default: 72
dimension_unit
string
Default: "cm"
Enum: "inch" "cm"
status
string
Default: "publish"
Enum: "publish" "draft" "trashed"

Product status

allowed_file_types
Array of strings
Items Enum: "jpg" "png" "ai" "pdf" "svg" "ps"
enable_design
boolean
enable_upload
boolean
enable_pod
boolean
Default: false

True if you want the product to be published on our POD page

product_image_id
string

Image ID.

max_file_upload
integer <int64>
Default: 1
min_jpg_dpi
integer <int64>
Default: 0
type_id
string
Enum: "simple" "variant" "variant_option"
description
string

Product description

category_ids
Array of strings

Category ID (Storage ID)

parent_id
string

Product ID

upload_max_filesize
integer

Limit file upload size

metadata
Array of arrays

Responses

Request samples

Content type
application/json
{
  • "name": "Product Example",
  • "dynamic_side": true,
  • "viewport_width": 50.5,
  • "viewport_height": 50.5,
  • "scale": 50.5,
  • "dpi": 72,
  • "dimension_unit": "inch",
  • "status": "publish",
  • "allowed_file_types": [
    ],
  • "enable_design": false,
  • "enable_upload": false,
  • "enable_pod": false,
  • "product_image_id": "e8304b84-a015-3bd4-a7d3-7a978f465df2",
  • "max_file_upload": 500,
  • "min_jpg_dpi": 500,
  • "type_id": "simple",
  • "description": null,
  • "category_ids": [
    ],
  • "parent_id": null,
  • "upload_max_filesize": null,
  • "metadata": [
    ]
}

Response samples

Content type
application/json
{}

Get a list of products

Authorizations:
BasicAuthUnAuthToken
query Parameters
limit
integer
Default: 20

The numbers of items to return

sort
string
Default: "desc"
Enum: "desc" "asc"
sortBy
string
Default: "id"
status
string
Default: "publish"
Enum: "publish" "draft" "trashed"

Product status

Responses

Response samples

Content type
application/json
{}

Get Product Details

Authorizations:
BasicAuthUnAuthToken
path Parameters
productId
required
string

Product ID

Responses

Response samples

Content type
application/json
{}

Update Product Details

Authorizations:
BasicAuth
path Parameters
productId
required
string

Product ID

Request Body schema: application/json
name
string

Updated name of the product

dynamic_side
boolean
viewport_width
number <float>
viewport_height
number <float>
scale
number <float>
dpi
integer <int64>
dimension_unit
string
Enum: "inch" "cm"
status
string
Enum: "publish" "draft" "trashed"

Product status

allowed_file_types
Array of strings
Items Enum: "jpg" "png" "ai" "pdf" "ps"
max_file_upload
integer <int64>
min_jpg_dpi
integer <int64>
enable_design
boolean
enable_upload
boolean
enable_pod
boolean

True if you want the product to be published on our POD page

product_image_id
string

Image ID.

description
string

Product description

category_ids
Array of strings

Category ID (Storage ID)

upload_max_filesize
integer

Limit file upload size

metadata
Array of arrays

Responses

Request samples

Content type
application/json
{
  • "name": "product example update",
  • "dynamic_side": true,
  • "viewport_width": 50.5,
  • "viewport_height": 50.5,
  • "scale": 50.5,
  • "dpi": 100,
  • "dimension_unit": "inch",
  • "status": "publish",
  • "allowed_file_types": [
    ],
  • "max_file_upload": 500,
  • "min_jpg_dpi": 500,
  • "enable_design": false,
  • "enable_upload": false,
  • "enable_pod": false,
  • "product_image_id": "e8304b84-a015-3bd4-a7d3-7a978f465df2",
  • "description": null,
  • "category_ids": [
    ],
  • "upload_max_filesize": null,
  • "metadata": [
    ]
}

Response samples

Content type
application/json
{}

Delete a product

Authorizations:
BasicAuth
path Parameters
productId
required
string

Product ID

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted successfully"
}

Create batch products

Authorizations:
BasicAuth
Request Body schema: application/json
Array of objects (Product)
Array
name
required
string

The name given to a product

dynamic_side
boolean
viewport_width
number <float>
viewport_height
number <float>
scale
number <float>
dpi
integer <int64>
Default: 72
dimension_unit
string
Default: "cm"
Enum: "inch" "cm"
status
string
Default: "publish"
Enum: "publish" "draft" "trashed"

Product status

allowed_file_types
Array of strings
Items Enum: "jpg" "png" "ai" "pdf" "svg" "ps"
enable_design
boolean
enable_upload
boolean
enable_pod
boolean
Default: false

True if you want the product to be published on our POD page

product_image_id
string

Image ID.

max_file_upload
integer <int64>
Default: 1
min_jpg_dpi
integer <int64>
Default: 0
type_id
string
Enum: "simple" "variant" "variant_option"
description
string

Product description

category_ids
Array of strings

Category ID (Storage ID)

parent_id
string

Product ID

upload_max_filesize
integer

Limit file upload size

metadata
Array of arrays

Responses

Request samples

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

Response samples

Content type
application/json
{}

Update batch products

Authorizations:
BasicAuth
Request Body schema: application/json
Array of objects
Array
id
required
string

Product ID.

name
string

Updated name of the product

dynamic_side
boolean
viewport_width
number <float>
viewport_height
number <float>
scale
number <float>
dpi
integer <int64>
dimension_unit
string
Enum: "inch" "cm"
status
string
Enum: "publish" "draft" "trashed"

Product status

allowed_file_types
Array of strings
Items Enum: "jpg" "png" "ai" "pdf" "ps"
max_file_upload
integer <int64>
min_jpg_dpi
integer <int64>
enable_design
boolean
enable_upload
boolean
enable_pod
boolean

True if you want the product to be published on our POD page

product_image_id
string

Image ID

description
string

Product description

upload_max_filesize
integer

Limit file upload size

metadata
Array of arrays

Responses

Request samples

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

Response samples

Content type
application/json
{}

Delete batch products

Authorizations:
BasicAuth
Request Body schema: application/json
Array of objects
Array
id
required
string

Product ID

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "Deleted successfully"
}

Get a count of products

Authorizations:
BasicAuth

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Retrieved successfully"
}

Get a list of designs by product

Authorizations:
BasicAuth
path Parameters
productId
required
string

Product ID

query Parameters
limit
integer
Default: 20

The numbers of items to return

sort
string
Default: "desc"
Enum: "desc" "asc"
sortBy
string
Default: "id"
status
string
Default: "publish"
Enum: "publish" "draft" "trashed"

Product status

Responses

Response samples

Content type
application/json
{}

Get a list of sides by product

Authorizations:
BasicAuthUnAuthToken
path Parameters
productId
required
string

Product ID

query Parameters
limit
integer

The numbers of items to return

sort
string
Default: "desc"
Enum: "desc" "asc"
sortBy
string
Default: "id"

Responses

Response samples

Content type
application/json
{}

Get a count of designs by product

Authorizations:
BasicAuth
path Parameters
productId
required
string

Product ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Retrieved successfully"
}

Get a count of sides by product

Authorizations:
BasicAuth
path Parameters
productId
required
string

Product ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Retrieved successfully"
}

Side

Create new product side

Authorizations:
BasicAuth
Request Body schema: application/json
product_id
required
string

Product ID

name
required
string

The name given to a side

bg_type
string
Default: "image"
Enum: "color" "image" "transparent"
bg_color_value
string
img_overlay_id
string
scale
required
number <double>
background_included
boolean
show_overlay
boolean
include_overlay
boolean
object
object
show_cut_line
boolean
object
show_safe_zone
boolean
object
side_image_id
required
string
status
string
Default: "publish"
Enum: "publish" "draft" "trashed"

Side status

Responses

Request samples

Content type
application/json
{
  • "product_id": "962af342-a2c9-4665-bb5d-cb208258d958",
  • "name": "Side Example",
  • "bg_type": "image",
  • "bg_color_value": "red",
  • "img_overlay_id": "e8304b84-a015-3bd4-a7d3-7a978f465df2",
  • "scale": 100,
  • "background_included": true,
  • "show_overlay": true,
  • "include_overlay": true,
  • "side_image_size": {
    },
  • "design_area": {
    },
  • "show_cut_line": true,
  • "cut_line_margin": {
    },
  • "show_safe_zone": true,
  • "safe_zone_margin": {
    },
  • "side_image_id": "e8304b84-a015-3bd4-a7d3-7a978f465df2",
  • "status": "publish"
}

Response samples

Content type
application/json
{}

Get a list of product sides

Authorizations:
BasicAuthUnAuthToken
query Parameters
limit
integer
Default: 20

The numbers of items to return

sort
string
Default: "desc"
Enum: "desc" "asc"
sortBy
string
Default: "id"
status
string
Default: "publish"
Enum: "publish" "draft" "trashed"

Side status

Responses

Response samples

Content type
application/json
{}

Get product side details

Authorizations:
BasicAuthUnAuthToken
path Parameters
sideId
required
string

Side ID

Responses

Response samples

Content type
application/json
{}

Update a product side details

Authorizations:
BasicAuth
path Parameters
sideId
required
string

Side ID

Request Body schema: application/json
product_id
string

Product ID

name
string

The name given to a side

bg_type
string
Default: "image"
Enum: "color" "image" "transparent"
bg_color_value
string
img_overlay_id
string
scale
number <double>
background_included
boolean
show_overlay
boolean
include_overlay
boolean
object
object
show_cut_line
boolean
object
show_safe_zone
boolean
object
side_image_id
string
status
string
Default: "publish"
Enum: "publish" "draft" "trashed"

Side status

Responses

Request samples

Content type
application/json
{
  • "product_id": "962af342-a2c9-4665-bb5d-cb208258d958",
  • "name": "Side Example",
  • "bg_type": "image",
  • "bg_color_value": "red",
  • "img_overlay_id": "e8304b84-a015-3bd4-a7d3-7a978f465df2",
  • "scale": 100,
  • "background_included": true,
  • "show_overlay": true,
  • "include_overlay": true,
  • "side_image_size": {
    },
  • "design_area": {
    },
  • "show_cut_line": true,
  • "cut_line_margin": {
    },
  • "show_safe_zone": true,
  • "safe_zone_margin": {
    },
  • "side_image_id": "e8304b84-a015-3bd4-a7d3-7a978f465df2",
  • "status": "publish"
}

Response samples

Content type
application/json
{}

Delete a product side

Authorizations:
BasicAuth
path Parameters
sideId
required
string

Side ID

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted successfully"
}

Create batch sides

Authorizations:
BasicAuth
Request Body schema: application/json
Array of objects (Side)
Array
product_id
required
string

Product ID

name
required
string

The name given to a side

bg_type
string
Default: "image"
Enum: "color" "image" "transparent"
bg_color_value
string
img_overlay_id
string
scale
required
number <double>
background_included
boolean
show_overlay
boolean
include_overlay
boolean
object
object
show_cut_line
boolean
object
show_safe_zone
boolean
object
side_image_id
required
string
status
string
Default: "publish"
Enum: "publish" "draft" "trashed"

Side status

Responses

Request samples

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

Response samples

Content type
application/json
{}

Update batch sides

Authorizations:
BasicAuth
Request Body schema: application/json
Array of objects
Array
id
required
string

Side ID

name
string

The name given to a side

bg_type
string
Default: "image"
Enum: "color" "image" "transparent"
bg_color_value
string
img_overlay_id
string
scale
number <double>
background_included
boolean
show_overlay
boolean
include_overlay
boolean
object
object
show_cut_line
boolean
object
show_safe_zone
boolean
object
side_image_id
string
status
string
Default: "publish"
Enum: "publish" "draft" "trashed"

Side status

Responses

Request samples

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

Response samples

Content type
application/json
{}

Delete batch sides

Authorizations:
BasicAuth
Request Body schema: application/json
Array of objects
Array
id
required
string

Side ID

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "Deleted successfully"
}

Get a list of templates by side

Authorizations:
BasicAuthUnAuthToken
path Parameters
sideId
required
string

Side ID

query Parameters
limit
integer
Default: 20

The numbers of items to return

sort
string
Default: "desc"
Enum: "desc" "asc"
sortBy
string
Default: "id"

Responses

Response samples

Content type
application/json
{}

Get a count of product sides

Authorizations:
BasicAuth

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Retrieved successfully"
}

Image

Add new image

Authorizations:
BasicAuthUnAuthToken
Request Body schema: multipart/form-data
file
string <binary>

Image to upload

type
string
Default: null
Enum: null "cliparts" "designs"
custom_width
integer <int64>

Custom width thumbnail image

Responses

Response samples

Content type
application/json
{}

Get a list of images

Authorizations:
BasicAuthUnAuthToken
query Parameters
limit
integer

The numbers of items to return

sort
string
Default: "desc"
Enum: "desc" "asc"
sortBy
string
Default: "id"

Responses

Response samples

Content type
application/json

Get image details

Authorizations:
BasicAuth
path Parameters
imageId
required
string

Image ID

Responses

Response samples

Content type
application/json
{}

Delete a image

Authorizations:
BasicAuth
path Parameters
imageId
required
string

Image Id

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted successfully"
}

Add new batch images

Authorizations:
BasicAuthUnAuthToken
Request Body schema: multipart/form-data
files[]
string <binary>

Multiple File Images Upload

type
string
Default: null
Enum: null "cliparts" "designs"

Responses

Response samples

Content type
application/json
{}

Get a count of images

Authorizations:
BasicAuth

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Retrieved successfully"
}

Clipart

Add new Clipart

Authorizations:
BasicAuth
Request Body schema: multipart/form-data
file
string <binary>

Clipart to upload

Responses

Response samples

Content type
application/json
{}

Get a list of cliparts

Authorizations:
BasicAuthUnAuthToken
query Parameters
limit
integer

The numbers of items to return

sort
string
Default: "desc"
Enum: "desc" "asc"
sortBy
string
Default: "id"

Responses

Response samples

Content type
application/json

Get a list of cliparts default

Authorizations:
BasicAuthUnAuthToken
query Parameters
limit
integer

The numbers of items to return

sort
string
Default: "desc"
Enum: "desc" "asc"
sortBy
string
Default: "id"

Responses

Response samples

Content type
application/json

Get clipart details

Authorizations:
BasicAuthUnAuthToken
path Parameters
clipartId
required
string

Clipart ID

Responses

Response samples

Content type
application/json
{}

Update clipart details

Authorizations:
BasicAuth
path Parameters
clipartId
required
string

Clipart ID

Request Body schema: application/json
storages
Array of arrays

Storage ID

Responses

Request samples

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

Response samples

Content type
application/json
{}

Delete a clipart

Authorizations:
BasicAuth
path Parameters
clipartId
required
string

Clipart Id

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted successfully"
}

Add new batch clipart

Authorizations:
BasicAuth
Request Body schema: multipart/form-data
files[]
string <binary>

ultiple File Cliparts Upload

Responses

Response samples

Content type
application/json
{}

Get a count of cliparts

Authorizations:
BasicAuthUnAuthToken

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Retrieved successfully"
}

Get a count of cliparts default

Authorizations:
BasicAuthUnAuthToken

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Retrieved successfully"
}

Design

Create new design

Authorizations:
BasicAuthUnAuthToken
Request Body schema: application/json
project_id
string

Project ID

side_id
required
string

Side ID

preview_image_id
string

Image ID

design_image_id
string

Image ID

note
string
is_uploader
boolean
Default: false
layers
Array of objects

Lorem ipsum...

status
string
Default: "processing"
Enum: "accepted" "processing" "declined" "trashed"

Design status

viewport_width
number <float>
viewport_height
number <float>
</