No Products in the Cart
API Docs
By using this API you will have full access to the same range of features found in our apps and website.
1. API Endpoint
The API can be found at: https://api.simplynoted.com/api
All endpoints listed in this documentation refer to this base URL and build off it. For example, the orders endpoint "orders" can be found at the endpoint: https://api.simplynoted.com/api/orders
2. Authentication
2.1. Retrieve Auth Token
Description: Simply Noted uses API keys as bearer tokens to allow access to the
API. You can request an API key from support,
support@simplynoted.com, or you can get a token from
the Account page under "Account Details". Simply Noted
expects for the API key to be included in all API requests to the server in a header that looks like
the following: Authorization: Bearer TOKEN
3. Users
3.1. Create A User
Description: Users are created through the Simply Noted website. To create an account go to https://simplynoted.com/account/register.
4. Products
4.1. Get All Products
Description: This endpoint gets all products and returns the id, title, and image URL.
Endpoint: /products
Method: GET
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
Returns on success:
{ "result": [ { "id": 4392451768425, "title": "Cactus Thank you", "image": "https://cdn.shopify.com/s/files/1/0275/6457/2777/products/Cactus-Thank-You.jpg?v=1574659292" }, { "id": 4392452522089, "title": "Cactus Thanks So Much", "image": "https://cdn.shopify.com/s/files/1/0275/6457/2777/products/Cactus-Thanks-So-Much.jpg?v=1574659363" }, { "id": 4442013139049, "title": "Dark Red Holiday Card", "image": "https://cdn.shopify.com/s/files/1/0275/6457/2777/products/Red.HolidayCard.jpg?v=1576524937" } ], "errors": [] }
4.2. Create Custom Card
Description: This endpoint creates a new Custom Card and returns card details. To
get the urls of Pdf and other images, use the endpoint /customizeCard/uploadPdf
. Keep
isHeaderIncluded and isFooterIncluded values false for folded cards.
Endpoint: /createcustomcard
Method: POST
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
Body:
Key | Type/Values | Required? | Example |
---|---|---|---|
cardName | String | Yes | "Happy Birthday" |
featuredImage | File | Yes | {{upload from local}} |
ownerId | String | Yes | “8011210555635” |
cardType | String | Yes | “flat5x7” / “folded5x7” |
isHeaderIncluded | Boolean | Yes | true |
isFooterIncluded | Boolean | Yes | true |
header | String | Yes | {"data": "https://simplynoted.s3-us-west-1.amazonaws.com/CustomCards/Pradeep_singh_6232622891113_1682687151803.jpg","textAlign": "right","justifyContent": "center","flexDirection": "row","fontType": "Courier New","fontSize": 30,"fontColor": "rgb(255, 0, 0)","zoom": "1","isColored": true,"isImage": true} |
footer | String | Yes | {"data": "Sincerely","textAlign": "left","justifyContent": "center","flexDirection": "row","fontType": "Trebuchet MS","fontSize": 20,"fontColor": "rgb(0, 0, 255)","zoom": "1","isColored": true,"isImage": false} |
faceUrl | String | Yes | "https://simplynoted.s3-us-west-1.amazonaws.com/CustomCards/Pradeep_singh_6232622891113_1682687151992.jpg" |
pdfURL | String | Yes | https://simplynoted.s3-us-west-1.amazonaws.com/CustomCards/16760427 |
Returns on success:
"result": { "product": { "id": 7028151451753, "title": "Happy Birthday", "body_html": null, "vendor": "SimplyNoted", "product_type": "customisable card", "created_at": "2023-05-30T03:04:35-07:00", "handle": "testing-objects", "updated_at": "2023-05-30T03:04:35-07:00", "published_at": "2023-05-30T03:04:35-07:00", "template_suffix": null, "status": "active", "published_scope": "web", "tags": "customise_card", "admin_graphql_api_id": "gid://shopify/Product/7028151451753", "variants": [ { "id": 40656235888745, "product_id": 7028151451753, "title": "2 - 500", "price": "4.35", "sku": "", "position": 1, "inventory_policy": "deny", "compare_at_price": null, "fulfillment_service": "manual", "inventory_management": null, "option1": "2 - 500", "weight_unit": "lb", "inventory_item_id": 42754375975017, "inventory_quantity": 0, "old_inventory_quantity": 0, "requires_shipping": true, } ], "options": [ { "id": 8960398229609, "product_id": 7028151451753, "name": "Title", "position": 1, "values": [ "2 - 500", "501 - 1999", "2000 - 4999", "5000 +", "1" ] } ], "images": [ { "id": 30771818266729, "product_id": 7028151451753, "position": 1, "created_at": "2023-05-30T03:04:35-07:00", "updated_at": "2023-05-30T03:04:35-07:00", "alt": null, "width": 495, "height": 495, "src": "", "variant_ids": [], "admin_graphql_api_id": "gid://shopify/ProductImage/30771818266729" } ] } }, "errors": [] }
Example:
{ "cardName": "Happy Birthday", "featuredImage": "https://simplynoted.s3-us-west-1.amazonaws.com/CustomCards/Pradeep_singh_6232622891113_1682687151992.jpg", "ownerId": "6232622891113", "cardType": "flat5x7", "isHeaderIncluded": true, "isFooterIncluded": true, "header": { "data": "https://simplynoted.s3-us-west-1.amazonaws.com/CustomCards/Pradeep_singh_6232622891113_1682687151992.jpg", "textAlign": "right", "justifyContent": "center", "flexDirection": "column", "fontType": "Courier New", "fontSize": 40, "fontColor": "rgb(255, 0, 0)", "zoom": "1", "isColored": true, "height": 70, "isImage": true }, "footer": { "data": "Footer Testing", "textAlign": "left", "justifyContent": "center", "flexDirection": "column", "fontType": "Trebuchet MS", "fontSize": 20, "fontColor": "rgb(0, 0, 255)", "zoom": "1", "isColored": true }, "faceUrl": "https://simplynoted.s3-us-west-1.amazonaws.com/CustomCards/Pradeep_singh_6232622891113_1682687151992.jpg" "pdfURL": "https://simplynoted.s3-us-west-1.amazonaws.com/CustomCards/1682670620395.pdf" }
To get URLs:
Endpoint: /customizeCard/uploadPDF
Method: POST
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
Body:
Key | Type/Values | Required? | Example |
---|---|---|---|
headerData | String | Yes | { "data": "", "textAlign": "right", "justifyContent": "center", "flexDirection": "column", "fontType": "Courier New", "fontSize": 40, "fontColor": "rgb(255, 0, 0)", "zoom": "1", "isColored": true, "height": 70, "isImage": true } |
footerData | String | Yes | { "data": "Sincerely", "textAlign": "left", "justifyContent": "center", "flexDirection": "column", "fontType": "Trebuchet MS", "fontSize": 20, "fontColor": "rgb(0, 0, 255)", "zoom": "1", "isColored": true } |
headerImage | File | No | Local file |
faceImage | File | No | Local file |
footerImage | File | No | Local file |
name | String | Yes | full_name_customerId_ |
5. Orders
5.1. Create An Order
Description: This endpoint creates an Order. If any required properties are missing an error will be returned.
Endpoint: /orders
Method: POST
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
Body:
Key | Type | Required? | Example |
---|---|---|---|
productId | String | Yes | "4392452522089" |
giftVariantId | String | No | "39532031672425" (Note: See below for more) |
handwritingStyle | String | Yes | "Tarzan" |
customMessage | String | Yes | "This is my custom message.
Use a hard return for a new line." |
signoff | String | No | "Yours Sincerely,
David" |
shippingDate | String | No | "01/01/2020" |
returnAddressId | String | No | "ID_OF_RETURN_ADDRESS" |
returnAddress | Object<Return Object> | Yes | See Below |
recipientData | Array<Recipient Object> | Yes | See Below |
Recipient Object:
Key | Type | Required? | Example |
---|---|---|---|
First Name | String | No | "John" |
Last Name | String | No | "Appleseed" |
String | No | "john@simplynoted.com" | |
Phone | String | No | "+15555551234" |
Address | String | Yes | "123 S Street" |
Address 2 | String | No | "Suite 100" |
City | String | Yes | "Metropolis" |
State | String | Yes | "Smallville" |
Country | String | No | "USA" |
Zip | String | Yes | "12345" |
Company | String | No | "ACME, Inc." |
Custom 1 | String | No | "My custom value" |
Custom 2 | String | No | "Another Ccustom value" |
Custom 3 | String | No | "And A third" |
Return Object:
Key | Type | Required? | Example |
---|---|---|---|
firstName | String | Yes | "John" |
lastName | String | Yes | "Appleseed" |
businessName | String | No | "ACME Inc" |
address1 | String | Yes | "123 W Elm Street" |
address2 | String | No | "Unit 123" |
city | String | Yes | "Metropolis" |
state | String | Yes | "Texas" |
zip | String | Yes | "12345" |
country | String | Yes | "United States" |
Returns on success:
{ "result": "Order created.", "errors": [] }
Example:
{ "productId": "ID_OF_PRODUCT_YOU_ARE_ORDERING", "handwritingStyle": "Tarzan", "customMessage": "This is my custom message", "signoff": "Yours Sincerely", "shippingDate": "", "templateId": "ID_OF_THE_TEMPLATE_YOU_WANT_TO_USE", "recipientData": [ { "First Name": "John", "Last Name": "Appleseed", "Address": "123 S Street", "Address 2": "", "City": "Metropolis", "State": "Smallville", "Zip": "12345", "Phone": "+15555551234", "Email": "john@simplynoted.com", "Company": "ACME, Inc.", "Custom 1": "", "Custom 2": "", "Custom 3": "", } ] }
Types of Gift Cards:
- Starbucks Gift Card
- Amazon Gift Card
- Visa Gift Card
- Home Depot Gift Card
- Lowe’s Gift Card
Variant | ID |
---|---|
$5 for $7.95 | "39532032786537" |
$10 for $12.95 | "39532032819305" |
$25 for $27.95 | "39532032852073" |
$50 for $52.95 | "39532032884841" |
Variant | ID |
---|---|
$10 for $12.95 | "39532031672425" |
$25 for $27.95 | "39532031705193" |
$50 for $52.95 | "39532031737961" |
Variant | ID |
---|---|
$25 for 29.95 | "39532033146985" |
$50 for 57.95 | "39532033179753" |
$100 for 108.95 | "39532033212521" |
Variant | ID |
---|---|
$25 for $27.95 | "39532029378665" |
$50 for $52.95 | "39532029411433" |
$100 for $102.95 | "39532029444201" |
$200 for $202.95 | "39532029476969" |
Variant | ID |
---|---|
$25 for $27.95 | "39532032262249" |
$50 for $52.95 | "39532032295017" |
$100 for $102.95 | "39532032327785" |
$200 for $202.95 | "39532032360553" |
6. Payments
Please Note: For security reasons you cannot create or store cedit cards from the Simply Noted API. Credit cards can only be added via SimplyNoted.com. You can set up your stored credit card on your user's account page. https://simplynoted.com/account
To receive bulk discounts and a smoother checkout process please purchase Simply Noted Credits. These credits will be used for purchases made via API with stored credit card information referenced as a fallback when no credits are available. Simply Noted Credits can be purchased HERE.
6.1. Get All Stored Credit Cards
Description: This endpoint retrieves all credit cards stored on your account.
Endpoint: /creditcards
Method: GET
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
Returns on success:
{ "result": [ { "_id": "4c1aa14ca35a0f00179355b0", "cardData": { "card_brand": "VISA", "last_4": "1111", "exp_month": 11, "exp_year": 2021, "cardholder_name": "Jane Doe", "billing_address": { "postal_code": "85251", "country": "US" } }, "updated": "2020-01-12T04:32:12.846Z", "created": "2020-01-12T04:32:12.846Z" } ], "errors": [] }
7. Templates
7.1. Create A Template
Description: This endpoint creates a Template. If any required properties are missing an error will be returned.
Endpoint: /templates
Method: POST
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
Body:
Key | Type | Required? | Example |
---|---|---|---|
productId | String | Yes | "4392452522089" |
handwritingStyle | String | Yes | "Tarzan" |
customMessage | String | Yes | "This is my custom message" |
Returns on success:
{ "result": { "_id": "5e1b61a80d9234514cb1e983a", "productId": "4460979552361", "handwritingStyle": "Tarzan", "customMessage": "This is my custom message", "ownerId": "5e1a6f1d63458234017a962a3", "updated": "2020-01-01T00:00:00.000Z", "created": "2020-01-01T00:00:00.000Z", "__v": 0 }, "errors": [] }
Example:
{ "productId": "4460979552361", "handwritingStyle": "Tarzan", "customMessage": "This is my custom message" }
7.2. Retrieve All Templates
Description: This endpoint gets all Templates.
Endpoint: /templates
Method: GET
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
Returns on success:
{ "result": [ { "_id": "5e1b5123fe1a7f10021c2b04", "productId": "4460979552361", "handwritingStyle": "Tarzan", "customMessage": "This is my custom message", "ownerId": "5e1a6f1d616d871237a962a3", "updated": "2020-01-12T18:00:25.020Z", "created": "2020-01-12T18:00:25.020Z", "__v": 0 }, { "_id": "5e1b61a80d92f711231e983a", "productId": "4460979552361", "handwritingStyle": "Tarzan", "customMessage": "This is my custom message 2", "ownerId": "5e1a6f1d616d871237a962a3", "updated": "2020-01-12T18:12:56.945Z", "created": "2020-01-12T18:12:56.945Z", "__v": 0 } ], "errors": [] }
7.3. Retrieve A Single Template
Description: This endpoint gets a single Template.
Endpoint: /templates/:templateId
Method: GET
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
URL Parameters:
Parameter | Type | Required? | Example |
---|---|---|---|
templateId | String | Yes | "5e1b5123fe1a7f10021c2b04" |
Returns on success:
{ "result": { "_id": "5e1b5123fe1a7f10021c2b04", "productId": "4460979552361", "handwritingStyle": "Tarzan", "customMessage": "This is my custom message", "ownerId": "5e1a6f1d616d871237a962a3", "updated": "2020-01-12T18:00:25.020Z", "created": "2020-01-12T18:00:25.020Z", "__v": 0 }, "errors": [] }
7.4. Update A Template
Description: This endpoint updates a Template. If any required properties are missing an error will be returned.
Endpoint: /templates/:templateId
Method: PUT
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
URL Parameters:
Parameter | Type | Required? | Example |
---|---|---|---|
templateId | String | Yes | "5e1b5123fe1a7f10021c2b04" |
Body:
Key | Type | Required? | Example |
---|---|---|---|
productId | String | Yes | "4392452522089" |
handwritingStyle | String | Yes | "Stitch" |
customMessage | String | Yes | "This is my custom message" |
Returns on success:
{ "result": { "productId": "4392452522089", "handwritingStyle": "Stitch", "customMessage": "This is my custom message" }, "errors": [] }
Example:
{ "productId": "4392452522089", "handwritingStyle": "Stitch", "customMessage": "This is my custom message" }
8. Addresses
8.1. Create An Address
Description: This endpoint creates an Address. If any required properties are missing an error will be returned.
Endpoint: /addresses
Method: POST
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
Body:
Key | Type | Required? | Example |
---|---|---|---|
firstName | String | Yes | "Johnny" |
lastName | String | Yes | "Appleseed" |
businessName | String | No | "ACME Inc" |
address1 | String | Yes | "123 S Maple Street" |
address2 | String | No | "Unit 123" |
city | String | Yes | "Metropolis" |
state | String | Yes | "Texas" |
zip | String | Yes | "12345" |
country | String | Yes | "United States" |
type | String | Yes | "recipient" OR "return" |
Returns on success:
{ "result": { "_id": "5ea1101e9680607558e3ff77", "firstName": "Johnny", "lastName": "Appleseed", "businessName": "ACME Inc", "address1": "123 S Maple Street", "address2": "Unit 123", "city": "Metropolis", "state": "Texas", "zip": "12345", "country": "United States", "type": "return" }, "errors": [] }
Example:
{ "firstName": "Johnny", "lastName": "Appleseed", "businessName": "ACME Inc", "address1": "123 S Maple Street", "address2": "Unit 123", "city": "Metropolis", "state": "Texas", "zip": "12345", "country": "United States", "type": "return" }
8.2. Retrieve All Addresses
Description: This endpoint gets all Addresses.
Endpoint: /addresses
Method: GET
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
URL Parameters:
Name | Type | Value | Required? |
---|---|---|---|
type | String | "return" OR "recipient" | No |
Returns on success:
{ "result": [ { "_id": "5ea1101e9680607558e3ff77", "firstName": "Johnny", "lastName": "Appleseed", "businessName": "ACME Inc", "address1": "123 S Maple Street", "address2": "Unit 123", "city": "Metropolis", "state": "Texas", "zip": "12345", "country": "United States", "type": "return" } ], "errors": [] }
8.3. Retrieve A Single Address
Description: This endpoint gets a single address.
Endpoint: /addresses/:addressId
Method: GET
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
URL Parameters:
Parameter | Type | Required? | Example |
---|---|---|---|
addressId | String | Yes | "5ea1101e9680607558e3ff77" |
Returns on success:
{ "result": { "_id": "5ea1101e9680607558e3ff77", "firstName": "Johnny", "lastName": "Appleseed", "businessName": "ACME Inc", "address1": "123 S Maple Street", "address2": "Unit 123", "city": "Metropolis", "state": "Texas", "zip": "12345", "country": "United States", "type": "return" }, "errors": [] }
8.4. Update An Address
Description: This endpoint updates an address. If any required properties are missing an error will be returned.
Endpoint: /addresses/:addressId
Method: PUT
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
URL Parameters:
Parameter | Type | Required? | Example |
---|---|---|---|
addressId | String | Yes | "5ea1101e9680607558e3ff77" |
Body:
Key | Type | Required? | Example |
---|---|---|---|
firstName | String | Yes | "Johnny" |
lastName | String | Yes | "Appleseed" |
businessName | String | No | "ACME Inc" |
address1 | String | Yes | "123 S Maple Street" |
address2 | String | No | "Unit 123" |
city | String | Yes | "Metropolis" |
state | String | Yes | "Texas" |
zip | String | Yes | "12345" |
country | String | Yes | "United States" |
type | String | Yes | "recipient" OR "return" |
Returns on success:
{ "result": { "_id": "5ea1101e9680607558e3ff77", "firstName": "Johnny", "lastName": "Appleseed", "businessName": "ACME Inc", "address1": "123 S Maple Street", "address2": "Unit 123", "city": "Metropolis", "state": "Texas", "zip": "12345", "country": "United States", "type": "return" }, "errors": [] }
Example:
{ "firstName": "Johnny", "lastName": "Appleseed", "businessName": "ACME Inc", "address1": "123 S Maple Street", "address2": "Unit 123", "city": "Metropolis", "state": "Texas", "zip": "12345", "country": "United States", "type": "return" }
8.5. Delete A Single Address
Description: This endpoint deletes a single address.
Endpoint: /addresses/:addressId
Method: DELETE
Headers:
Name | Value | Required? |
---|---|---|
Content-Type | application/json | Yes |
Authorization | Bearer TOKEN_HERE | Yes |
URL Parameters:
Parameter | Type | Required? | Example |
---|---|---|---|
addressId | String | Yes | "5ea1101e9680607558e3ff77" |
Returns on success:
{ "result": { "deletedCount": 1 }, "errors": [] }
9. Available Handwriting Styles
9.1. Examples
Description: Below you can preview the available handwriting styles that can be leveraged by the API.
Tarzan:
The quick brown fox jumps over the lazy dog
Stitch:
The quick brown fox jumps over the lazy dog
Pinocchio:
The quick brown fox jumps over the lazy dog
Simba:
The quick brown fox jumps over the lazy dog
Roo:
The quick brown fox jumps over the lazy dog
Nemo:
The quick brown fox jumps over the lazy dog
Lumiere:
The quick brown fox jumps over the lazy dog
Kaa:
The quick brown fox jumps over the lazy dog
Dumbo:
The quick brown fox jumps over the lazy dog
Bolt:
The quick brown fox jumps over the lazy dog
Belle:
The quick brown fox jumps over the lazy dog
Cinderella:
The quick brown fox jumps over the lazy dog
Hercules:
The quick brown fox jumps over the lazy dog
Merlin:
The quick brown fox jumps over the lazy dog
Rapunzel:
The quick brown fox jumps over the lazy dog
Scar:
The quick brown fox jumps over the lazy dog








Type in words or a phrase to use our AI Assistant to
help generate a great message.