The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "SudoMock - Complete API Test (All 7 Operations)",
"nodes": [
{
"parameters": {},
"id": "a1111111-1111-1111-1111-111111111111",
"name": "When clicking Test workflow",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
240,
300
]
},
{
"parameters": {
"operation": "getAccountInfo"
},
"id": "b2222222-2222-2222-2222-222222222222",
"name": "1. Get Account Info",
"type": "n8n-nodes-sudomock.sudoMock",
"typeVersion": 1,
"position": [
460,
300
],
"notes": "Test credentials and retrieve account details"
},
{
"parameters": {
"operation": "uploadPsd",
"psdFileUrl": "https://drive.usercontent.google.com/download?id=1CVh67lYHkyCHRw6NGJYYWLRar65E6b9K&export=download",
"psdName": "Test Mockup - API Test Workflow"
},
"id": "c3333333-3333-3333-3333-333333333333",
"name": "2. Upload PSD",
"type": "n8n-nodes-sudomock.sudoMock",
"typeVersion": 1,
"position": [
680,
300
],
"notes": "Upload test PSD template from URL"
},
{
"parameters": {
"operation": "getMockup",
"getMockupUuid": "={{ $json.data.uuid }}"
},
"id": "d4444444-4444-4444-4444-444444444444",
"name": "3. Get Mockup Details",
"type": "n8n-nodes-sudomock.sudoMock",
"typeVersion": 1,
"position": [
900,
300
],
"notes": "Retrieve uploaded mockup details and smart objects"
},
{
"parameters": {
"operation": "listMockups",
"returnAll": false,
"limit": 10,
"additionalOptions": {
"sort": "created_at",
"order": "desc"
}
},
"id": "e5555555-5555-5555-5555-555555555555",
"name": "4. List All Mockups",
"type": "n8n-nodes-sudomock.sudoMock",
"typeVersion": 1,
"position": [
1120,
300
],
"notes": "List mockups with sorting by creation date"
},
{
"parameters": {
"maxItems": 1
},
"id": "e5555556-5555-5555-5555-555555555555",
"name": "4b. Take First Item",
"type": "n8n-nodes-base.limit",
"typeVersion": 1,
"position": [
1250,
300
],
"notes": "Return to single item after List operation"
},
{
"parameters": {
"operation": "render",
"mockupUuid": "={{ $('3. Get Mockup Details').item.json.data.uuid }}",
"smartObjects": {
"items": [
{
"uuid": "={{ $('3. Get Mockup Details').item.json.data.smart_objects[0].uuid }}",
"assetUrl": "https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=1000&q=80",
"fit": "cover",
"additionalOptions": {
"rotate": 0,
"brightness": 5,
"contrast": 5,
"opacity": 100
}
}
]
},
"exportOptions": {
"imageFormat": "webp",
"imageSize": 1920,
"quality": 95,
"exportLabel": "test-render"
}
},
"id": "f6666666-6666-6666-6666-666666666666",
"name": "5. Render Mockup",
"type": "n8n-nodes-sudomock.sudoMock",
"typeVersion": 1,
"position": [
1340,
300
],
"notes": "Generate mockup with Unsplash design image"
},
{
"parameters": {
"operation": "updateMockup",
"updateMockupUuid": "={{ $('3. Get Mockup Details').item.json.data.uuid }}",
"newName": "UPDATED Test Mockup - API Test"
},
"id": "g7777777-7777-7777-7777-777777777777",
"name": "6. Update Mockup Name",
"type": "n8n-nodes-sudomock.sudoMock",
"typeVersion": 1,
"position": [
1560,
300
],
"notes": "Update mockup name to verify PATCH operation"
},
{
"parameters": {
"operation": "getMockup",
"getMockupUuid": "={{ $('3. Get Mockup Details').item.json.data.uuid }}"
},
"id": "h8888888-8888-8888-8888-888888888888",
"name": "7. Verify Name Update",
"type": "n8n-nodes-sudomock.sudoMock",
"typeVersion": 1,
"position": [
1780,
300
],
"notes": "Get mockup again to confirm name was updated"
},
{
"parameters": {
"operation": "deleteMockup",
"deleteMockupUuid": "={{ $('3. Get Mockup Details').item.json.data.uuid }}"
},
"id": "i9999999-9999-9999-9999-999999999999",
"name": "8. Delete Test Mockup",
"type": "n8n-nodes-sudomock.sudoMock",
"typeVersion": 1,
"position": [
2000,
300
],
"notes": "Clean up - delete the test mockup"
},
{
"parameters": {
"values": {
"string": [
{
"name": "test_status",
"value": "=\u2705 All 7 operations tested successfully!"
},
{
"name": "account_email",
"value": "={{ $('1. Get Account Info').item.json.data.account.email }}"
},
{
"name": "uploaded_mockup_uuid",
"value": "={{ $('2. Upload PSD').item.json.data.uuid }}"
},
{
"name": "mockup_name_before_update",
"value": "={{ $('3. Get Mockup Details').item.json.data.name }}"
},
{
"name": "mockup_name_after_update",
"value": "={{ $('7. Verify Name Update').item.json.data.name }}"
},
{
"name": "total_mockups_found",
"value": "={{ $('4. List All Mockups').all().length }}"
},
{
"name": "rendered_image_url",
"value": "={{ $('5. Render Mockup').item.json.renderedImageUrl }}"
},
{
"name": "smart_object_count",
"value": "={{ $('3. Get Mockup Details').item.json.data.smart_objects.length }}"
},
{
"name": "deleted_mockup_uuid",
"value": "={{ $('8. Delete Test Mockup').item.json.data.uuid }}"
}
]
},
"options": {}
},
"id": "j0000000-0000-0000-0000-000000000000",
"name": "Test Summary",
"type": "n8n-nodes-base.set",
"typeVersion": 1,
"position": [
2220,
300
],
"notes": "Summary of all test results"
}
],
"connections": {
"When clicking Test workflow": {
"main": [
[
{
"node": "1. Get Account Info",
"type": "main",
"index": 0
}
]
]
},
"1. Get Account Info": {
"main": [
[
{
"node": "2. Upload PSD",
"type": "main",
"index": 0
}
]
]
},
"2. Upload PSD": {
"main": [
[
{
"node": "3. Get Mockup Details",
"type": "main",
"index": 0
}
]
]
},
"3. Get Mockup Details": {
"main": [
[
{
"node": "4. List All Mockups",
"type": "main",
"index": 0
}
]
]
},
"5. Render Mockup": {
"main": [
[
{
"node": "6. Update Mockup Name",
"type": "main",
"index": 0
}
]
]
},
"6. Update Mockup Name": {
"main": [
[
{
"node": "7. Verify Name Update",
"type": "main",
"index": 0
}
]
]
},
"7. Verify Name Update": {
"main": [
[
{
"node": "8. Delete Test Mockup",
"type": "main",
"index": 0
}
]
]
},
"8. Delete Test Mockup": {
"main": [
[
{
"node": "Test Summary",
"type": "main",
"index": 0
}
]
]
},
"4. List All Mockups": {
"main": [
[
{
"node": "4b. Take First Item",
"type": "main",
"index": 0
}
]
]
},
"4b. Take First Item": {
"main": [
[
{
"node": "5. Render Mockup",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"staticData": null,
"tags": []
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
SudoMock - Complete API Test (All 7 Operations). Uses n8n-nodes-sudomock. Event-driven trigger; 11 nodes.
Source: https://github.com/sudomock/n8n-nodes-sudomock/blob/main/examples/complete-test-workflow.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
SudoMock - Rate Limit Error Handling Test. Uses n8n-nodes-sudomock. Event-driven trigger; 9 nodes.
SudoMock - Sequential Batch Render (10 Renders). Uses n8n-nodes-sudomock. Event-driven trigger; 8 nodes.
Blotato. Uses googleSheets, @blotato/n8n-nodes-blotato. Event-driven trigger; 65 nodes.
This template is a hands-on, practical exam designed to help you master n8n Expressions—the key to accessing and manipulating data in your workflows.
This template is a hands-on, practical exam designed to test your understanding of the fundamental JSON data types. It's the perfect way to solidify your knowledge after learning the basics.