{
  "info": {
    "name": "Cardly — mcp.ai",
    "description": "REST API for the Cardly MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/cardly",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "cardly_create_contact_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/contact/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "contact",
            "list"
          ]
        },
        "description": "Tool to add a new contact list. Use after defining name and optional custom fields, before populating the list with contacts.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"fields\": \"\",\n  \"description\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_create_invitation",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/invitation",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "invitation"
          ]
        },
        "description": "Tool to send an invitation to use your organisation portal. Use when you need to grant access to a new user by their email address. If the email already has access, the API will return an appropriate ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\",\n  \"lastName\": \"\",\n  \"firstName\": \"\",\n  \"permissions\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_create_webhook",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/webhook",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "webhook"
          ]
        },
        "description": "Tool to create a new webhook subscription. Use when you need Cardly to notify your application via HTTP POST for specific events.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"events\": \"\",\n  \"metadata\": {},\n  \"targetUrl\": \"\",\n  \"description\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_delete_invitation",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/invitation",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "invitation"
          ]
        },
        "description": "Tool to delete an invitation by unique ID, immediately invalidating it for acceptance. Use when you need to revoke a pending invitation using its ID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_delete_invitation_by_email",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/invitation/by/email",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "invitation",
            "by",
            "email"
          ]
        },
        "description": "Deletes a pending invitation by email address, immediately invalidating it and preventing acceptance. This action is idempotent - deleting a non-existent invitation returns success. Use when you need ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_delete_user",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "user"
          ]
        },
        "description": "Tool to delete a user by unique ID, immediately revoking their access to your organisation portal. Use when removing user access is required. Cannot remove users with administrator privileges - attemp",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_delete_user_by_email",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/user/by/email",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "user",
            "by",
            "email"
          ]
        },
        "description": "Deletes a user by email address, immediately revoking their access to your organisation portal. This action cannot remove users with administrator privileges. Use when you need to revoke user access, ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_delete_webhook",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/webhook",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "webhook"
          ]
        },
        "description": "Tool to delete a webhook. Use after confirming the webhook ID to immediately cease all activity and event subscriptions for that webhook.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_echo_request",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/echo/request",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "echo",
            "request"
          ]
        },
        "description": "Tool to echo all request parameters, body, and headers for debugging purposes. Use when validating authentication or testing API connectivity without affecting account data.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"bar\": \"\",\n  \"foo\": \"\",\n  \"test\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_generate_preview",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/generate/preview",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "generate",
            "preview"
          ]
        },
        "description": "Tool to generate a low-quality, watermarked preview document for a card. Use after confirming artwork and template details to estimate costs and delivery.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"style\": {},\n  \"sender\": {},\n  \"artwork\": \"\",\n  \"messages\": {},\n  \"shipToMe\": false,\n  \"template\": \"\",\n  \"recipient\": {},\n  \"variables\": {},\n  \"shippingMethod\": \"\",\n  \"requestedArrival\": \"\",\n  \"purchaseOrderNumber\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_get_artwork",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/artwork",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "artwork"
          ]
        },
        "description": "Tool to retrieve information on a specific piece of artwork by its unique ID. Use when you need to fetch detailed artwork data including preview images, media specifications, and metadata. The ID can ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_get_webhook",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/webhook",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "webhook"
          ]
        },
        "description": "Tool to get details on an existing webhook. Use this to retrieve information about a webhook's configuration, including its target URL, subscribed events, status, and metadata.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_artwork",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/artwork",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "artwork"
          ]
        },
        "description": "Tool to retrieve the currently available artwork for your organisation. Use when you need to list and paginate artwork items, optionally filtering to only your own artwork.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"ownOnly\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_contact_lists",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/contact/lists",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "contact",
            "lists"
          ]
        },
        "description": "Tool to retrieve all active contact lists for your organization. Use when you need to list and paginate contact lists with their custom fields and automation rules.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_credit_history",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/credit/history",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "credit",
            "history"
          ]
        },
        "description": "Retrieves the account's credit transaction history showing all credits and debits. Returns a paginated list of balance changes with timestamps, amounts, and descriptions. Use to audit spending, review",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"effectiveTime.gt\": \"\",\n  \"effectiveTime.lt\": \"\",\n  \"effectiveTime.gte\": \"\",\n  \"effectiveTime.lte\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_doodles",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/doodles",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "doodles"
          ]
        },
        "description": "Retrieve your currently available doodles from Cardly. Returns doodle metadata including name and restriction status. Use this to discover available doodle designs before creating cards.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"organisationOnly\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_fonts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/fonts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "fonts"
          ]
        },
        "description": "List available fonts for handwriting and text personalization in Cardly cards. Returns font metadata including name, category, variants, and whether the font supports humanisation. Use this to discove",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"organisationOnly\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_gift_credit_history",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/gift/credit/history",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "gift",
            "credit",
            "history"
          ]
        },
        "description": "Lists gift credit history records for your organization with pagination and optional time-based filtering. Gift credits are promotional credits that can be applied to orders. This action retrieves a h",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"effectiveTime.gt\": \"\",\n  \"effectiveTime.lt\": \"\",\n  \"effectiveTime.gte\": \"\",\n  \"effectiveTime.lte\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_invitations",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/invitations",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "invitations"
          ]
        },
        "description": "Tool to retrieve active invitations for your organisation with optional filters. Use when you need to audit invited users and their statuses before sending new invitations or revoking access.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"expiredOnly\": false,\n  \"acceptedOnly\": false,\n  \"includeAccepted\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_media",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/media",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "media"
          ]
        },
        "description": "Tool to retrieve the currently available media sizes for product artwork. Use when you need to explore or validate media options before creating artwork.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"organisationOnly\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_orders",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/orders",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "orders"
          ]
        },
        "description": "Retrieves a paginated list of orders placed by your organization. Returns detailed order information including customer details, costs, items, shipping info, and delivery tracking. Use optional limit ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_templates",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/templates",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "templates"
          ]
        },
        "description": "Tool to retrieve your currently available templates from Cardly. Use to list and paginate templates for selection in card sends.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_users",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/users",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "users"
          ]
        },
        "description": "Tool to retrieve all users associated with your account. Use when you need to list and paginate user accounts.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_webhooks",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/webhooks",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "webhooks"
          ]
        },
        "description": "Retrieves all webhooks configured for your organization, including their status, target URLs, subscribed events, and delivery statistics. Use this to audit existing webhooks, monitor their health, or ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_list_writing_styles",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/writing/styles",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "writing",
            "styles"
          ]
        },
        "description": "Tool to list available writing styles. Use when you need to retrieve writing styles available for handwriting personalization.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_retrieve_account_balance",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/account/balance",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "account",
            "balance"
          ]
        },
        "description": "Tool to retrieve the current account and gift credit balances for your organisation. Use after authenticating to verify available credit before placing orders.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_retrieve_order",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/order",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "order"
          ]
        },
        "description": "Retrieves detailed information about a specific order by its ID. Returns complete order data including customer details, items, costs, delivery information, and tracking details. Use this after obtain",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_retrieve_user",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/retrieve/user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "retrieve",
            "user"
          ]
        },
        "description": "Retrieves detailed information about a specific user account by ID. Returns user profile data including name, email, status, and permissions. Use list_users to get available user IDs first.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "cardly_update_webhook",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/webhook",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "webhook"
          ]
        },
        "description": "Tool to update a webhook’s settings, including target URL and events. Use after retrieving existing webhook to apply configuration changes.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\",\n  \"events\": \"\",\n  \"disabled\": false,\n  \"metadata\": {},\n  \"targetUrl\": \"\",\n  \"description\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}