Khronon (Email, Tasks, Calendar Manager)

Khronon (Email, Tasks, Calendar Manager) · Acciones GPT

Khronon Timezone Detection API

API for detecting timezone using ipinfo.io

  • GET /jsonGet the timezone information using ipinfo.io
Esquema original API
{
  "openapi": "3.0.0",
  "info": {
    "title": "Khronon Timezone Detection API",
    "version": "1.0.0",
    "description": "API for detecting timezone using ipinfo.io"
  },
  "servers": [
    {
      "url": "https://ipinfo.io",
      "description": "ipinfo.io API server"
    }
  ],
  "paths": {
    "/json": {
      "get": {
        "operationId": "getTimezone",
        "summary": "Get the timezone information using ipinfo.io",
        "responses": {
          "200": {
            "description": "Timezone information retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ip": {
                      "type": "string"
                    },
                    "hostname": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string"
                    },
                    "region": {
                      "type": "string"
                    },
                    "country": {
                      "type": "string"
                    },
                    "loc": {
                      "type": "string"
                    },
                    "org": {
                      "type": "string"
                    },
                    "postal": {
                      "type": "string"
                    },
                    "timezone": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Google Calendar API

API for interacting with Google Calendar, Google Tasks, and Gmail.

  • GET /calendar/v3/calendars/{calendarId}/eventsList events from a specific calendar
  • POST /calendar/v3/calendars/{calendarId}/eventsCreate a new event in a specific calendar
  • DELETE /calendar/v3/calendars/{calendarId}/events/{eventId}Cancel a specific event from a calendar
  • GET /auth/tasks/v1/lists/@default/tasksList the first 20 tasks from the user's default task list
  • POST /auth/tasks/v1/lists/@default/tasksCreate a new task in the user's default task list
  • GET /gmail/v1/users/{userId}/messagesList messages from the Primary category in the user's Gmail inbox

    Lists Gmail messages. To get the sender and subject, you'll need to parse the 'headers' in the 'payload' of each message.

  • GET /gmail/v1/users/{userId}/messages/{messageId}Get details of a specific Gmail message
Esquema original API
{
  "openapi": "3.0.0",
  "info": {
    "title": "Google Calendar API",
    "description": "API for interacting with Google Calendar, Google Tasks, and Gmail.",
    "version": "1.0.1"
  },
  "servers": [
    {
      "url": "https://www.googleapis.com",
      "description": "Google API server"
    }
  ],
  "security": [
    {
      "OAuth2": [
        "https://www.googleapis.com/auth/calendar",
        "https://www.googleapis.com/auth/tasks",
        "https://www.googleapis.com/auth/gmail.readonly"
      ]
    }
  ],
  "paths": {
    "/calendar/v3/calendars/{calendarId}/events": {
      "get": {
        "operationId": "listCalendarEvents",
        "summary": "List events from a specific calendar",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "required": true,
            "description": "The identifier of the calendar",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timeMin",
            "in": "query",
            "required": false,
            "description": "The start time for the event query (inclusive).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "timeMax",
            "in": "query",
            "required": false,
            "description": "The end time for the event query (exclusive).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of calendar events",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createCalendarEvent",
        "summary": "Create a new event in a specific calendar",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "required": true,
            "description": "The identifier of the calendar",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Event"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Event created successfully"
          }
        }
      }
    },
    "/calendar/v3/calendars/{calendarId}/events/{eventId}": {
      "delete": {
        "operationId": "cancelCalendarEvent",
        "summary": "Cancel a specific event from a calendar",
        "parameters": [
          {
            "name": "calendarId",
            "in": "path",
            "required": true,
            "description": "The identifier of the calendar",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "in": "path",
            "required": true,
            "description": "The identifier of the event",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Event cancelled successfully"
          }
        }
      }
    },
    "/auth/tasks/v1/lists/@default/tasks": {
      "get": {
        "operationId": "listGoogleTasks",
        "summary": "List the first 20 tasks from the user's default task list",
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "Maximum number of tasks to return.",
            "schema": {
              "type": "integer",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of tasks",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Task"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createGoogleTask",
        "summary": "Create a new task in the user's default task list",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Task"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Task created successfully"
          }
        }
      }
    },
    "/gmail/v1/users/{userId}/messages": {
      "get": {
        "operationId": "listGmailMessages",
        "summary": "List messages from the Primary category in the user's Gmail inbox",
        "description": "Lists Gmail messages. To get the sender and subject, you'll need to parse the 'headers' in the 'payload' of each message.\n",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The user's email address or 'me' for the authenticating user",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Query string to filter messages, use 'category:primary' to list emails from the Primary category (e.g., \"is:unread\")",
            "schema": {
              "type": "string",
              "default": "category:primary"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Partial response field to include in the response. For example, messages(id,threadId,payload(headers))' to include message ID, thread ID, and headers.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of Gmail messages with selected fields",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Message"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/gmail/v1/users/{userId}/messages/{messageId}": {
      "get": {
        "operationId": "getGmailMessageDetail",
        "summary": "Get details of a specific Gmail message",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The user's email address or 'me' for the authenticating user",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "messageId",
            "in": "path",
            "required": true,
            "description": "The ID of the message to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Details of the specified Gmail message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageDetail"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
            "tokenUrl": "https://oauth2.googleapis.com/token",
            "scopes": {
              "https://www.googleapis.com/auth/calendar": "Manage your calendars",
              "https://www.googleapis.com/auth/tasks": "Manage your tasks",
              "https://www.googleapis.com/auth/gmail.readonly": "Read your emails"
            }
          }
        }
      }
    },
    "schemas": {
      "Event": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "start": {
            "$ref": "#/components/schemas/DateTime"
          },
          "end": {
            "$ref": "#/components/schemas/DateTime"
          }
        }
      },
      "DateTime": {
        "type": "object",
        "properties": {
          "dateTime": {
            "type": "string"
          }
        }
      },
      "Task": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "due": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Message": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "threadId": {
            "type": "string"
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Header"
            }
          }
        }
      },
      "Header": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "MessageDetail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "threadId": {
            "type": "string"
          },
          "labelIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "payload": {
            "type": "object",
            "properties": {
              "headers": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "body": {
                "type": "object",
                "properties": {
                  "size": {
                    "type": "integer"
                  },
                  "data": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}