AutomationFlowsGeneral › Test SudoMock API: All 7 Operations

Test SudoMock API: All 7 Operations

Original n8n title: Sudomock - Complete API Test (all 7 Operations)

SudoMock - Complete API Test (All 7 Operations). Uses n8n-nodes-sudomock. Event-driven trigger; 11 nodes.

Event trigger★★★★☆ complexity11 nodesN8N Nodes Sudomock
General Trigger: Event Nodes: 11 Complexity: ★★★★☆ Added:

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 →

Download .json
{
  "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": []
}
Pro

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 →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

SudoMock - Rate Limit Error Handling Test. Uses n8n-nodes-sudomock. Event-driven trigger; 9 nodes.

N8N Nodes Sudomock
General

SudoMock - Sequential Batch Render (10 Renders). Uses n8n-nodes-sudomock. Event-driven trigger; 8 nodes.

N8N Nodes Sudomock
General

Blotato. Uses googleSheets, @blotato/n8n-nodes-blotato. Event-driven trigger; 65 nodes.

Google Sheets, @Blotato/N8N Nodes Blotato
General

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.

Stop And Error
General

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.

Stop And Error