Connector Public API
Search Results for

    Show / Hide Table of Contents

    API Reference

    This section contains the public API reference for the Public API. Only the essential public contracts are documented here for security and clarity.

    🔐 Authentication Endpoints

    POST /{tenantId}/authentication/token

    Purpose: Obtain access token using client credentials

    Request Body:

    {
      "clientId": "string",
      "clientSecret": "string"
    }
    

    Response:

    {
      "accessToken": "string",
      "refreshToken": "string", 
      "expiresIn": 3600
    }
    

    Response Codes:

    • 200 - Success
    • 400 - Invalid credentials
    • 401 - Authentication failed

    📅 Appointment Endpoints

    GET /{tenantId}/appointment

    Purpose: Retrieve a specific appointment

    Headers:

    • Authorization: Bearer {token}

    Query Parameters:

    • appointmentId (required): The appointment ID
    • adId (required): The AD user ID
    • domainId (required): The AD tenant ID

    Response: AppointmentResponseDto

    GET /{tenantId}/appointment/preview

    Purpose: Preview multiple appointments

    Headers:

    • Authorization: Bearer {token}

    Query Parameters:

    • domainId (required): The AD tenant ID
    • adId (required): The AD user ID
    • startDate (required): Start date filter (ISO 8601 format)`
    • endDate (required): End date filter (ISO 8601 format)`

    Response: List appointment preview data AppointmentResponseDto

    POST /{tenantId}/appointment

    Purpose: Create a new appointment

    Headers:

    • Authorization: Bearer {token}

    Request Body: CreateAppointmentDto

    Response:

    {
      "appointmentId": "string"
    }
    

    PUT /{tenantId}/appointment

    Purpose: Update an existing appointment

    Headers:

    • Authorization: Bearer {token}

    Request Body: UpdateAppointmentDto

    Response: Updated appointment details

    DELETE /{tenantId}/appointment

    Purpose: Delete an appointment

    Headers:

    • Authorization: Bearer {token}

    Request Body:

    {
      "domainId": "string",
      "adId": "string",
      "appointmentId": "string"
    }
    

    Response: Success confirmation


    📋 Data Models

    CreateAppointmentDto

    {
      "domainId": "string",
      "subject": "string",
      "body": {
        "content": "string",
        "contentType": "Text|Html"
      },
      "startTime": "2024-01-15T10:00:00Z",
      "endTime": "2024-01-15T11:00:00Z", 
      "timeZone": "UTC",
      "showAsStatus": "Free|Busy|Tentative|OutOfOffice",
      "reminderMinutesBeforeStart": 15,
      "isReminderOn": true,
      "location": {
        "displayName": "string"
      },
      "importance": "Low|Normal|High",
      "attendees": [
        {
          "emailAddress": {
            "name": "string",
            "address": "email@domain.com"
          },
          "type": "Required|Optional|Resource"
        }
      ]
    }
    

    UpdateAppointmentDto

    Similar to CreateAppointmentDto but includes:

    {
      "id": "appointment-id",
      // ... other fields same as CreateAppointmentDto
    }
    

    AppointmentResponseDto

    {
      "id": "string",
      "subject": "string",
      "body": {
        "content": "string", 
        "contentType": "string"
      },
      "start": {
        "dateTime": "2024-01-15T10:00:00Z",
        "timeZone": "UTC"
      },
      "end": {
        "dateTime": "2024-01-15T11:00:00Z",
        "timeZone": "UTC"
      },
      "organizer": {
        "emailAddress": {
          "name": "string",
          "address": "string"
        }
      },
      "attendees": [
        {
          "emailAddress": {
            "name": "string",
            "address": "string"
          },
          "type": "string"
        }
      ],
      "location": {
        "displayName": "string"
      },
      "importance": "string",
      "showAsStatus": "string",
      "isAllDay": false,
      "isReminderOn": true,
      "reminderMinutesBeforeStart": 15,
      "createdDateTime": "2024-01-15T09:00:00Z",
      "lastModifiedDateTime": "2024-01-15T09:30:00Z"
    }
    

    🔑 Common Enumerations

    Importance

    • Low - Low priority
    • Normal - Normal priority (default)
    • High - High priority

    ShowAsStatus

    • Free - Show as free
    • Busy - Show as busy (default)
    • Tentative - Show as tentative
    • OutOfOffice - Show as out of office

    AttendeeType

    • Required - Required attendee
    • Optional - Optional attendee
    • Resource - Resource (room, equipment)

    BodyType

    • Text - Plain text content
    • Html - HTML content

    ⚠️ Important Notes

    1. Authentication: All appointment endpoints require a valid Bearer token
    2. Tenant Validation: The tenantId in the URL must match the tenantId header
    3. Date Format: All dates should be in ISO 8601 format
    4. Rate Limiting: API requests are rate-limited for fair usage
    5. HTTPS Only: All API calls must use HTTPS

    🔗 Quick Links

    • Getting Started Guide
    • Authentication Guide
    • Appointments Guide

    Security Notice: This documentation only shows the public API contract. Internal implementation details, handlers, configuration classes, and middleware are intentionally excluded for security reasons.

    • Edit this page
    In this article
    Back to top Generated by DocFX