Skip to main content
Soft delete a meeting type. The meeting type is marked as deleted but retained in the database for historical records.

Endpoint

DELETE /v4/meeting-type/{id}

Request Headers

HeaderRequiredDescription
AuthorizationYesBearer <your-api-key>
x-meetergo-api-user-idYesUUID of the user who owns the meeting type

Path Parameters

ParameterTypeDescription
idstringUUID of the meeting type to delete

Examples

curl -X DELETE "https://api.meetergo.com/v4/meeting-type/770e8400-e29b-41d4-a716-446655440002" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-meetergo-api-user-id: 550e8400-e29b-41d4-a716-446655440000"

Response

Success (200 OK)

Empty response body. The meeting type has been soft deleted.

Error Responses

404 Not Found

{
  "statusCode": 404,
  "message": "Meeting type not found",
  "error": "Not Found"
}

403 Forbidden

{
  "statusCode": 403,
  "message": "Not authorized to delete this meeting type",
  "error": "Forbidden"
}

Behavior

  • Soft delete: The meeting type is marked with a deletedAt timestamp but not removed from the database
  • Booking URL disabled: The public booking URL stops accepting new bookings
  • Existing bookings preserved: Any existing appointments remain unaffected
  • Historical records: The meeting type data is retained for webhook history and reporting

Use Cases

Cleanup After Ticket Completion

When using meeting types for ticket-based workflows, delete the meeting type after the appointment is completed:
// After booking webhook received
async function handleBookingCompleted(webhookData) {
  const meetingTypeId = webhookData.data.meetingType.id;

  // Clean up the ticket-specific meeting type
  await fetch(`https://api.meetergo.com/v4/meeting-type/${meetingTypeId}`, {
    method: 'DELETE',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'x-meetergo-api-user-id': webhookData.data.hosts[0].id
    }
  });
}