{
  "info": {
    "name": "Expofp — mcp.ai",
    "description": "REST API for the Expofp 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/expofp",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "expofp_add_category",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/add/category",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "add",
            "category"
          ]
        },
        "description": "Tool to add a new category to an expo. Use when you have both the expo event ID and a valid API token. Example: \"Add category 'Keynotes' to event 2655.\"",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"token\": \"\",\n  \"eventId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_delete_exhibitor",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/exhibitor",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "exhibitor"
          ]
        },
        "description": "Tool to delete an exhibitor from an expo by their ID. Use when you have the exhibitor ID and a valid API token.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"token\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_delete_session_speakers",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/session/speakers",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "session",
            "speakers"
          ]
        },
        "description": "Tool to delete session speakers by their IDs. Use when you need to remove one or more session speakers from an expo.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"expoId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_delete_session_tracks",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/session/tracks",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "session",
            "tracks"
          ]
        },
        "description": "Tool to delete session tracks by IDs from an expo. Use when you need to remove multiple session tracks. Provide the expo ID, API token, and list of session track IDs to delete.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"expoId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_get_bulk_read_exhibitors_template",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/bulk/read/exhibitors/template",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "bulk",
            "read",
            "exhibitors",
            "template"
          ]
        },
        "description": "Tool to get the template structure for bulk reading exhibitors from an expo. Use when you need to understand the required format for bulk importing exhibitor data.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_get_offline_archive",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/offline/archive",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "offline",
            "archive"
          ]
        },
        "description": "Lightweight retrieval of offline archive state that never starts a build. Returns the current known ExpoOfflineState for the specified version if available, or null if not. Use when you need to check ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"expoKey\": \"\",\n  \"version\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_get_or_create_offline_archive",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/or/create/offline/archive",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "or",
            "create",
            "offline",
            "archive"
          ]
        },
        "description": "Retrieve the offline archive state for a specific expo version. If the archive does not exist and the requested version is 'latest', the server automatically starts the creation process and returns th",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"version\": \"\",\n  \"expo_key\": \"\",\n  \"waitseconds\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_get_session_tracks",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/session/tracks",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "session",
            "tracks"
          ]
        },
        "description": "Retrieve all session tracks for a specific expo event. Session tracks are categories or themes used to organize sessions within an expo, such as \"Technology\", \"Marketing\", \"Product\", etc. This action ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"expoId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_list_all_expo_extras",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/expo/extras",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "expo",
            "extras"
          ]
        },
        "description": "Retrieves all extras (additional services/items) available for a specific expo event, including general extras and booth-specific extras with exhibitor details. Use this action to get a comprehensive ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"eventId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_list_all_expos",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/all/expos",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "all",
            "expos"
          ]
        },
        "description": "Retrieve all expos (events/exhibitions) accessible with the authenticated ExpoFP account. This action fetches a complete list of expos with their details including event IDs, names, descriptions, date",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_list_categories",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/categories",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "categories"
          ]
        },
        "description": "Retrieve all categories for a specific expo event. This action fetches a complete list of categories with their IDs and names for a given expo. The category IDs returned can be used with other ExpofP ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"eventId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_list_exhibitors",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/exhibitors",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "exhibitors"
          ]
        },
        "description": "Tool to bulk read exhibitors from an expo with customizable response template. This action retrieves all exhibitors from a specified expo. You can optionally provide a response template to control whi",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"token\": \"\",\n  \"expoId\": 0,\n  \"responseItemTemplate\": {}\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_remove_category",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/remove/category",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "remove",
            "category"
          ]
        },
        "description": "Tool to remove a category from an expo. Use when you have the category ID and a valid API token. Example: \"Remove category #123.\"",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"token\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_set_exhibitor_logo",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/set/exhibitor/logo",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "set",
            "exhibitor",
            "logo"
          ]
        },
        "description": "Tool to set or remove an exhibitor logo using multipart/form-data. Use when you need to upload a logo image file or provide an image URL for an exhibitor, or remove an existing logo by passing null fo",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"token\": \"\",\n  \"img_url\": \"\",\n  \"img_file\": {},\n  \"exhibitorid\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_update_category",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/category",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "category"
          ]
        },
        "description": "Tool to update an existing category. Use when you have the category ID and a valid API token. Example: \"Update category #1 name to 'Category Blue'.\"",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"name\": \"\",\n  \"token\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_update_exhibitor",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/exhibitor",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "exhibitor"
          ]
        },
        "description": "Tool to update an existing exhibitor. Use when you have the exhibitor ID and want to modify exhibitor details. Only fields provided in the request are updated; undefined fields remain unchanged.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"zip\": \"\",\n  \"city\": \"\",\n  \"name\": \"\",\n  \"tags\": \"\",\n  \"xing\": \"\",\n  \"state\": \"\",\n  \"token\": \"\",\n  \"phone1\": \"\",\n  \"phone2\": \"\",\n  \"address\": \"\",\n  \"country\": \"\",\n  \"twitter\": \"\",\n  \"website\": \"\",\n  \"youtube\": \"\",\n  \"address2\": \"\",\n  \"facebook\": \"\",\n  \"featured\": false,\n  \"linkedin\": \"\",\n  \"metadata\": \"\",\n  \"videoUrl\": \"\",\n  \"instagram\": \"\",\n  \"vatNumber\": \"\",\n  \"adminNotes\": \"\",\n  \"advertised\": false,\n  \"categories\": \"\",\n  \"externalId\": \"\",\n  \"googlePlus\": \"\",\n  \"contactName\": \"\",\n  \"description\": \"\",\n  \"publicEmail\": \"\",\n  \"autoLoginUrl\": \"\",\n  \"contactPhone\": \"\",\n  \"privateEmail\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_upsert_session_tracks",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/upsert/session/tracks",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "upsert",
            "session",
            "tracks"
          ]
        },
        "description": "Tool to create or update session tracks in bulk for an expo. Use when you need to add new tracks or modify existing ones. Provide an id in the track object to update; omit it to create new. Example: \"",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"token\": \"\",\n  \"expoId\": 0,\n  \"sessionTracks\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expofp_upsert_sessions",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/upsert/sessions",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "upsert",
            "sessions"
          ]
        },
        "description": "Tool to create or update sessions in bulk for an expo event. Sessions are upserted based on externalId if provided - existing sessions with matching externalId are updated, otherwise new sessions are ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"expoId\": 0,\n  \"sessions\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}