{
  "info": {
    "name": "Piggy — mcp.ai",
    "description": "REST API for the Piggy 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/piggy",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "piggy_claim_anonymous_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/claim/anonymous/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "claim",
            "anonymous",
            "contact"
          ]
        },
        "description": "Tool to claim an anonymous contact by associating it with a real email address. Use when converting an anonymous contact (with a fictional email) into a verified contact with a real email address.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\",\n  \"anonymous_contact_uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_create_contact_attribute",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/contact/attribute",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "contact",
            "attribute"
          ]
        },
        "description": "Tool to create a custom Contact Attribute. Use when you need to define new fields for contacts after initial setup.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"label\": \"\",\n  \"options\": \"\",\n  \"data_type\": \"\",\n  \"description\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_create_credit_reception",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/credit/reception",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "credit",
            "reception"
          ]
        },
        "description": "Tool to create a credit reception for a contact. Use when awarding credits to customers based on purchases or fixed amounts.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"credits\": 0,\n  \"shop_uuid\": \"\",\n  \"unit_value\": 0,\n  \"contact_uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_create_vouchers_batch",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/vouchers/batch",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "vouchers",
            "batch"
          ]
        },
        "description": "Tool to create a batch of vouchers for a promotion. Use when you need to generate multiple vouchers at once for a specific promotion. Batch processing is asynchronous and returns a PENDING status init",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"quantity\": 0,\n  \"contact_uuid\": \"\",\n  \"promotion_uuid\": \"\",\n  \"activation_date\": \"\",\n  \"expiration_date\": \"\",\n  \"custom_attributes\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_find_or_create_products",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/find/or/create/products",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "find",
            "or",
            "create",
            "products"
          ]
        },
        "description": "Tool to find an existing product by external_identifier or create a new one if it doesn't exist. Use when you need to ensure a product exists in Piggy's system for loyalty programs or rewards.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"categories\": \"\",\n  \"description\": \"\",\n  \"external_identifier\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_find_voucher_by_code",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/find/voucher/by/code",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "find",
            "voucher",
            "by",
            "code"
          ]
        },
        "description": "Tool to find a voucher by its unique code. Use when you need to retrieve voucher details, check redemption status, or validate a voucher code.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"code\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_get_contact_auth_token",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/contact/auth/token",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "contact",
            "auth",
            "token"
          ]
        },
        "description": "Tool to get an auth token for a Contact. Use after obtaining a Contact UUID and needing to verify identity for secure operations.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"contact_uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_get_contacts_credit_balance",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/contacts/credit/balance",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "contacts",
            "credit",
            "balance"
          ]
        },
        "description": "Tool to get a Contact's credit balance. Use when you need to check a contact's current credit balance before processing rewards or promotions.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"contact_uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_list_forms",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/forms",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "forms"
          ]
        },
        "description": "Tool to list all forms in the Piggy account. Use when you need to retrieve available forms for customer interactions.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_list_perks",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/perks",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "perks"
          ]
        },
        "description": "Tool to list all available perks in Piggy. Use when you need to retrieve the catalog of perks that can be associated with contacts or transactions.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_merge_contacts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/merge/contacts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "merge",
            "contacts"
          ]
        },
        "description": "Merges a source contact into a destination contact in Piggy's CRM. The source contact's data (attributes, balances, transactions) is transferred to the destination contact, and the source contact is r",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"source_contact_uuid\": \"\",\n  \"destination_contact_uuid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_send_contact_verification_email",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/contact/verification/email",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "contact",
            "verification",
            "email"
          ]
        },
        "description": "Send a verification email to a Piggy contact for identity verification. The contact must exist in the system with a configured Contacts Portal. Returns success message with email sent confirmation. Us",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_update_bookings",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/bookings",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "bookings"
          ]
        },
        "description": "Tool to update an existing booking in Piggy. Use when you need to modify booking details such as party size, status, or company name. Note: Shop and contact cannot be updated after creation.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"source\": \"\",\n  \"status\": \"\",\n  \"ends_at\": \"\",\n  \"starts_at\": \"\",\n  \"external_id\": \"\",\n  \"booking_uuid\": \"\",\n  \"company_name\": \"\",\n  \"checked_in_at\": \"\",\n  \"prepaid_amount\": 0,\n  \"number_of_people\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "piggy_update_contact_identifiers",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/contact/identifiers",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "contact",
            "identifiers"
          ]
        },
        "description": "Tool to update a contact identifier in Piggy. Use when you need to modify the display name or active state of an existing contact identifier. Only the name and active properties can be updated; the id",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"contact_identifier_name\": \"\",\n  \"contact_identifier_value\": \"\",\n  \"contact_identifier_active\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}