API Overview
Welcome to the GReminders API. The GReminders API has 3 parts:
- Embed Booking Widget
- REST API
- Webhooks to notify you of new/updated/deleted Records (Events, Notifications, etc...)
For the REST API the system uses a OAuth2 implementation for Authentication.
Any breaking changes made to the API will result in a new version of the API. Currently we are on version 1.
If you don't see an endpoint that you need please contact [email protected] and share your Need and Use Case.
Embed Booking Widget
The Embed Booking Widget is an easier to use integration that allows you to embed your scheduling/booking pages into your Website, Blog, Wordpress, Wix, Shopify, etc...
Basic HTML IFrame
Basic Example HTML
<iframe src="XXXXXX" style="border: none; width: 100%; height: 800px; overflow: scroll;" allowfullscreen></iframe>
Or a simple HTML Popup Example
<a href="#" onclick="window.open('XXXXXX','greminders','width=600,height=400');">Book with me</a>
There is a basic HTML IFrame Version. You can adjust the height or width using the style element or CSS classes.
You need to replace XXX with YOUR "My Link" which looks something like: https://app.greminders.com/c/myshortname
You can get the "My Link" by logging into GReminders and going to Share My Link or Copy a specific Event Type Link. This works also with Routing Forms. Replace your Link with the Routing form URL.
Example: https://app.greminders.com/c/myshortname/?show_header=false&utm_source=facebook&first_name=Michael
You can also pass in Optional Parameters to prepopulate or manipulate the embedded form:
| Parameter | Description | 
|---|---|
| show_header | true or false, Show or hide header on booking page | 
| remember_me | true or false, Show or hide Remember Me checkbox | 
| first_name | First Name of Invitee | 
| last_name | Last Name of Invitee | 
| email | Email of Invitee | 
| phone | Phone of Invitee | 
| address | Address of Invitee | 
| c_fav_color | Example of Custom Question, API Name | 
| utm_source | UTM Source - Google Analytics Tag | 
| utm_medium | UTM Medium - Google Analytics Tag | 
| utm_campaign | UTM Campaign - Google Analytics Tag | 
| utm_content | UTM Content - Google Analytics Tag | 
| utm_term | UTM Term - Google Analytics Tag | 
You can also "front" this form with another "Form Builder" such as Jotform or similar and pass parameters into the GReminders form. Read More Here
If you need help please reach out to [email protected].
Javascript Modal
Example HTML/Javascript
<script src="https://app.greminders.com/widgets/booking.js"></script>
<script type="text/javascript">
window.onload = function() {
    GReminders.BookingWidget.initialize(
        //create an event type and put the link below: https://app.greminders.com/event-types
        //or use with Routing Forms: https://app.greminders.com/routing-forms
        'https://app.greminders.com/YOURLINK',
        //here are all the options
        {
            // you can trigger this based on a button or some other action
            anchorEl: document.getElementById('schedule_button'),  //you can omit this line completely if you like and just use: GReminders.BookingWidget.open(); in your code
            fields: {
                first_name: 'Michael',            // you can prepopulate the fields here if you already have this information
                last_name: 'Scott',
                phone: '9495556666',
                email: '[email protected]',
                c_fav_color: 'blue',              // populate custom questions/fields as well: https://app.greminders.com/admin/custom-questions
                auto_submit: false,               // to auto submit the form set this true, default is false, note the form must pass validation
                remember_me: true,                // shows the remember me checkbox.   If you dont want to show the checkbox or disable remember set this to false
                // UTM Codes (optional)
                utm_source: 'newsletter',         // UTM codes you can pass through  (optional)
                utm_medium: 'email',              // UTM codes are Google Marketing "utm" codes  (optional)
                utm_campaign: 'product_launch',   // they help you track marketing sources and help with attribution
                utm_content: 'bottom_cta',        // totally optional to use
                utm_term: 'new_users'             // more UTMs
            },
            styles: {
                zIndex: 100                       // Default z-index for the widget is 1000
            }
        }
    );
    GReminders.BookingWidget.onSuccess(function(event_id, form_data) {
        //we automatically close the widget on successful booking, you can continue your flow here
        GReminders.BookingWidget.close();
        alert('Success! Event ID ' + event_id + ', Customer Form Data: ' + JSON.stringify(form_data));
    });
    GReminders.BookingWidget.onError(function(message) {
        //if we encounter a booking error you can trigger a different error or retry
        GReminders.BookingWidget.close();
        alert('Error! ' + message);
    });
    // or trigger the widget using this:
    // GReminders.BookingWidget.open();
};
</script>
<input type="button" id="schedule_button" value="Schedule With Me" />
<!-- example to trigger via button onclick event -->
<input type="button" value="Schedule With Me using OnClick" onclick="GReminders.BookingWidget.open();" />
Or a more advanced Javascript Version that renders in a Modal / Lightbox. This allows you to embed this as part of your intake workflow or similar and receive Javascript Callbacks on form completion, errors, etc...

Javascript Inline
Example HTML/Javascript
<script src="https://app.greminders.com/widgets/booking-inline.js"></script>
<script type="text/javascript">
window.onload = function() {
    GReminders.BookingWidgetInline.initialize(
        //create an event type and put the link below: https://app.greminders.com/event-types
        //or use with Routing Forms: https://app.greminders.com/routing-forms
        'https://app.greminders.com/YOURLINK',
        //this is your HTML ID element
        document.getElementById('gr-widget-container'),
        //here are all the options
        {
            fields: {
                first_name: 'Michael',            // you can prepopulate the fields here if you already have this information
                last_name: 'Scott',
                phone: '9495556666',
                email: '[email protected]',
                c_fav_color: 'blue',              // populate custom questions/fields as well: https://app.greminders.com/admin/custom-questions
                auto_submit: false,               // to auto submit the form set this true, default is false, note the form must pass validation
                remember_me: true,                // shows the remember me checkbox.   If you dont want to show the checkbox or disable remember set this to false
                // UTM Codes (optional)
                utm_source: 'newsletter',         // UTM codes you can pass through  (optional)
                utm_medium: 'email',              // UTM codes are Google Marketing "utm" codes  (optional)
                utm_campaign: 'product_launch',   // they help you track marketing sources and help with attribution
                utm_content: 'bottom_cta',        // totally optional to use
                utm_term: 'new_users'             // more UTMs
            }
        }
    );
    GReminders.BookingWidgetInline.onSuccess(function(event_id, form_data) {
        //you can continue your flow here
        alert('Success! Event ID ' + event_id + ', Customer Form Data: ' + JSON.stringify(form_data));
    });
    GReminders.BookingWidgetInline.onError(function(message) {
        //if we encounter a booking error you can trigger a different error or retry
        alert('Error! ' + message);
    });
};
</script>
<!-- Inline widget container -->
<div id="gr-widget-container" style="width: 800px; height: 600px;"></div>
Or you can "Inline" the advanced Javascript Version that renders in an IFrame. This allows you to embed this as part of your intake workflow or similar and receive Javascript Callbacks on form completion, errors, etc...

Webhooks Overview
Webhooks allow developers to trigger actions off things that happen in GReminders. Webhooks are triggered for New Bookings, Reschedules, Cancellations and Event Confirmations, and also other Objects. This guide introduces how webhooks work, including how to configure a webhook for your app and manage webhooks. Webhooks can also be used with Low Code Workflow applications such as Zapier, IFTTT, etc...
Concepts
Webhook: A single event message. GReminders sends a webhook to an Webhook receiving endpoint URL. A webhook contains a JSON payload in the body, and metadata in the headers.
object: type of the object that triggers an webhook event. Could be event, event_type, user and/or notification.
change_type: This reflects the type of callback you're receiving. Could be created, updated or deleted. Also, you may encounter url_verification during the configuration process.
Webhook subscription: A persisted data object, which defines the object and the change_type that the app wants to receive.
A webhook receiving endpoint URL is where GReminders sends webhooks for the specified object and change_type.
Payload
Webhook payload structure:
{
    "object": "event",
    "change_type": "created",
    "data": {
        ...
    }
}
Each webhook sent by GReminders has the same structure
| Parameter | Description | 
|---|---|
| objectstring | Type of the object that triggers an webhook event | 
| change_typestring | Change Type of callback (created, updated, etc...) | 
| dataone of Api Object | data representing object | 
Headers
In addition to the message payload, each webhook message has a predefined set of HTTP headers containing metadata.
| HTTP Header | Use | 
|---|---|
| X-Greminders-Api-Version | Version of the Webhook API | 
| X-Greminders-Request-Timestamp | UNIX Timestamp of the request | 
| X-Greminders-Signature | Used for verification of the request | 
| X-Greminders-Retry-Num | Indicates the delivery retry attempt number: 1, 2, or 3. | 
| X-Greminders-Retry-Reason | Describes why the request was retried | 
Delivery Retries
GReminders will try to deliver a failed request up to 3 times in a gradually increasing timetable.
We'll tell you why we're retrying the request in the X-Greminders-Retry-Reason HTTP header. Possible values are:
- http_timeout - Your server took longer than 3 seconds to respond to the previous webhook delivery attempt.
- too_many_redirects - If we encounter more than 5 redirects, we'll retry the request in hopes it won't be that many this time.
- connection_failed - Couldn't to connect to your server.
- http_error - We encountered an HTTP status code that was not in the HTTP 200 OK range.
- unknown_error - For some reason it didn't work and we don't know why.
Working with Webhooks
Webhook Subscription
To create webhook subscription follow next steps:
- Navigate to your GRemidners account and go to Org Settings > API. Click on the Webhooks Tab..
- Enable Webhooks
- Create a New Webhook (You can do this programatically as well via the API)
- Provide webhook Name, Receiving Endpoint URL, check desired Event Hooks and enable webhook by hitting Active toggle
- Save your webhook
- Copy your Signing Secret (to be used later, optional)
Note: a good site for testing webhooks is: https://webhook.site
Verification of Receiving Endpoint URL
We'll dispatch a HTTP POST containing following body to your request URL:
{
    "change_type": "url_verification",
    "verification_key": "85cfdbc3dab3d0124aad1158b90b9fa745a1a00a4d15eea85f7d8db2ffc81400"
}
To ensure that webhooks are being delivered to a server under your control, GReminders must verify your ownership by sending you a url_verification request. You'll automatically receive url_verification request whenever configuring an Webhook Receiving Endpoint URL.
Once you receive the url_verification request, verify it and then respond in plaintext with the verification_key attribute value:
HTTP 200 OK
85cfdbc3dab3d0124aad1158b90b9fa745a1a00a4d15eea85f7d8db2ffc81400
Receive the Webhook
After you register an endpoint, GReminders sends an HTTP POST request to the URL specified every time that event occurs. The HTTP POST request parameters contain the JSON data relevant to the event that triggered the request.
Verify the Webhook (Optional)
The following example uses pseudocode to verify a webhook request
PHP Example
function verifyRequest(): bool {
    $request = getRequest();
    $signing_secret   = 'YOURSIGNINGSECRETHERE';
    $requestSignature = $request->headers('X-Greminders-Signature');
    $timestamp        = $request->headers('X-Greminders-Request-Timestamp');
    $body             = $request->getBody();
    $calculatedSignature = hash_hmac('sha256', "$timestamp:$body", $signing_secret);
    return ($requestSignature === $calculatedSignature);
}
Python Example
def validate_webhook():
  verified: bool = False
  # We use request.get_data().decode("utf-8-sig") to remove BOM from the start of the string
  body = request.get_data().decode("utf-8-sig")
  signature: str = headers.get(GREMINDER_SIGNATURE_HEADER)
  timestamp = headers.get(GREMINDER_TIMESTAMP_HEADER)
  secret: str = self.__get_greminder_signing_secret()
  if (secret is None):
      CallContext.get_current().log_error(
          message="No Signature")
  if GeneralUtility.is_null_or_empty(signature) or \
     GeneralUtility.is_null_or_empty(timestamp):
      return verified
  message = "{}:{}".format(timestamp, body)
  calculated_signature = hmac.new(key=bytes(secret, encoding='utf-8'),
                                  msg=bytes(message, 'utf-8'),
                                  digestmod=hashlib.sha256).hexdigest().lower()
  if signature == calculated_signature:
      verified = True
  return verified
C# Example
app.MapPost("/webhook",async delegate(HttpContext context) {
    using (StreamReader reader = new StreamReader(context.Request.Body, Encoding.UTF8))
    {
        var signature = context.Request.Headers["X-Greminders-Signature"];
        var timestamp = context.Request.Headers["X-Greminders-Request-Timestamp"];
        var signingSecret = "YOURSIGNINGSECRETHERE";
        var body = await reader.ReadToEndAsync();
        var hmacSha256 = new HMACSHA256(Encoding.UTF8.GetBytes(signingSecret));
        var hash = hmacSha256.ComputeHash(Encoding.UTF8.GetBytes($"{timestamp}:{body}"));
        var controlSignature = Convert.ToHexString(hash).ToLower();
        if (signature == controlSignature)
        {
            Console.WriteLine("verified");
        }
        else
        {
            Console.WriteLine("not verified");
        }
    }
});
Before you respond to a webhook, you can verify that the webhook was sent from GReminders. You can verify the webhook by calculating a digital signature and comparing it to the value of the X-Greminders-Signature HTTP header.
Respond to the webhook
Your webhook acknowledges that it received data by sending a 200 OK response.
Working with Zapier
Normally you will see an array of JSON:
"questions": [
  {
    "key": "96787e4d-e2d1-4b39-8e35-f9fed7f50df8",
    "label": "fav color?",
    "value": "blue",
    "api_name": "c_fav_color",
    "data_type": "text"
  },
  {
    "key": "d9ab2862-32cb-4919-8a57-19276ba7e78d",
    "label": "Do you like Coffee?",
    "value": true,
    "api_name": "c_coffee",
    "data_type": "yes_no_toggle"
  }
],
With Zapier "Friendly" you will see them as Javascript Objects:
"questions": {
  "c_fav_color": {
    "key": "96787e4d-e2d1-4b39-8e35-f9fed7f50df8",
    "label": "fav color?",
    "value": "blue",
    "api_name": "c_fav_color",
    "data_type": "text"
  },
  "c_coffee": {
    "key": "d9ab2862-32cb-4919-8a57-19276ba7e78d",
    "label": "Do you like Coffee?",
    "value": true,
    "api_name": "c_coffee",
    "data_type": "yes_no_toggle"
  }
}
Zapier and other Low Code Middleware tools enable various automations. Learn More Here
To work with Registrant Custom Questions better we have enabled a "Zapier Friendly Format".
The main difference is how Custom Questions are represented in the Payload.
This will make it easier to work with within Zapier since Zapier doesnt allow for "looping" within a array element (or at least not easily). For implementation with the API and code we recommend using the standard way.
Authorization
There are 2 methods for Authorization.
A static API Key for Enterprise Integrations, good for when you need to only integrate your Org to GReminders.
-OR-
OAuth, which is ideal for ISVs (Independant Software Vendors) who want to build applications on top of GReminders for OTHER GReminders customers to use.
API Key
Before you can start using API Key Authorization in your application, you need to register it. In your GReminders account go to Org Settings > API section of the application.
Create a new Enterprise Integration:
- Name - Application name
Generate an API Key:
- Description - A description of the API Key, usually its purpose such as production, staging, etc...
- Expires In - The time range after when the API Key expires
The Enterprise Integration needs both the API Key and a User ID for the API Authorization. User IDs can be found using the Users Endpoint OR can also be found navigating to Org Settings > Users and clicking on a user and looking at the URL, you will find the UUID in the URL itself.
Each API request should be authorized with X-GReminders-API-Key and X-GReminders-Impersonation-ID headers, like so:
Example
X-GReminders-API-Key: api-key-value
X-GReminders-Impersonation-ID: user-id
OAuth2
Before you can start using OAuth2 in your application, you need to register it. In your GReminders account go to ORG SETTINGS -> API section of the site.
You need to create a new OAuth Application:
- Name - Application name
- Redirect URLs - These are the URLs to which the service will redirect the user after authorization
This will also generate a Client ID and Secret. Keep these in a safe place.
Each API request should be authorized with Bearer Token / Access Token in the Authorization header, like so:
Authorization: Bearer eyJ0eXAiOiJKV1QiLC...
Authorize
First you need to go through the authorization process, for this use the following URL.
https://app.greminders.com/api/oauth/authorize
Example
GET https://app.greminders.com/api/oauth/authorize?response_type=code&scope=full-access&client_id=<CLIENT_ID>&r=<REDIRECT_URL>
Required query parameters
| Parameter | Description | 
|---|---|
| response_typestring | Only the "code" type is supported | 
| scopestring | "full-access" is the only scope available in current version | 
| client_idstring | Client ID of the registered application | 
| rstring | Redirect URL to which the authorization code is returned | 
After after successful login the user will be redirected to the page specified in the redirect URL along with the authorization code
{your_redirect_url}?code=your_authorization_code
Helper Tool / Token
As a "Helper" we have given you the ability to generate a Refresh and Access token for your logged in user in the GReminders API Web Interface. This is only meant to be used temporarily to test the API via Postman or some other test harness without having to implement a whole OAuth2 flow.
Get the Access Token
The application must then request an access token using the authorization code given on the previous step. To do this, you need to send a POST request to the following URL.
https://app.greminders.com/api/oauth/access-token
Required body parameters
| Parameter | Description | 
|---|---|
| grant_typestring | The value "authorization_code" is used for this parameter | 
| client_idstring | Client ID of the registered application | 
| client_secretstring | Client secret of the registered application | 
| codestring | The code that was received after the authorization step | 
In response, you should receive the Access Token in JSON format.
{
    "token_type": "Bearer",
    "expires_in": 7200,
    "access_token": "eyJ0eXAiOiJKV1QiLCJ...",
    "refresh_token": "def50200790340dc2a7..."
}
| Parameter | Description | 
|---|---|
| token_typestring | Type of token | 
| expires_instring | Token lifetime, in seconds | 
| access_tokenstring | The value of the access token | 
| refresh_tokenstring | The refresh token value, used to obtain a new access token | 
Response codes
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
Get new Access Token using Refresh Token
To refresh your expired Access Token send a POST requst to the following URL. Please Note, when you get a new Access Token you will also receive a NEW Refresh Token. Use this NEW Refresh token to get a new Access Token. The old Refresh token will be invalidated.
https://app.greminders.com/api/oauth/access-token
Required body parameters
| Parameter | Description | 
|---|---|
| grant_typestring | The value "refresh_token" is used for this parameter | 
| client_idstring | Client ID of the registered application | 
| client_secretstring | Client secret of the registered application | 
| refresh_tokenstring | Refresh token value | 
In response, you should receive new Access Token in JSON format.
{
    "token_type": "Bearer",
    "expires_in": 7200,
    "access_token": "eyJ0eXAiOiJKV1QiLC...",
    "refresh_token": "def50200640780cf3..."
}
Response codes
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
Impersonation
Example
X-GReminders-Impersonation-ID: <UUID>
If the user you are authorized as has Administrator Permissions in GReminders, you can use the impersonation mechanism
to perform actions on behalf of other Users in your Organization. To do so, you can supply a X-GReminders-Impersonation-ID header with
the ID of the User you want to impersonate with each API request.
In this case the API will return your requests as if impersonated User is making them.
Error Codes
Example:
{
    "code": 429,
    "error": "throttled",
    "message": "You are hitting the API too frequently, please back off.",
    "hint": "You can make 120 API requests per minute, otherwise you will be throttled.  Thanks."
}
Error Codes you may encounter that you should account for:
| HTTP Error Code | Description | 
|---|---|
| 400 | Bad Request, query string malformed or similar | 
| 401 | Unauthorized, Access Token is bad/missing | 
| 404 | Resource Not Found, most likely the resource you are trying to access doesn't exist | 
| 429 | You are bring throttled, back off your requests, try again shortly | 
| 500 | Server Error, something bad happened, contact [email protected] if this persists | 
| 503 | Site Unavailable, most likely platform undergoing maintenance, try again shortly | 
API Objects
Calendar
Each User has one or more Calendars.
Example:
{
  "id": "76a7d63f-a0c8-4844-85d1-d32b1b811041",
  "provider": "google",
  "name": "Michaels Calendar",
  "external_id": "[email protected]",
  "timezone": "America/Los_Angeles",
  "color": "#9fe1e7",
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "active": true,
  "main": true,
  "primary": true,
  "created_date": "2023-01-05T16:18:34+00:00",
  "updated_date": "2023-01-17T10:29:21+00:00",
  "read_only": false,
  "send_reminders": true,
  "check_default_availability": true
}
| Parameter | Description | 
|---|---|
| iduuid | Internal ID | 
| providerstring | Internal provider name (google, microsoft, redtail, etc...) | 
| namestring | Name of Calendar | 
| external_idstring | ID of the External Calendar (from Google, Microsoft, etc...) | 
| timezonestring | Time Zone of Calendar in IANA Time Zone format | 
| colorstring | The color with which the calendar is displayed, HEX format with the # | 
| user_iduuid | Internal User ID | 
| company_iduuid | Internal Company ID | 
| activebool | Is this Calendar Active for this User? | 
| mainbool | Is this the Main Calendar from the Provider Calendar? | 
| primarybool | Is this the Primary Calendar for this User | 
| created_datedate | Date & Time Calendar was created in GReminders, ISO8601 format | 
| updated_datedate | Date & Time Calendar was last updated in GReminders, ISO8601 format | 
| read_onlybool | Is Calendar Read Only? | 
| send_remindersbool | Should GReminders send Reminder Notifications on this Calendar? | 
| check_default_availabilitybool | Check default availability Flag | 
Event
Events belong to a Calendar
Example:
{
  "id": "f8ab3fb9-8122-4753-9823-592a401e73ff",
  "external_id": "26jkvg7t3sp1ugmkd72tih91hk",
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "event_type_id": null,
  "url": "https://app.greminders.com/event/2142ba19-64a3-4109-9e60-64f47d9bcb49",
  "weburl": "https://www.google.com/calendar/event?eid=MjZqa3ZnN3Qzc3AxdWdta2Q3MnRpaDkxaGsgbG9wYXRpbnNreXN2LnNkYWlAbQ",
  "reschedule_url": "https://www.greminders.com/r/TDL7xW",
  "cancel_url": "https://www.greminders.com/c/TDL7xW",
  "location": "https://meet.google.com/utd-yois-fsp",
  "body": "Review your Paper Needs",
  "name": "Demo Meeting with Dunder Mifflin",
  "status": "confirmed",
  "disposition": null,
  "freebusy": "busy",
  "provider": "google",
  "timezone": "America/Los_Angeles",
  "categories": [
    "Blueberry"
  ],
  "origination_date": "2022-07-07T02:16:35-07:00",
  "start_date": "2022-07-07T23:30:00-07:00",
  "end_date": "2022-07-08T00:00:00-07:00",
  "created_date": "2022-07-07T02:16:35-07:00",
  "updated_date": "2022-07-07T09:16:57+00:00",
  "is_organizer": true,
  "reply_status": null,
  "all_day_event": false,
  "client_timezone": "America/Los_Angeles",
  "meeting_type": "Demo",
  "disposition": "completed",
  "meeting_urls": [
    {
      "url": "https://meet.google.com/utd-yois-fsp",
      "provider": "google_meet"
    }
  ],
  "organizer": {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
  },
  "registrants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    }
  ],
  "participants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    },
    {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
    }
  ]
}
| Parameter | Description | 
|---|---|
| iduuid | Internal ID | 
| external_idstring | ID of the External Event (from Google, Microsoft, etc...) Could be used to match up the Event against the Source Provider. | 
| user_iduuid | Internal User ID | 
| calendar_iduuid | Internal Calendar ID | 
| event_type_iduuid | Internal Event Type ID | 
| urlstring | GReminders Web UI URL | 
| weburlstring | External Event Provider URL (Link to the Google, Microsoft, etc... Event) | 
| reschedule_urlstring | Public URL to be used for client rescheduling | 
| cancel_urlstring | Public URL to be used for client cancellations | 
| locationstring | Location of the Event | 
| bodystring | Description of the Event | 
| namestring | Title/Subject of the Event | 
| statusstring | Status of the Source Event (confirmed, tentative, cancelled) If event is "cancelled" it has been deleted from the source calendar | 
| dispositionstring | Disposition of the Event (completed, no_show) | 
| freebusystring | "free" or "busy", if busy the event is not considered as part of the availability check | 
| providerstring | Source Provider of the Event (google, microsoft, etc...) | 
| timezonestring | Time Zone of Event in IANA Time Zone format | 
| client_timezonestring | Client Time Zone of Event in IANA Time Zone format See Article | 
| meeting_typestring | Custom Question reserved by the system - "meeting type" and assigned to this event. | 
| reply_statusstring | Internal Reply State (confirmed,rescheduling,optout,cancelled) GReminders Event Status. Result of client replies to notifications. | 
| is_organizerbool | This user is the Organizer of this Meeting | 
| all_day_eventbool | This event is an all day event | 
| categoriesarray | Categories of this Event from Source Event/Calendar (for Google calendar this is Colors) | 
| origination_datedate | Original Date the Event was created on the Source Calendar, ISO8601 format | 
| start_datedate | Start Date & Time of the Event, ISO8601 format | 
| end_datedate | End Date & Time of the Event, ISO8601 format | 
| created_datedate | Date & Time Event was created in GReminders, ISO8601 format | 
| updated_datedate | Date & Time Event was last updated in GReminders, ISO8601 format | 
| meeting_urlsarray of Meeting Url | |
| organizerRegistrant | Organizer of the Meeting | 
| participantsarray of Registrant | List of People that are ON the Event Invitation List. | 
| registrantsRegistrant | List of People who Registered for the Event via GReminders. In most cases this is one registrant, for Group Events this may contain more than one registrant. | 
| paymentarray | Payment information if Event took Payment (this is handled at the Event level IF this is Not a Group Event), for Group Events please use the payment attribute on the Registrants Object, as multiple people can pay for the same Event. | 
Registrant
Registrants belong to Events and are part of the Event Object Model
Example:
{
  "id": "30667c42-05f4-416e-9698-1e1839fb951d",
  "role": "participant",
  "email": "[email protected]",
  "phone": "17145557777",
  "status": "registered",
  "internal": false,
  "timezone": "America/Los_Angeles",
  "last_name": "Meyers",
  "questions": [
    {
      "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
      "label": "What is your Birth Date?",
      "value": "1970-02-15",
      "api_name": "c_birth_date",
      "data_type": "date"
    },
    {
      "key": "02625750-ec63-43bc-92ad-523340d8c26d",
      "label": "Company Name",
      "value": "Office Depot",
      "api_name": "c_company_name",
      "data_type": "text"
    }
  ],
  "cancel_url": "https://www.greminders.com/c/BgIzRz",
  "first_name": "Larry",
  "confirm_url": "https://www.greminders.com/f/BgIzRz",
  "created_date": "2022-07-07T02:49:06-07:00",
  "source_email": "eventregistration",
  "source_phone": null,
  "updated_date": "2022-07-07T02:50:21-07:00",
  "external_role": "recipient",
  "reschedule_url": "https://www.greminders.com/r/BgIzRz",
  "payment": {
    "amount": 50,
    "currency": "USD",
    "provider": "stripe",
    "card_brand": "visa",
    "discount_code": null,
    "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
    "card_holder_name": "Larry Meyers",
    "card_last4digits": "1111"
  }
}
| Parameter | Description | 
|---|---|
| iduuid | Internal Registrant ID | 
| first_namestring | First Name | 
| last_namestring | Last Name | 
| emailstring | |
| phonestring | Phone Number in E.164 Format | 
| rolestring | Internal Role (organizer | 
| external_rolestring | Role as defined by the External Calendar Event (sender,recipient,required,optional) | 
| statusstring | Internal Status (registered,pending,confirmed,cancelled) | 
| internalbool | Is this an Internal User (GReminders calculated) | 
| timezonestring | Time Zone of Registrant in IANA Time Zone format | 
| confirm_urlstring | Public Confirmation URL | 
| reschedule_urlstring | Public Reschedule URL | 
| cancel_urlstring | Cancellation URL | 
| questionsarray of Question | Custom Questions/Answers | 
| source_emailstring | Provider Source of the Email (where the email address was first found) | 
| source_phonestring | Provider Source of the Phone Number (where the phone number was first found) | 
| created_datedate | Date & Time User was created, ISO8601 format | 
| updated_datedate | Date & Time User was last modified, ISO8601 format | 
| paymentobject | Payment made by Registrant if used | 
Meeting Url
Meeting Urls belong to Events and are part of the Event Object Model
Example:
{
  "provider": "google_meet",
  "url": "http://meetingurl"
}
| Parameter | Description | 
|---|---|
| providerstring | Provider Name (zoom, google_meet, etc...) | 
| urlstring | URL of the Web Meeting | 
Question
Questions belong to Registrants and are part of the Event/Registrant Object Model
Example:
{
  "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
  "api_name": "c_fav_color",
  "label": "What is your favorite Color?",
  "value": "Green",
  "data_type": "dropdown"
}
| Parameter | Description | 
|---|---|
| keystring | Internal Question Key | 
| api_namestring | Question API Field Name | 
| labelstring | Question Label, the actual Question | 
| valuestring | The Registrants Answer | 
| data_typestring | The Data Type of the Question (text, dropdown, date, radio, etc...) | 
Event Type
Event Types belong to Users or Teams and make up the Public Scheduling Pages
Example:
{
  "id": "2d29c06c-0412-4105-82b8-98bfcf8d5a11",
  "url": "https://app.greminders.com/c/someperson/demomeeting",
  "name": "Demo Meeting",
  "type": "single",
  "active": true,
  "team_id": null,
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",>,
  "location": "",
  "start_buffer": "+2 hours",
  "tail_buffer": 0,
  "shortname": "demomeeting",
  "show_home": true,
  "calendar_id": null,
  "description": "",
  "created_date": "2022-07-07T08:56:22+00:00",
  "updated_date": "2022-07-07T08:56:22+00:00",
  "meeting_type": "Demo",
  "meeting_category": "Virtual",
  "last_booked": "2022-07-07T08:56:22+00:00",
  "times_used": 1,
  "require_approval": false,
  "sensitivity": "normal",
  "location_type": "google_meet",
  "event_duration_max": null,
  "event_duration_min": null,
  "event_duration_default": 30,
  "event_duration_type": "fixed",
  "event_duration" : 30,
  "max_events_per_slot": null,
  "can_schedule_from": null,
  "can_schedule_until": null,
  "can_schedule_within": "+60 days",
  "add_customer_to_calendar_invite": true,
  "add_organizer_to_calendar_invite": true,
  "locations": [
    {
      "type": "location",
      "description": "1234 Main St. Los Angeles, CA 90001",
      "sort": 0
    },
    {
      "type": "web_meeting",
      "provider": "google_meet",
      "description": "Google Meet",
      "sort": 1
    },
    {
      "type": "phone_call",
      "description": "{{invitee.phone}}",
      "sort": 2
    },
    {
      "type": "web_meeting",
      "provider": "gotomeeting",
      "description": "GoToMeeting",
      "sort": 3
    }
  ]
}
| Parameter | Description | 
|---|---|
| iduuid | Internal ID | 
| activebool | Active Flag | 
| user_iduuid | Internal User ID | 
| team_iduuid | Internal Team ID | 
| urlstring | Public Scheduling Link for this Event Type | 
| shortnamestring | Shortname of the User or Team (used in the url above) | 
| typestring | The Type value for the Event Type | 
| calendar_iduuid | Internal Calendar ID the Event will be booked on (if NULL then the Primary Calendar is used) | 
| namestring | Title of the Event Type | 
| descriptionstring | Description of the Event Type | 
| locationstring | Location of the Event Type | 
| start_bufferstring | A buffer before starting to schedule an event from now (ex. "+2 hours" or "+3 days") | 
| tail_bufferint | The buffer for the next availability interval (after the meeting) in minutes | 
| location_typestring | If Location is "custom" this is the location of the Event Type | 
| can_schedule_withinstring | Event can be scheduled within X time (ex. "+2 hours" or "+3 days") | 
| show_homebool | Will the Event Type show on the main Booking Screen | 
| event_duration_typestring | Event Type Duration Type (fixed, variable) | 
| event_duration_minint | if Event Type Duration Type = fixed, this is the min time duration for the event in minutes | 
| event_duration_maxint | if Event Type Duration Type = fixed, this is the max time duration for the event in minutes | 
| event_durationint | Event duration value in minutes | 
| event_duration_defaultint | Event duration default value | 
| max_events_per_slotint | Max # of Events per Time Slot (Overlapping Bookings), default null | 
| can_schedule_fromdate | Can schedule between this Start Date, ISO8601 format | 
| can_schedule_untildate | Can schedule between this End Date, ISO8601 format | 
| add_customer_to_calendar_invitebool | Are we adding the client to the participant list (onto the Event Invitation) | 
| add_organizer_to_calendar_invitebool | Are we adding the organizer to the participant list (onto the Event Invitation) | 
| created_datedate | Date & Time Event Type was originally created, ISO8601 format | 
| updated_datedate | Date & Time Event Type was last modified, ISO8601 format | 
| meeting_typestring | Meeting Type configured for the current event type | 
| meeting_categorystring | Meeting Category configured for the current event type | 
| last_bookeddate | The date this Event Type was last used/booked, ISO8601 format | 
| times_usedint | How many times was this event type used | 
| require_approvalbool | Whether user approval is required to complete the booking process | 
| sensitivitystring | Event visibility/sensitivity value (normal or private) | 
| deletedbool | Soft-delete Flag | 
| locationsarray | of possible locations for this event type | 
Single Use Link
Single use link belongs to Event types and is used to book an event only once
Example:
{
  "link": "https://app.greminders.com/e/1464f5387dcd62a632d784a728b04d7b4dbc99ab"
}
| Parameter | Description | 
|---|---|
| linkstring | Single use link to the Event | 
Team
Teams are groups of Event Types for the purposes of Team Scheduling (Round Robin, All Together, etc...)
Example:
{
  "id": "f980c2af-379e-4c35-bc1e-a85b2653a6a0",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "name": "Sales Team West",
  "shortname": "484ee5fb",
  "avatar_url": "",
  "banner_url": "https://app.greminders.com/static/build/banner-default.jpg",
  "custom_fields": [
    {
      "key": "1684c2ed-ebc0-4351-afce-7635881eb6fe",
      "label": "Region",
      "value": "West",
      "api_name": "c_region",
      "data_type": "text"
    }
  ],
  "created_date": "2023-01-26T15:22:03+00:00",
  "updated_date": "2023-01-26T15:22:03+00:00",
  "deleted": false
}
| Parameter | Description | 
|---|---|
| iduuid | Internal ID | 
| company_iduuid | Internal Company ID | 
| namestring | Team name | 
| shortnamestring | Shortname of the Team (used in the url above) | 
| avatar_urlstring | Link to Team avatar | 
| banner_urlstring | Link to Team banner | 
| custom_fieldsarray of Question | Custom field values | 
| created_datedate | Date & Time Team was originally created, ISO8601 format | 
| updated_datedate | Date & Time Team was last modified, ISO8601 format | 
| deletedbool | Has this Team been deleted? | 
User
Users belong to your Organization
Example:
{
  "id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "first_name": "Michael",
  "last_name": "Scott",
  "shortname": "michaelscott",
  "url": "https://app.greminders.com/c/michaelscott",
  "avatar_url": null,
  "email": "[email protected]",
  "email_verified": true,
  "alternative_emails": [
    "[email protected]",
    "[email protected]"
  ],
  "mobile_phone": "19495556666",
  "active": true,
  "deleted": false,
  "country_code": "US",
  "title": "Sales Manager",
  "language": "en",
  "timezone": "America/Los_Angeles",
  "profile_id" : "11b0b3b7-b306-4520-a257-8d96253901fa",
  "custom_fields": [
    {
      "key": "99e3deb3-b09f-4dd8-9802-debd0a349873",
      "label": "Specializes in",
      "value": "Sales",
      "api_name": "c_specializes_in",
      "data_type": "checkbox"
    }
  ],
  "created_date": "2022-06-13T10:58:45-07:00",
  "updated_date": "2022-07-07T09:05:23+00:00"
}
| Parameter | Description | 
|---|---|
| iduuid | Internal ID | 
| first_namestring | User first name | 
| last_namestring | User last name | 
| shortnamestring | Shortname for User (used in My Link), unique across entire System | 
| urlstring | Public Scheduling Link for this User | 
| avatar_urlstring | Link to this User's Avatar | 
| emailstring | |
| email_verifiedbool | Has this email address been verified? | 
| alternative_emailsarray | List of other/alternative email addresses of the User | 
| mobile_phonestring | Mobile Number in E.164 format | 
| activebool | Is User Active, | 
| deletedbool | Flag for scheduled deletion of the User from the database (If true, the user and his data will be deleted) | 
| country_codestring | ISO 3166-1 2 character Country Code | 
| titlestring | Job Title | 
| languagestring | Default Language (2 letter ISO 639-1 Code) | 
| timezonestring | Time Zone of User in IANA Time Zone format | 
| profile_iduuid | Profile ID assigned to User | 
| custom_fieldsarray of Question | Custom field values | 
| created_datedate | Date & Time User was originally created, ISO8601 format | 
| updated_datedate | Date & Time User was last modified, ISO8601 format | 
Profile
Profiles configured to your Organization
Example:
{
  "id": "4124b4f9-6995-4256-8ae4-35ee467ae199",
  "name": "Standard User",
  "permissions": [
    "user",
    "client_reminders",
    "client_reminders_create",
    "personal_reminders",
    "personal_reminders_create",
    "event_types",
    "event_types_create",
    "contacts_matching",
    "teams"
  ],
  "integrations": [
    "zoom",
    "gotomeeting",
    "google_meet",
    "microsoft_teams",
    "skype_business",
    "webex",
    "salesforce",
    "redtail-org",
    "hubspot"
  ],
  "user_defaults": {
    "allow_impersonate_calendar_view": true
  },
  "created_date": "2023-05-01T13:06:46+00:00",
  "updated_date": "2023-05-02T11:47:55+00:00",
  "created_by": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "updated_by": "b4b27575-de42-42a1-a760-02a79e397d6f"
}
| Parameter | Description | 
|---|---|
| iduuid | Internal ID | 
| namestring | Profile name | 
| permissionsarray | Permissions list applied to users of the Profile | 
| integrationsarray | Integrations list allowed to be used by users of the Profile | 
| user_defaultsUser Defaults | Default settings for a new users | 
| created_datedate | Date & Time Profile was originally created, ISO8601 format | 
| updated_datedate | Date & Time Profile was last modified, ISO8601 format | 
| created_byuuid | Internal User ID of the User who created Profile | 
| updated_byuuid | Internal User ID of the user who last modified the Profile | 
Routing Form
Routing forms are used to redirect clients
Example:
{
  "id": <UUID>,
  "active": true,
  "url": "https://app.greminders.com/o/short_name",
  "shortname": "short_name",
  "name": "routing form name",
  "description": "description for routing form",
  "created_date": "2024-01-22T08:15:44+00:00",
  "updated_date": "2024-01-22T08:15:50+00:00",
  "last_booked": "2024-01-22T13:12:26+00:00",
  "times_used": 1,
}
| Parameter | Description | 
|---|---|
| iduuid | Internal Routing form ID | 
| activebool | Is Routing form Active | 
| urlstring | The public URL of Routing form | 
| shortnamestring | Internal name for Routing form | 
| descriptionstring | Internal description for Routing form | 
| created_datestring | Date & Time Routing form was originally created, ISO8601 format | 
| updated_datestring | Date & Time Routing form was last modified, ISO8601 format | 
| last_bookedstring | Date & Time Routing form was last booked, ISO8601 format | 
| times_usedint | Number of times Routing form was used | 
Webhook
Webhooks allow developers to trigger actions based on events occurring in GReminders. Read More
Webhooks must be enabled in the settings first.
Example:
{
  "id": "df4394fc-fb39-4b45-88cd-3b727d7d7aae",
  "name": "Webhook Name",
  "url": "https://receiving-endpoint.example",
  "triggers": {
    "event": [
      "created",
      "updated",
      "deleted"
    ],
    "event_type": [
      "created",
      "updated",
      "deleted"
    ],
    "user": [
      "created",
      "updated",
      "deleted"
    ],
    "notification": [
      "created",
      "updated"
    ]
  },
  "trigger_for_events": "all",
  "active": true,
  "created_date": "2024-06-05T10:35:20+00:00",
  "updated_date": "2024-06-05T10:35:20+00:00",
  "signing_secret": "06fd05aaf876b615adf64525971012ff2916d2e4e885f54ceb90855b68c5d25f"
}
| Parameter | Description | 
|---|---|
| iduuid | Internal ID | 
| namestring | Name of Webhook | 
| urlstring | Webhook receiving endpoint URL | 
| triggersobject | An object that contains a structure of objects and events that trigger the webhook | 
| trigger_for_eventsstring | On which events will the webhook trigger (accepts the values 'all' or 'greminders') Note: 'all' will trigger for ALL events, even ones not originated via GReminders, this is basically equivalent as a proxy for your source calendar (Google, Microsoft, etc...) | 
| activebool | Is Webhook Active | 
| created_datedate | Date & Time Calendar was created in GReminders, ISO8601 format | 
| updated_datedate | Date & Time Calendar was last updated in GReminders, ISO8601 format | 
| signing_secretstring | The identifier for validating Webhook requests | 
For the objects Event, Event Type, and User, the available events are: Created, Updated, Deleted. For the object Notifications, only the events Created and Updated are available.
Below is the structure of the object for the parameter 'triggers':
{ "object_type": [ "created", "updated", ... ], ... }
User Defaults
Default settings will be applied to a new users belonging to the provided user profile
Example:
{
  "allow_impersonate_calendar_view": true
}
| Parameter | Description | 
|---|---|
| allow_impersonate_calendar_viewbool | Allow calendar viewing via Impersonation | 
Pagination Parameters
These parameters are used for pagination of the list of objects
Example:
GET https://api.greminders.com/calendars?limit=25&offset=0
Optional query parameters
| Parameter | Description | 
|---|---|
| limitint | Limiting the number of objects on a page (default: 25) | 
| offsetint | Offset by a certain number of objects (default: 0) | 
Pagination Response
The response contains the "paging" object includes three links: the current page, the next page and the previous page.
Example:
{
  "paging": {
    "current": "https://api.greminders.com/calendars?limit=25&offset=25",
    "previous": "https://api.greminders.com/calendars?limit=25&offset=0",
    "next": "https://api.greminders.com/calendars?limit=25&offset=50"
  }
}
| Parameter | Description | 
|---|---|
| currentstring | Current page URL | 
| previousstring | Previous page URL | 
| nextstring | Next page URL | 
Sorting Parameters
These parameters are used to sort query results
Use a string in the format "parameter-name" or "parameter-name:direction" for sorting, use comma-separated values for multiple parameters. The direction can be "asc" or "desc" (by default "asc" is used).
Example:
GET https://api.greminders.com/calendars?sort=name,active:desc
Optional query parameters
| Parameter | Description | 
|---|---|
| sortstring | One or more parameters in the above format | 
Calendars API
List Calendars
Get a list of Calendars belonging to the authorized user
Example:
GET https://api.greminders.com/calendars?limit=25&offset=0&sort=name:asc,active:asc
HTTP request
GET https://api.greminders.com/calendars
Standard Pagination parameters are used.
Standard Sorting parameters are used. The following parameters are allowed for sorting: name, active.
Example:
{
  "results": [
    {
      "id": <UUID>,
      ...
    },
    {
      "id": <UUID>,
      ...
    }
  ],
  "paging": {
      "current": "https://api.greminders.com/calendars?limit=25&offset=0"
  }
}
Responses
Returns list of Calendar objects and a Pagination response object.
| Code | Description | 
|---|---|
| 200 | Successful response | 
Get Calendar
Get a specific Calendar of the authorized user by ID
Example:
GET https://api.greminders.com/calendars/<UUID>
HTTP request
GET https://api.greminders.com/calendars/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal user calendar ID | 
Example:
{
  "id": "76a7d63f-a0c8-4844-85d1-d32b1b811041",
  "provider": "google",
  "name": "Michaels Calendar",
  "external_id": "[email protected]",
  "timezone": "America/Los_Angeles",
  "color": "#9fe1e7",
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "active": true,
  "main": true,
  "primary": true,
  "created_date": "2023-01-05T16:18:34+00:00",
  "updated_date": "2023-01-17T10:29:21+00:00",
  "read_only": false,
  "send_reminders": true,
  "check_default_availability": true
}
Responses
Returns Calendar object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 404 | Calendar with requested ID does not exist | 
Events API
List Events
Get a list of Events / Meetings / Appointments
Example:
GET https://api.greminders.com/events?from_date=2023-01-16&to_date=2023-01-17&include_canceled=true&calendar_id=<UUID>&event_type_id=<UUID>&limit=25&offset=0&sort=start_date:asc,end_date:asc,name:asc
HTTP request
GET https://api.greminders.com/events
Required query parameters
| Parameter | Description | 
|---|---|
| from_datedate | Start of date range to filter events, ISO8601 format | 
| to_datedate | End of date range to filter events, ISO8601 format | 
Optional query parameters
| Parameter | Description | 
|---|---|
| include_canceledbool | Filter to include canceled events | 
| include_all_usersbool | Filter to include All Users Events (You must be authenticated as an Administrator for this parameter to work). Default will filter to the Authenticated User. | 
| emailstring | Filter on any Events with this email address as a participant | 
| calendar_iduuid | Filter by Calendar ID | 
| event_type_iduuid | Filter by Event Type ID | 
Standard Pagination parameters are used.
Standard Sorting parameters are used. The following parameters are allowed for sorting: start_date, end_date, name.
Example:
{
  "results": [
    {
      "id": <UUID>,
      ...
    },
    {
      "id": <UUID>,
      ...
    }
  ],
  "paging": {
    "current": "https://api.greminders.com/events?from_date=2023-01-16&to_date=2023-01-16&limit=25&offset=0"
  }
}
Responses
Returns list of Event objects and a Pagination response object.
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
Get Event
Get Event by ID
Example:
GET https://api.greminders.com/events/<UUID>
HTTP request
GET https://api.greminders.com/events/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Event ID | 
Optional query parameters
| Parameter | Description | 
|---|---|
| include_all_usersbool | Filter to include All Users Events (You must be authenticated as an Administrator for this parameter to work). Default will filter to the Authenticated User. | 
Example:
{
  "id": "f8ab3fb9-8122-4753-9823-592a401e73ff",
  "external_id": "26jkvg7t3sp1ugmkd72tih91hk",
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "event_type_id": null,
  "url": "https://app.greminders.com/event/2142ba19-64a3-4109-9e60-64f47d9bcb49",
  "weburl": "https://www.google.com/calendar/event?eid=MjZqa3ZnN3Qzc3AxdWdta2Q3MnRpaDkxaGsgbG9wYXRpbnNreXN2LnNkYWlAbQ",
  "reschedule_url": "https://www.greminders.com/r/TDL7xW",
  "cancel_url": "https://www.greminders.com/c/TDL7xW",
  "location": "https://meet.google.com/utd-yois-fsp",
  "body": "Review your Paper Needs",
  "name": "Demo Meeting with Dunder Mifflin",
  "status": "confirmed",
  "disposition": null,
  "freebusy": "busy",
  "provider": "google",
  "timezone": "America/Los_Angeles",
  "categories": [
    "Blueberry"
  ],
  "origination_date": "2022-07-07T02:16:35-07:00",
  "start_date": "2022-07-07T23:30:00-07:00",
  "end_date": "2022-07-08T00:00:00-07:00",
  "created_date": "2022-07-07T02:16:35-07:00",
  "updated_date": "2022-07-07T09:16:57+00:00",
  "is_organizer": true,
  "reply_status": null,
  "all_day_event": false,
  "client_timezone": "America/Los_Angeles",
  "meeting_type": "Demo",
  "disposition": "completed",
  "meeting_urls": [
    {
      "url": "https://meet.google.com/utd-yois-fsp",
      "provider": "google_meet"
    }
  ],
  "organizer": {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
  },
  "registrants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    }
  ],
  "participants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    },
    {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
    }
  ]
}
Responses
Returns Event object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 404 | Event with requested ID does not exist | 
Delete Event
Delete Event by ID.  This is a hard delete.   It will also remove the event from the Provider Calendar (Outlook, Google, etc...).
This endpoint does not respect Host Setings.  If you want to do a "cancel" use the /events/
Example:
DELETE https://api.greminders.com/events/<UUID>
HTTP request
DELETE https://api.greminders.com/events/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Event ID | 
Responses
| Code | Description | 
|---|---|
| 204 | Successful response | 
| 400 | Event cannot be deleted for various reasons, including (Provider Calendar is read only, Event is a Group Event, Event hasn't been approved yet, etc...) | 
| 404 | Event with requested ID does not exist | 
| 500 | Event cannot be deleted due to internal error | 
Cancel Event
Cancel Event by ID. This is the equivalent of someone using the cancellation link. This cancel will respect the host notification of the user.
Example:
POST https://api.greminders.com/events/<UUID>/cancel
HTTP request
POST https://api.greminders.com/events/{id}/cancel
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Event ID | 
Responses
| Code | Description | 
|---|---|
| 204 | Successful response | 
| 400 | Event cannot be cancelled for various reasons, including (Event is a Group Event, Event hasn't been approved yet, etc...) | 
| 404 | Event with requested ID does not exist | 
| 500 | Event cannot be cancelled due to internal error | 
Update Event Disposition
Update Event Disposition value
Example:
PUT https://api.greminders.com/events/<UUID>/disposition
{
  "disposition": "completed",
}
HTTP request
PUT https://api.greminders.com/events/{id}/disposition
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Event ID | 
Required query parameters
| Parameter | Description | 
|---|---|
| dispositionstring | Can take the value "complete" or "no_show". Only for events that have not been canceled, do not require confirmation, and have already ended. | 
Example:
{
  "id": "f8ab3fb9-8122-4753-9823-592a401e73ff",
  "external_id": "26jkvg7t3sp1ugmkd72tih91hk",
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "event_type_id": null,
  "url": "https://app.greminders.com/event/2142ba19-64a3-4109-9e60-64f47d9bcb49",
  "weburl": "https://www.google.com/calendar/event?eid=MjZqa3ZnN3Qzc3AxdWdta2Q3MnRpaDkxaGsgbG9wYXRpbnNreXN2LnNkYWlAbQ",
  "reschedule_url": "https://www.greminders.com/r/TDL7xW",
  "cancel_url": "https://www.greminders.com/c/TDL7xW",
  "location": "https://meet.google.com/utd-yois-fsp",
  "body": "Review your Paper Needs",
  "name": "Demo Meeting with Dunder Mifflin",
  "status": "confirmed",
  "disposition": null,
  "freebusy": "busy",
  "provider": "google",
  "timezone": "America/Los_Angeles",
  "categories": [
    "Blueberry"
  ],
  "origination_date": "2022-07-07T02:16:35-07:00",
  "start_date": "2022-07-07T23:30:00-07:00",
  "end_date": "2022-07-08T00:00:00-07:00",
  "created_date": "2022-07-07T02:16:35-07:00",
  "updated_date": "2022-07-07T09:16:57+00:00",
  "is_organizer": true,
  "reply_status": null,
  "all_day_event": false,
  "client_timezone": "America/Los_Angeles",
  "meeting_type": "Demo",
  "disposition": "completed",
  "meeting_urls": [
    {
      "url": "https://meet.google.com/utd-yois-fsp",
      "provider": "google_meet"
    }
  ],
  "organizer": {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
  },
  "registrants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    }
  ],
  "participants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    },
    {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
    }
  ]
}
Responses
Returns Event object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 404 | Event with requested ID does not exist | 
Update Event Reply Status
Update Event Reply Status. This is the same action as a client confirming or declining an appointment via Email/SMS/Voice replies OR manually in the App UI. If you confirm/decline at the Event level the entire Event will be confirmed or declined.
Example:
PUT https://api.greminders.com/events/<UUID>/reply_status
{
  "action": "confirm",
}
HTTP request
PUT https://api.greminders.com/events/{id}/reply_status
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Event ID | 
Required query parameters
| Parameter | Description | 
|---|---|
| actionstring | Can take the value "confirm", "decline" or "reset". Only for events that are not pending confirmation. | 
Example:
{
  "id": "f8ab3fb9-8122-4753-9823-592a401e73ff",
  "external_id": "26jkvg7t3sp1ugmkd72tih91hk",
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "event_type_id": null,
  "url": "https://app.greminders.com/event/2142ba19-64a3-4109-9e60-64f47d9bcb49",
  "weburl": "https://www.google.com/calendar/event?eid=MjZqa3ZnN3Qzc3AxdWdta2Q3MnRpaDkxaGsgbG9wYXRpbnNreXN2LnNkYWlAbQ",
  "reschedule_url": "https://www.greminders.com/r/TDL7xW",
  "cancel_url": "https://www.greminders.com/c/TDL7xW",
  "location": "https://meet.google.com/utd-yois-fsp",
  "body": "Review your Paper Needs",
  "name": "Demo Meeting with Dunder Mifflin",
  "status": "confirmed",
  "disposition": null,
  "freebusy": "busy",
  "provider": "google",
  "timezone": "America/Los_Angeles",
  "categories": [
    "Blueberry"
  ],
  "origination_date": "2022-07-07T02:16:35-07:00",
  "start_date": "2022-07-07T23:30:00-07:00",
  "end_date": "2022-07-08T00:00:00-07:00",
  "created_date": "2022-07-07T02:16:35-07:00",
  "updated_date": "2022-07-07T09:16:57+00:00",
  "is_organizer": true,
  "reply_status": null,
  "all_day_event": false,
  "client_timezone": "America/Los_Angeles",
  "meeting_type": "Demo",
  "disposition": "completed",
  "meeting_urls": [
    {
      "url": "https://meet.google.com/utd-yois-fsp",
      "provider": "google_meet"
    }
  ],
  "organizer": {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
  },
  "registrants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    }
  ],
  "participants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    },
    {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
    }
  ]
}
Responses
Returns Event object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 404 | Event with requested ID does not exist | 
Events Registrants API
Update Registrant Disposition
Update Event Registrant Disposition value
Example:
PUT https://api.greminders.com/events/<UUID>/registrant/<UUID>/disposition
{
  "disposition": "completed",
}
HTTP request
PUT https://api.greminders.com/events/{event_id}/registrant/{registrant_id}/disposition
Path parameters
| Parameter | Description | 
|---|---|
| event_iduuid | Internal Event ID | 
| registrant_iduuid | Internal Event Registrant ID | 
Required query parameters
| Parameter | Description | 
|---|---|
| dispositionstring | Can take the value "complete" or "no_show". Only for events that have not been canceled, do not require confirmation, and have already ended. This option does not apply to internal registrants. | 
Example:
{
  "id": "f8ab3fb9-8122-4753-9823-592a401e73ff",
  "external_id": "26jkvg7t3sp1ugmkd72tih91hk",
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "event_type_id": null,
  "url": "https://app.greminders.com/event/2142ba19-64a3-4109-9e60-64f47d9bcb49",
  "weburl": "https://www.google.com/calendar/event?eid=MjZqa3ZnN3Qzc3AxdWdta2Q3MnRpaDkxaGsgbG9wYXRpbnNreXN2LnNkYWlAbQ",
  "reschedule_url": "https://www.greminders.com/r/TDL7xW",
  "cancel_url": "https://www.greminders.com/c/TDL7xW",
  "location": "https://meet.google.com/utd-yois-fsp",
  "body": "Review your Paper Needs",
  "name": "Demo Meeting with Dunder Mifflin",
  "status": "confirmed",
  "disposition": null,
  "freebusy": "busy",
  "provider": "google",
  "timezone": "America/Los_Angeles",
  "categories": [
    "Blueberry"
  ],
  "origination_date": "2022-07-07T02:16:35-07:00",
  "start_date": "2022-07-07T23:30:00-07:00",
  "end_date": "2022-07-08T00:00:00-07:00",
  "created_date": "2022-07-07T02:16:35-07:00",
  "updated_date": "2022-07-07T09:16:57+00:00",
  "is_organizer": true,
  "reply_status": null,
  "all_day_event": false,
  "client_timezone": "America/Los_Angeles",
  "meeting_type": "Demo",
  "disposition": "completed",
  "meeting_urls": [
    {
      "url": "https://meet.google.com/utd-yois-fsp",
      "provider": "google_meet"
    }
  ],
  "organizer": {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
  },
  "registrants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    }
  ],
  "participants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    },
    {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
    }
  ]
}
Responses
Returns Event object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 404 | Event or Event Registrant with requested ID does not exist | 
Update Registrant Reply Status
Update Event Registrant Reply Status. This is the same action as a client confirming or declining an appointment via Email/SMS/Voice replies OR manually in the App UI. For all non group events, confirming or declining for a specific Event Registrant will confirm/decline the entire Event. For Group Events each registrant is responsible for confirm/decline and this will not affect the entire Event.
Example:
PUT https://api.greminders.com/events/<UUID>/registrant/<UUID>/reply_status
{
  "action": "confirm",
}
HTTP request
PUT https://api.greminders.com/events/{event_id}/registrant/{registrant_id}/reply_status
Path parameters
| Parameter | Description | 
|---|---|
| event_iduuid | Internal Event ID | 
| registrant_iduuid | Internal Event Registrant ID | 
Required query parameters
| Parameter | Description | 
|---|---|
| actionstring | Can take the value "confirm", "decline" or "reset". Only for events that are not pending confirmation. | 
Example:
{
  "id": "f8ab3fb9-8122-4753-9823-592a401e73ff",
  "external_id": "26jkvg7t3sp1ugmkd72tih91hk",
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "event_type_id": null,
  "url": "https://app.greminders.com/event/2142ba19-64a3-4109-9e60-64f47d9bcb49",
  "weburl": "https://www.google.com/calendar/event?eid=MjZqa3ZnN3Qzc3AxdWdta2Q3MnRpaDkxaGsgbG9wYXRpbnNreXN2LnNkYWlAbQ",
  "reschedule_url": "https://www.greminders.com/r/TDL7xW",
  "cancel_url": "https://www.greminders.com/c/TDL7xW",
  "location": "https://meet.google.com/utd-yois-fsp",
  "body": "Review your Paper Needs",
  "name": "Demo Meeting with Dunder Mifflin",
  "status": "confirmed",
  "disposition": null,
  "freebusy": "busy",
  "provider": "google",
  "timezone": "America/Los_Angeles",
  "categories": [
    "Blueberry"
  ],
  "origination_date": "2022-07-07T02:16:35-07:00",
  "start_date": "2022-07-07T23:30:00-07:00",
  "end_date": "2022-07-08T00:00:00-07:00",
  "created_date": "2022-07-07T02:16:35-07:00",
  "updated_date": "2022-07-07T09:16:57+00:00",
  "is_organizer": true,
  "reply_status": null,
  "all_day_event": false,
  "client_timezone": "America/Los_Angeles",
  "meeting_type": "Demo",
  "disposition": "completed",
  "meeting_urls": [
    {
      "url": "https://meet.google.com/utd-yois-fsp",
      "provider": "google_meet"
    }
  ],
  "organizer": {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
  },
  "registrants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    }
  ],
  "participants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    },
    {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
    }
  ]
}
Responses
Returns Event object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 404 | Event or Event Registrant with requested ID does not exist | 
Update Registrant Fields
Update Event Registrant Fields
Example:
PUT https://api.greminders.com/events/<UUID>/registrant/<UUID>
{
  "provider_source": "homegrowncrm",
  "object": "contacts",
  "external_id": "ABC123",
  "field_name": "phone",
  "value": "805-777-8888"
}
HTTP request
PUT https://api.greminders.com/events/{event_id}/registrant/{registrant_id}
Path parameters
| Parameter | Description | 
|---|---|
| event_iduuid | Internal Event ID | 
| registrant_iduuid | Internal Event Registrant ID | 
Optional query parameters
| Parameter | Description | 
|---|---|
| provider_sourcestring | Source Provider (required) such as "salesforce", "homegrowncrm", etc... The System the data came from | 
| objectstring | Object Name, such as account, contact, lead, etc.. | 
| external_idstring | The ID of the record from the system this data originated from | 
| field_namestring | Name of the field to be updated. Fields that can be updated: 'first_name', 'last_name', 'email', 'phone', 'timezone'. (required) | 
| valuestring | Value of the field (required) | 
Example:
{
  "id": "f8ab3fb9-8122-4753-9823-592a401e73ff",
  "external_id": "26jkvg7t3sp1ugmkd72tih91hk",
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "event_type_id": null,
  "url": "https://app.greminders.com/event/2142ba19-64a3-4109-9e60-64f47d9bcb49",
  "weburl": "https://www.google.com/calendar/event?eid=MjZqa3ZnN3Qzc3AxdWdta2Q3MnRpaDkxaGsgbG9wYXRpbnNreXN2LnNkYWlAbQ",
  "reschedule_url": "https://www.greminders.com/r/TDL7xW",
  "cancel_url": "https://www.greminders.com/c/TDL7xW",
  "location": "https://meet.google.com/utd-yois-fsp",
  "body": "Review your Paper Needs",
  "name": "Demo Meeting with Dunder Mifflin",
  "status": "confirmed",
  "disposition": null,
  "freebusy": "busy",
  "provider": "google",
  "timezone": "America/Los_Angeles",
  "categories": [
    "Blueberry"
  ],
  "origination_date": "2022-07-07T02:16:35-07:00",
  "start_date": "2022-07-07T23:30:00-07:00",
  "end_date": "2022-07-08T00:00:00-07:00",
  "created_date": "2022-07-07T02:16:35-07:00",
  "updated_date": "2022-07-07T09:16:57+00:00",
  "is_organizer": true,
  "reply_status": null,
  "all_day_event": false,
  "client_timezone": "America/Los_Angeles",
  "meeting_type": "Demo",
  "disposition": "completed",
  "meeting_urls": [
    {
      "url": "https://meet.google.com/utd-yois-fsp",
      "provider": "google_meet"
    }
  ],
  "organizer": {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
  },
  "registrants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    }
  ],
  "participants": [
    {
      "id": "30667c42-05f4-416e-9698-1e1839fb951d",
      "role": "participant",
      "email": "[email protected]",
      "phone": "17145557777",
      "status": "registered",
      "internal": false,
      "timezone": "America/Los_Angeles",
      "last_name": "Meyers",
      "questions": [
        {
          "key": "bb132ecb-e8bd-4b42-9d93-73f28df53308",
          "label": "What is your Birth Date?",
          "value": "1970-02-15",
          "api_name": "c_birth_date",
          "data_type": "date"
        },
        {
          "key": "02625750-ec63-43bc-92ad-523340d8c26d",
          "label": "Company Name",
          "value": "Office Depot",
          "api_name": "c_company_name",
          "data_type": "text"
        }
      ],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Larry",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": "eventregistration",
      "source_phone": null,
      "updated_date": "2022-07-07T02:50:21-07:00",
      "external_role": "recipient",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": {
        "amount": 50,
        "currency": "USD",
        "provider": "stripe",
        "card_brand": "visa",
        "discount_code": null,
        "transaction_id": "pi_3MpLlbGEyKDZHOoW0fW1fm5C",
        "card_holder_name": "Larry Meyers",
        "card_last4digits": "1111"
      }
    },
    {
      "id": "c84acf25-6c16-4e49-924f-8799b7a4e607",
      "role": "organizer",
      "email": "[email protected]",
      "phone": null,
      "status": "registered",
      "internal": true,
      "timezone": "America/Los_Angeles",
      "last_name": "Scott",
      "questions": [],
      "cancel_url": "https://www.greminders.com/c/BgIzRz",
      "first_name": "Michael",
      "confirm_url": "https://www.greminders.com/f/BgIzRz",
      "created_date": "2022-07-07T02:49:06-07:00",
      "source_email": null,
      "source_phone": "user",
      "updated_date": "2022-07-07T02:49:06-07:00",
      "external_role": "sender",
      "reschedule_url": "https://www.greminders.com/r/BgIzRz",
      "payment": null
    }
  ]
}
Responses
Returns Event object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 404 | Event Registrant with requested ID does not exist | 
Event Types API
List Event Types
Get a list of Event types
Example:
GET https://api.greminders.com/event-types?limit=25&offset=0&sort=name:asc,active:asc
HTTP request
GET https://api.greminders.com/event-types
Optional query parameters
| Parameter | Description | 
|---|---|
| activebool | Filter to include only Active or Inactive Event Types | 
Standard Pagination parameters are used.
Standard Sorting parameters are used. The following parameters are allowed for sorting: name, active.
Example:
{
  "results": [
    {
      "id": <UUID>,
      ...
  ],
  "paging": {
    "current": "https://api.greminders.com/event-types?limit=25&offset=0"
  }
}
Responses
Returns list of Event type objects and a Pagination response object.
| Code | Description | 
|---|---|
| 200 | Successful response | 
Get Event type
Get Event type by ID
Example:
GET https://api.greminders.com/event-types/<UUID>
HTTP request
GET https://api.greminders.com/event-types/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Event type ID | 
Example:
{
  "id": "2d29c06c-0412-4105-82b8-98bfcf8d5a11",
  "url": "https://app.greminders.com/c/someperson/demomeeting",
  "name": "Demo Meeting",
  "type": "single",
  "active": true,
  "team_id": null,
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",>,
  "location": "",
  "start_buffer": "+2 hours",
  "tail_buffer": 0,
  "shortname": "demomeeting",
  "show_home": true,
  "calendar_id": null,
  "description": "",
  "created_date": "2022-07-07T08:56:22+00:00",
  "updated_date": "2022-07-07T08:56:22+00:00",
  "meeting_type": "Demo",
  "meeting_category": "Virtual",
  "last_booked": "2022-07-07T08:56:22+00:00",
  "times_used": 1,
  "require_approval": false,
  "sensitivity": "normal",
  "location_type": "google_meet",
  "event_duration_max": null,
  "event_duration_min": null,
  "event_duration_default": 30,
  "event_duration_type": "fixed",
  "event_duration" : 30,
  "max_events_per_slot": null,
  "can_schedule_from": null,
  "can_schedule_until": null,
  "can_schedule_within": "+60 days",
  "add_customer_to_calendar_invite": true,
  "add_organizer_to_calendar_invite": true,
  "locations": [
    {
      "type": "location",
      "description": "1234 Main St. Los Angeles, CA 90001",
      "sort": 0
    },
    {
      "type": "web_meeting",
      "provider": "google_meet",
      "description": "Google Meet",
      "sort": 1
    },
    {
      "type": "phone_call",
      "description": "{{invitee.phone}}",
      "sort": 2
    },
    {
      "type": "web_meeting",
      "provider": "gotomeeting",
      "description": "GoToMeeting",
      "sort": 3
    }
  ]
}
Responses
Returns Event type object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 404 | Event type with requested ID does not exist | 
Get Single use link
Get Single use link by Event type ID
Example:
GET https://api.greminders.com/event-types/<UUID>/single-use-link
HTTP request
GET https://api.greminders.com/event-types/{id}/single-use-link
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Event type ID | 
Example:
{
  "link": "https://app.greminders.com/e/1464f5387dcd62a632d784a728b04d7b4dbc99ab"
}
Responses
Returns Single use link object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 403 | You do not have permission for this | 
| 404 | Event type with requested ID does not exist | 
Teams API
List Teams
Get a list of Teams
Example:
GET https://api.greminders.com/teams?limit=25&offset=0&sort=name:asc
HTTP request
GET https://api.greminders.com/teams
Optional query parameters
| Parameter | Description | 
|---|---|
| qstring | Text search string by Team name | 
Standard Pagination parameters are used.
Standard Sorting parameters are used. The following parameters are allowed for sorting: name.
Example:
{
  "results": [
    {
      "id": <UUID>,
      ...
    },
    {
      "id": <UUID>,
      ...
    }
  ],
  "paging": {
    "current": "https://api.greminders.com/teams?limit=25&offset=0&q=name"
  }
}
Responses
Returns list of Team objects and a Pagination response object.
| Code | Description | 
|---|---|
| 200 | Successful response | 
Get Team
Get Team by ID
Example:
GET https://api.greminders.com/teams/<UUID>
HTTP request
GET https://api.greminders.com/teams/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Team ID | 
Example:
{
  "id": "f980c2af-379e-4c35-bc1e-a85b2653a6a0",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "name": "Sales Team West",
  "shortname": "484ee5fb",
  "avatar_url": "",
  "banner_url": "https://app.greminders.com/static/build/banner-default.jpg",
  "custom_fields": [
    {
      "key": "1684c2ed-ebc0-4351-afce-7635881eb6fe",
      "label": "Region",
      "value": "West",
      "api_name": "c_region",
      "data_type": "text"
    }
  ],
  "created_date": "2023-01-26T15:22:03+00:00",
  "updated_date": "2023-01-26T15:22:03+00:00",
  "deleted": false
}
Responses
Returns Team object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 404 | Team with requested ID does not exist | 
Create Team
Create new Team
Example:
POST https://api.greminders.com/teams
{
  "name": "Team name"
}
HTTP request
POST https://api.greminders.com/teams
Required body parameters
| Parameter | Description | 
|---|---|
| namestring | Name of new Team | 
| custom_fieldsarray of Question | Custom field values (optional) | 
Example:
{
  "id": "f980c2af-379e-4c35-bc1e-a85b2653a6a0",
  "company_id": "a8faca71-397f-4de6-adca-46c19a8d5bf2",
  "name": "Sales Team West",
  "shortname": "484ee5fb",
  "avatar_url": "",
  "banner_url": "https://app.greminders.com/static/build/banner-default.jpg",
  "custom_fields": [
    {
      "key": "1684c2ed-ebc0-4351-afce-7635881eb6fe",
      "label": "Region",
      "value": "West",
      "api_name": "c_region",
      "data_type": "text"
    }
  ],
  "created_date": "2023-01-26T15:22:03+00:00",
  "updated_date": "2023-01-26T15:22:03+00:00",
  "deleted": false
}
Responses
Returns Team object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 403 | You do not have permission for this | 
Update Team
Update Team data
Example:
PUT https://api.greminders.com/teams/<UUID>
{
  "name": "Sales Team East",
  "custom_fields": [
    {
      "api_name": c_region,
      "value": "East"
    }
  ]
}
HTTP request
PUT https://api.greminders.com/teams/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Team ID | 
Optional body parameters
| Parameter | Description | 
|---|---|
| namestring | Name of new Team | 
| custom_fieldsarray of Question | Custom field values (optional) | 
Example:
{
  "id": <UUID>,
  "company_id": <UUID>,
  "name": "Sales Team East",
  "shortname": "484ee5fb",
  "avatar_url": "",
  "banner_url": "https://app.greminders.com/static/build/banner-default.jpg",
  "custom_fields": [
    {
      "key": <UUID>,
      "api_name": c_region,
      "label": "Region",
      "value": "East"
    }
  ],
  "created_date": "2023-01-26T15:22:03+00:00",
  "updated_date": "2023-01-26T15:22:03+00:00",
  "deleted": false
}
Responses
Returns Team object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 403 | You do not have permission for this | 
| 404 | Team with requested ID does not exist | 
Delete Team
Delete Team
Example:
DELETE https://api.greminders.com/teams/<UUID>
HTTP request
DELETE https://api.greminders.com/teams/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Team ID | 
Responses
| Code | Description | 
|---|---|
| 204 | Successful response | 
| 403 | You do not have permission for this | 
| 404 | Team with requested ID does not exist | 
List Event Types of Team
Get a list of Event types belonging to a Team
Example:
GET https://api.greminders.com/teams/<UUID>/event-types?limit=25&offset=0&sort=name:asc,active:asc
HTTP request
GET https://api.greminders.com/teams/{team_id}/event-types
Path parameters
| Parameter | Description | 
|---|---|
| team_iduuid | Internal Team ID | 
Standard Pagination parameters are used.
Standard Sorting parameters are used. The following parameters are allowed for sorting: name, active.
Example:
{
  "results": [
    {
      "id": <UUID>,
      ...
    },
    {
      "id": <UUID>,
      ...
    }
  ],
  "paging": {
    "current": "https://api.greminders.com/teams/ea21b85b-3cc0-49e3-ac7e-ffb267aa6263/event_types?limit=25&offset=0"
  }
}
Responses
Returns list of Event type objects belonging to a Team and a Pagination response object.
| Code | Description | 
|---|---|
| 200 | Successful response | 
Get Event Type of Team
Get the Event type by ID that belongs to the Team
Example:
GET https://api.greminders.com/teams/<UUID>/event_types/<UUID>
HTTP request
GET https://api.greminders.com/teams/{team_id}/event_types/{event_type_id}
Path parameters
| Parameter | Description | 
|---|---|
| team_iduuid | Internal Team ID | 
| event_type_iduuid | Internal Event type ID | 
Example:
{
  "id": "2d29c06c-0412-4105-82b8-98bfcf8d5a11",
  "url": "https://app.greminders.com/c/someperson/demomeeting",
  "name": "Demo Meeting",
  "type": "single",
  "active": true,
  "team_id": null,
  "user_id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",>,
  "location": "",
  "start_buffer": "+2 hours",
  "tail_buffer": 0,
  "shortname": "demomeeting",
  "show_home": true,
  "calendar_id": null,
  "description": "",
  "created_date": "2022-07-07T08:56:22+00:00",
  "updated_date": "2022-07-07T08:56:22+00:00",
  "meeting_type": "Demo",
  "meeting_category": "Virtual",
  "last_booked": "2022-07-07T08:56:22+00:00",
  "times_used": 1,
  "require_approval": false,
  "sensitivity": "normal",
  "location_type": "google_meet",
  "event_duration_max": null,
  "event_duration_min": null,
  "event_duration_default": 30,
  "event_duration_type": "fixed",
  "event_duration" : 30,
  "max_events_per_slot": null,
  "can_schedule_from": null,
  "can_schedule_until": null,
  "can_schedule_within": "+60 days",
  "add_customer_to_calendar_invite": true,
  "add_organizer_to_calendar_invite": true,
  "locations": [
    {
      "type": "location",
      "description": "1234 Main St. Los Angeles, CA 90001",
      "sort": 0
    },
    {
      "type": "web_meeting",
      "provider": "google_meet",
      "description": "Google Meet",
      "sort": 1
    },
    {
      "type": "phone_call",
      "description": "{{invitee.phone}}",
      "sort": 2
    },
    {
      "type": "web_meeting",
      "provider": "gotomeeting",
      "description": "GoToMeeting",
      "sort": 3
    }
  ]
}
Responses
Returns Event type object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 404 | Team and event type with requested IDs do not exist | 
Get Single use link
Get Single use link by Event type ID that belongs to the Team
Example:
GET https://api.greminders.com/teams/<UUID>/event-types/<UUID>/single-use-link
HTTP request
GET https://api.greminders.com/teams/{team_id}/event-types/{event_type_id}/single-use-link
Path parameters
| Parameter | Description | 
|---|---|
| team_iduuid | Internal Team ID | 
| event_type_iduuid | Internal Event type ID | 
Example:
{
  "link": "https://app.greminders.com/e/1464f5387dcd62a632d784a728b04d7b4dbc99ab"
}
Responses
Returns Single use link object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 403 | You do not have permission for this | 
| 404 | Event type with requested ID does not exist | 
Users API
List Users
Get a list of Users
Example:
GET https://api.greminders.com/users?q=john&sort=first_name:asc,last_name:asc,email:asc,active:asc
HTTP request
GET https://api.greminders.com/users
Optional query parameters
| Parameter | Description | 
|---|---|
| qstring | text search string (optional) | 
Standard Pagination parameters are used.
Standard Sorting parameters are used. The following parameters are allowed for sorting: first_name, last_name, email, active.
Example:
{
  "results": [
    {
      "id": <UUID>,
      ...
    },
    {
      "id": <UUID>,
      ...
    }
  ],
  "paging": {
    "current": "https://api.greminders.com/users?limit=25&offset=0"
  }
}
Responses
The method returns a "results" object, which contains a list of User objects and a Pagination response object.
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 403 | You do not have permission for this | 
Get User
Get User by ID
Example:
GET https://api.greminders.com/users/<UUID>
HTTP request
GET https://api.greminders.com/users/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal User ID | 
Example:
{
  "id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "first_name": "Michael",
  "last_name": "Scott",
  "shortname": "michaelscott",
  "url": "https://app.greminders.com/c/michaelscott",
  "avatar_url": null,
  "email": "[email protected]",
  "email_verified": true,
  "alternative_emails": [
    "[email protected]",
    "[email protected]"
  ],
  "mobile_phone": "19495556666",
  "active": true,
  "deleted": false,
  "country_code": "US",
  "title": "Sales Manager",
  "language": "en",
  "timezone": "America/Los_Angeles",
  "profile_id" : "11b0b3b7-b306-4520-a257-8d96253901fa",
  "custom_fields": [
    {
      "key": "99e3deb3-b09f-4dd8-9802-debd0a349873",
      "label": "Specializes in",
      "value": "Sales",
      "api_name": "c_specializes_in",
      "data_type": "checkbox"
    }
  ],
  "created_date": "2022-06-13T10:58:45-07:00",
  "updated_date": "2022-07-07T09:05:23+00:00"
}
Responses
Returns User object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 403 | You do not have permission for this | 
| 404 | User with requested ID does not exist | 
Invite User
Invite a New User
Example:
POST https://api.greminders.com/users
{
  "email": "[email protected]",
  "send_invitations": true,
  "profile_id": <UUID>
}
HTTP request
POST https://api.greminders.com/users
Body parameters
| Parameter | Description | 
|---|---|
| emailstring | The email address to which the invitation letter will be sent (required) | 
| send_invitationsbool | Send Invite via Email? (optional) | 
| profile_iduuid | User profile ID to Assign to user (optional). Standard Userprofile will be applied If not provided. | 
Example:
{
  "id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "first_name": "Michael",
  "last_name": "Scott",
  "shortname": "michaelscott",
  "url": "https://app.greminders.com/c/michaelscott",
  "avatar_url": null,
  "email": "[email protected]",
  "email_verified": true,
  "alternative_emails": [
    "[email protected]",
    "[email protected]"
  ],
  "mobile_phone": "19495556666",
  "active": true,
  "deleted": false,
  "country_code": "US",
  "title": "Sales Manager",
  "language": "en",
  "timezone": "America/Los_Angeles",
  "profile_id" : "11b0b3b7-b306-4520-a257-8d96253901fa",
  "custom_fields": [
    {
      "key": "99e3deb3-b09f-4dd8-9802-debd0a349873",
      "label": "Specializes in",
      "value": "Sales",
      "api_name": "c_specializes_in",
      "data_type": "checkbox"
    }
  ],
  "created_date": "2022-06-13T10:58:45-07:00",
  "updated_date": "2022-07-07T09:05:23+00:00"
}
Responses
Returns User object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 403 | You do not have permission for this | 
Update User
Update User data
Example:
PUT https://api.greminders.com/users/<UUID>
{
  "first_name": "some",
  "last_name": "person",
  "email": "[email protected]",
  "mobile_phone": "19495556666",
  "alternative_emails": [],
  "title": "",
  "country_code": "US",
  "timezone": "America/Los_Angeles",
  "active": true,
  "profile_id": <UUID>,
  "custom_fields": [
    {
      "api_name": c_expertise,
      "value": "Sales"
    }
  ],
}
HTTP request
PUT https://api.greminders.com/users/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal User ID | 
Optional body parameters
| Parameter | Description | 
|---|---|
| first_namestring | First name | 
| last_namestring | Last name | 
| emailstring | |
| mobile_phonestring | Mobile phone number in E.164 format | 
| alternate_emailsarray of strings | Alternate User emails | 
| titlestring | Job Title | 
| country_codestring | ISO 3166-1 2 character Country Code | 
| timezonestring | Time Zone of User in IANA Time Zone format | 
| activebool | Active User Flag | 
| profile_iduuid | User profile ID to Assign to user. | 
| custom_fieldsarray of Question | Custom field values (optional) | 
Example:
{
  "id": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "first_name": "Michael",
  "last_name": "Scott",
  "shortname": "michaelscott",
  "url": "https://app.greminders.com/c/michaelscott",
  "avatar_url": null,
  "email": "[email protected]",
  "email_verified": true,
  "alternative_emails": [
    "[email protected]",
    "[email protected]"
  ],
  "mobile_phone": "19495556666",
  "active": true,
  "deleted": false,
  "country_code": "US",
  "title": "Sales Manager",
  "language": "en",
  "timezone": "America/Los_Angeles",
  "profile_id" : "11b0b3b7-b306-4520-a257-8d96253901fa",
  "custom_fields": [
    {
      "key": "99e3deb3-b09f-4dd8-9802-debd0a349873",
      "label": "Specializes in",
      "value": "Sales",
      "api_name": "c_specializes_in",
      "data_type": "checkbox"
    }
  ],
  "created_date": "2022-06-13T10:58:45-07:00",
  "updated_date": "2022-07-07T09:05:23+00:00"
}
Responses
Returns User object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 403 | You do not have permission for this | 
| 404 | User with requested ID does not exist | 
Delete User
Delete User
Example:
DELETE https://api.greminders.com/users/<UUID>
HTTP request
DELETE https://api.greminders.com/users/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal User ID | 
Responses
| Code | Description | 
|---|---|
| 204 | Successful response | 
| 403 | You do not have permission for this | 
| 404 | User with requested ID does not exist | 
User Invite URL
Return the Invite URL for the User. If the User has no invite URL or it has already expired the system will generate a new one. If the User has already accepted the invite the system will return "invite_accepted".
Example:
GET https://api.greminders.com/users/<UUID>/invite-url
HTTP request
GET https://api.greminders.com/users/{id}/invite-url
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal User ID | 
Example:
// A valid Invite URL
{ "invite_url": "https://app.greminders.com/gettingstarted/<UUID>/s" }
// The User has already accepted the invite
{ "invite_url": "invite_accepted" }
// The User is inactive. Inactive Users cannot have invite URLs
{ "invite_url": null }
Responses
| Code | Description | 
|---|---|
| 204 | Successful response | 
| 403 | You do not have permission for this | 
| 404 | User with requested ID does not exist | 
Profiles API
List Profiles
Get a list of Profiles
Example:
GET https://api.greminders.com/profiles&sort=name:asc
HTTP request
GET https://api.greminders.com/profiles
Standard Pagination parameters are used.
Standard Sorting parameters are used. The following parameters are allowed for sorting: name.
Example:
{
    "results": [
      {
        "id": <UUID>,
        ...
      },
      {
        "id": <UUID>,
        ...
      }
    ],
    "paging": {
        "current": "https://.greminders.com/profiles?limit=25&offset=0"
    }
}
Responses
The method returns a "results" object, which contains a list of Profiles objects and a Pagination response object.
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 403 | You do not have permission for this | 
Get Profile
Get Profile by ID
Example:
GET https://api.greminders.com/profiles/<UUID>
HTTP request
GET https://api.greminders.com/profiles/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal User ID | 
Example:
{
  "id": "4124b4f9-6995-4256-8ae4-35ee467ae199",
  "name": "Standard User",
  "permissions": [
    "user",
    "client_reminders",
    "client_reminders_create",
    "personal_reminders",
    "personal_reminders_create",
    "event_types",
    "event_types_create",
    "contacts_matching",
    "teams"
  ],
  "integrations": [
    "zoom",
    "gotomeeting",
    "google_meet",
    "microsoft_teams",
    "skype_business",
    "webex",
    "salesforce",
    "redtail-org",
    "hubspot"
  ],
  "user_defaults": {
    "allow_impersonate_calendar_view": true
  },
  "created_date": "2023-05-01T13:06:46+00:00",
  "updated_date": "2023-05-02T11:47:55+00:00",
  "created_by": "77f2bedf-48b4-4e98-af45-8c1185158ce6",
  "updated_by": "b4b27575-de42-42a1-a760-02a79e397d6f"
}
Responses
Returns Profile object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 403 | You do not have permission for this | 
| 404 | Profile with requested ID does not exist | 
Routing Forms API
List Routing Forms
Get a list of Routing forms
Example:
GET https://api.greminders.com/routing-forms?limit=25&offset=0&q=name
HTTP request
GET https://api.greminders.com/routing-forms
Optional query parameters
| Parameter | Description | 
|---|---|
| qstring | Text search string by Routing form name | 
Standard Pagination parameters are used.
Example:
{
  "results": [
    {
      "id": <UUID>,
      ...
    },
    {
      "id": <UUID>,
      ...
    }
  ],
  "paging": {
    "current": "https://api.greminders.com/routing-forms?limit=25&offset=0&q=name"
  }
}
Responses
Returns list of Routing form objects and a Pagination response object.
| Code | Description | 
|---|---|
| 200 | Successful response | 
Get Routing form
Get Routing form by ID
Example:
GET https://api.greminders.com/routing-forms/<UUID>
HTTP request
GET https://api.greminders.com/routing-forms/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Routing form ID | 
Example:
{
  "id": <UUID>,
  "active": true,
  "url": "https://app.greminders.com/o/short_name",
  "shortname": "short_name",
  "name": "routing form name",
  "description": "description for routing form",
  "created_date": "2024-01-22T08:15:44+00:00",
  "updated_date": "2024-01-22T08:15:50+00:00",
  "last_booked": "2024-01-22T13:12:26+00:00",
  "times_used": 1,
}
Responses
Returns Routing form object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 404 | Routing form with requested ID does not exist | 
Webhooks API
List Webhooks
Get a list of Webhooks
Example:
GET https://api.greminders.com/webhooks?limit=25&offset=0&sort=name:asc
HTTP request
GET https://api.greminders.com/webhooks
Standard Pagination parameters are used.
Standard Sorting parameters are used. The following parameters are allowed for sorting: name.
Example:
{
  "results": [
    {
      "id": <UUID>,
      ...
    },
    {
      "id": <UUID>,
      ...
    }
  ],
  "paging": {
    "current": "https://api.greminders.com/webhooks?limit=25&offset=0&q=name"
  }
}
Responses
Returns list of Webhook objects and a Pagination response object.
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 403 | You do not have permission for this | 
Get Webhook
Get Webhook by ID
Example:
GET https://api.greminders.com/webhooks/<UUID>
HTTP request
GET https://api.greminders.com/webhooks/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Webhook ID | 
Example:
{
  "id": "df4394fc-fb39-4b45-88cd-3b727d7d7aae",
  "name": "Webhook Name",
  "url": "https://receiving-endpoint.example",
  "triggers": {
    "event": [
      "created",
      "updated",
      "deleted"
    ],
    "event_type": [
      "created",
      "updated",
      "deleted"
    ],
    "user": [
      "created",
      "updated",
      "deleted"
    ],
    "notification": [
      "created",
      "updated"
    ]
  },
  "trigger_for_events": "all",
  "active": true,
  "created_date": "2024-06-05T10:35:20+00:00",
  "updated_date": "2024-06-05T10:35:20+00:00",
  "signing_secret": "06fd05aaf876b615adf64525971012ff2916d2e4e885f54ceb90855b68c5d25f"
}
Responses
Returns Webhook object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 403 | You do not have permission for this | 
| 404 | Webhook with requested ID does not exist | 
Create Webhook
Create new Webhook
Example:
POST https://api.greminders.com/webhooks
{
  "name": "Webhook Name",
  "url": "https://receiving-endpoint.example"
  "triggers": "{\"event\":[\"created\",\"updated\",\"deleted\"],...}"
  "trigger_for_events": "all"
  "active": true
}
HTTP request
POST https://api.greminders.com/webhooks
Required body parameters
| Parameter | Description | 
|---|---|
| namestring | Name of new Webhook | 
| urlstring | Webhook receiving endpoint URL | 
| triggersstring | A JSON string with the following structure: '{ "object_type": [ "object_event", ... ], ... }' | 
| trigger_for_eventsstring | For which objects is the webhook (value 'all' or 'greminders', default: 'all') | 
| activebool | Active Flag (default: false) | 
Example:
{
  "id": "df4394fc-fb39-4b45-88cd-3b727d7d7aae",
  "name": "Webhook Name",
  "url": "https://receiving-endpoint.example",
  "triggers": {
    "event": [
      "created",
      "updated",
      "deleted"
    ],
    "event_type": [
      "created",
      "updated",
      "deleted"
    ],
    "user": [
      "created",
      "updated",
      "deleted"
    ],
    "notification": [
      "created",
      "updated"
    ]
  },
  "trigger_for_events": "all",
  "active": true,
  "created_date": "2024-06-05T10:35:20+00:00",
  "updated_date": "2024-06-05T10:35:20+00:00",
  "signing_secret": "06fd05aaf876b615adf64525971012ff2916d2e4e885f54ceb90855b68c5d25f"
}
Responses
Returns Webhook object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 403 | You do not have permission for this | 
Update Webhook
Update Webhook data
Example:
PUT https://api.greminders.com/webhooks/<UUID>
{
  {
    "name": "Webhook Name",
    "url": "https://receiving-endpoint.example"
    "triggers": "{\"event\":[\"created\",\"updated\",\"deleted\"],...}"
    "trigger_for_events": "all"
    "active": true
  }
}
HTTP request
PUT https://api.greminders.com/webhooks/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Webhook ID | 
Optional body parameters
| Parameter | Description | 
|---|---|
| namestring | Name of new Webhook | 
| urlstring | Webhook receiving endpoint URL | 
| triggersstring | A JSON string with the following structure: '{ "object_type": [ "object_event", ... ], ... }' | 
| trigger_for_eventsstring | For which objects is the webhook (value 'all' or 'greminders', default: 'all') | 
| activebool | Active Flag (default: false) | 
Example:
{
  "id": "df4394fc-fb39-4b45-88cd-3b727d7d7aae",
  "name": "Webhook Name",
  "url": "https://receiving-endpoint.example",
  "triggers": {
    "event": [
      "created",
      "updated",
      "deleted"
    ],
    "event_type": [
      "created",
      "updated",
      "deleted"
    ],
    "user": [
      "created",
      "updated",
      "deleted"
    ],
    "notification": [
      "created",
      "updated"
    ]
  },
  "trigger_for_events": "all",
  "active": true,
  "created_date": "2024-06-05T10:35:20+00:00",
  "updated_date": "2024-06-05T10:35:20+00:00",
  "signing_secret": "06fd05aaf876b615adf64525971012ff2916d2e4e885f54ceb90855b68c5d25f"
}
Responses
Returns Webhook object
| Code | Description | 
|---|---|
| 200 | Successful response | 
| 400 | Some of the parameters are specified incorrectly | 
| 403 | You do not have permission for this | 
| 404 | Webhook with requested ID does not exist | 
Delete Webhook
Delete Webhook
Example:
DELETE https://api.greminders.com/webhooks/<UUID>
HTTP request
DELETE https://api.greminders.com/webhooks/{id}
Path parameters
| Parameter | Description | 
|---|---|
| iduuid | Internal Webhook ID | 
Responses
| Code | Description | 
|---|---|
| 204 | Successful response | 
| 403 | You do not have permission for this | 
| 404 | Webhook with requested ID does not exist | 
Regenerate Signing Secret
Regenerate signing secret
Example:
GET https://api.greminders.com/webhooks/regenerate-signing-secret
HTTP request
get https://api.greminders.com/webhooks/regenerate-signing-secret
Example:
{
  "signing_secret": "06fd05aaf876b615adf64525971012ff2916d2e4e885f54ceb90855b68c5d25f"
}
Responses
Returns object with Signing Secret
| Code | Description | 
|---|---|
| 204 | Successful response | 
| 403 | You do not have permission for this | 
 
      