{
  "openapi": "3.1.0",
  "info": {
    "title": "Gigs Reminders",
    "description": "Reminders are automated, time-based notifications to identify when users are stuck and need to take action.",
    "contact": {
      "name": "Gigs Support",
      "email": "support@gigs.com"
    },
    "version": "2026-01-29.319"
  },
  "servers": [],
  "paths": {},
  "components": {
    "schemas": {
      "com.gigs.reminder.porting.declined": {
        "type": "object",
        "title": "com.gigs.reminder.porting.declined",
        "description": "Fired when a porting request has been declined and the user needs to correct the provided information and resubmit.\n\n<!-- theme: info -->\n> #### Preview\n>\n> This event is currently in preview and might change in the future.\n>\n> We’re excited to hear your feedback and ideas. Please send an email\n> to [support@gigs.com](mailto:support@gigs.com) to share your thoughts.\n",
        "properties": {
          "object": {
            "type": "string",
            "const": "event",
            "description": "Type of object is always `event`."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the event.",
            "examples": [
              "evt_0SNlurA049MEWV5gNTcQ5A07h3Ol"
            ]
          },
          "actor": {
            "type": "object",
            "title": "Actor",
            "properties": {
              "apiKey": {
                "type": "string",
                "description": "The unique identifier for the API key.",
                "examples": [
                  "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
                ]
              },
              "application": {
                "type": "string",
                "description": "The unique identifier for the application.",
                "examples": [
                  "app_0VGkeexD3f7CKhuFX4iUbB"
                ]
              },
              "member": {
                "type": "string",
                "description": "The unique identifier for the member.",
                "examples": [
                  "mbr_0SNlurA020zhzt0CwsIr53"
                ]
              },
              "user": {
                "type": "string",
                "description": "The unique identifier for the user.",
                "examples": [
                  "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "apiKey",
                  "application",
                  "member",
                  "user",
                  "system"
                ],
                "description": "The type of actor."
              }
            },
            "required": [
              "type"
            ],
            "examples": [
              {
                "type": "user",
                "user": "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
              },
              {
                "type": "apiKey",
                "apiKey": "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
              },
              {
                "type": "application",
                "application": "app_0VGkeexD3f7CKhuFX4iUbB"
              },
              {
                "type": "member",
                "member": "mbr_0SNlurA020zhzt0CwsIr53"
              },
              {
                "type": "system"
              }
            ]
          },
          "data": {
            "type": "object",
            "title": "Reminder",
            "description": "Reminders help to onboard users and are triggered by time-based thresholds.",
            "properties": {
              "subscription": {
                "type": "string",
                "description": "Unique identifier for the subscription.",
                "examples": [
                  "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
                ]
              },
              "conditionTriggeredAt": {
                "type": "string",
                "format": "date-time",
                "description": "Timestamp when the condition that triggered this reminder occurred (e.g. porting status changed to informationRequired).",
                "examples": [
                  "2025-01-21T19:38:34Z"
                ]
              },
              "number": {
                "type": "integer",
                "description": "Number of times this reminder has been sent for the subscription.",
                "examples": [
                  1
                ]
              },
              "nextReminderAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "Timestamp when the next reminder is scheduled to be sent, or null if this is the last reminder.",
                "examples": [
                  "2025-01-22T19:38:34Z"
                ]
              }
            },
            "required": [
              "subscription",
              "conditionTriggeredAt",
              "number",
              "nextReminderAt"
            ]
          },
          "datacontenttype": {
            "type": "string",
            "default": "application/json",
            "description": "The RFC 2046 content-type.",
            "examples": [
              "application/json"
            ]
          },
          "previousData": {
            "type": [
              "object",
              "null"
            ],
            "description": "Present only for events of type `*.updated`. Contains the values fields in\nthe schema had prior to the update.\n\nThis field is the result of a shallow diff of the previous schema (i.e., if\na nested field has changed, then the entire object will be included).\n",
            "examples": [
              {
                "emailVerified": false
              }
            ],
            "additionalProperties": true
          },
          "project": {
            "type": "string",
            "description": "Unique identifier for the project where the event occurred.",
            "examples": [
              "gigs"
            ]
          },
          "source": {
            "type": "string",
            "default": "https://api.gigs.com",
            "description": "URI identifying the event source.",
            "examples": [
              "https://api.gigs.com"
            ]
          },
          "specversion": {
            "type": "string",
            "default": "1.0",
            "description": "The CloudEvents spec version.",
            "examples": [
              "1.0"
            ]
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the event occurred.",
            "examples": [
              "2022-03-16T14:12:42Z"
            ]
          },
          "type": {
            "type": "string",
            "const": "com.gigs.reminder.porting.declined",
            "description": "Type is always `com.gigs.reminder.porting.declined`."
          },
          "version": {
            "type": "string",
            "description": "API version used to serialize the data and the event itself.",
            "examples": [
              "2026-01-29.42"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "actor",
          "data",
          "datacontenttype",
          "project",
          "source",
          "specversion",
          "time",
          "type",
          "version"
        ],
        "deprecated": false
      },
      "com.gigs.reminder.porting.informationRequired": {
        "type": "object",
        "title": "com.gigs.reminder.porting.informationRequired",
        "description": "Fired when a porting request requires additional information from the user, or, for a porting with a manual request behavior, is waiting for the user to confirm it before it is requested.\n\n<!-- theme: info -->\n> #### Preview\n>\n> This event is currently in preview and might change in the future.\n>\n> We’re excited to hear your feedback and ideas. Please send an email\n> to [support@gigs.com](mailto:support@gigs.com) to share your thoughts.\n",
        "properties": {
          "object": {
            "type": "string",
            "const": "event",
            "description": "Type of object is always `event`."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the event.",
            "examples": [
              "evt_0SNlurA049MEWV5gNTcQ5A07h3Ol"
            ]
          },
          "actor": {
            "type": "object",
            "title": "Actor",
            "properties": {
              "apiKey": {
                "type": "string",
                "description": "The unique identifier for the API key.",
                "examples": [
                  "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
                ]
              },
              "application": {
                "type": "string",
                "description": "The unique identifier for the application.",
                "examples": [
                  "app_0VGkeexD3f7CKhuFX4iUbB"
                ]
              },
              "member": {
                "type": "string",
                "description": "The unique identifier for the member.",
                "examples": [
                  "mbr_0SNlurA020zhzt0CwsIr53"
                ]
              },
              "user": {
                "type": "string",
                "description": "The unique identifier for the user.",
                "examples": [
                  "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "apiKey",
                  "application",
                  "member",
                  "user",
                  "system"
                ],
                "description": "The type of actor."
              }
            },
            "required": [
              "type"
            ],
            "examples": [
              {
                "type": "user",
                "user": "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
              },
              {
                "type": "apiKey",
                "apiKey": "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
              },
              {
                "type": "application",
                "application": "app_0VGkeexD3f7CKhuFX4iUbB"
              },
              {
                "type": "member",
                "member": "mbr_0SNlurA020zhzt0CwsIr53"
              },
              {
                "type": "system"
              }
            ]
          },
          "data": {
            "type": "object",
            "title": "Reminder",
            "description": "Reminders help to onboard users and are triggered by time-based thresholds.",
            "properties": {
              "subscription": {
                "type": "string",
                "description": "Unique identifier for the subscription.",
                "examples": [
                  "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
                ]
              },
              "conditionTriggeredAt": {
                "type": "string",
                "format": "date-time",
                "description": "Timestamp when the condition that triggered this reminder occurred (e.g. porting status changed to informationRequired).",
                "examples": [
                  "2025-01-21T19:38:34Z"
                ]
              },
              "number": {
                "type": "integer",
                "description": "Number of times this reminder has been sent for the subscription.",
                "examples": [
                  1
                ]
              },
              "nextReminderAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "Timestamp when the next reminder is scheduled to be sent, or null if this is the last reminder.",
                "examples": [
                  "2025-01-22T19:38:34Z"
                ]
              }
            },
            "required": [
              "subscription",
              "conditionTriggeredAt",
              "number",
              "nextReminderAt"
            ]
          },
          "datacontenttype": {
            "type": "string",
            "default": "application/json",
            "description": "The RFC 2046 content-type.",
            "examples": [
              "application/json"
            ]
          },
          "previousData": {
            "type": [
              "object",
              "null"
            ],
            "description": "Present only for events of type `*.updated`. Contains the values fields in\nthe schema had prior to the update.\n\nThis field is the result of a shallow diff of the previous schema (i.e., if\na nested field has changed, then the entire object will be included).\n",
            "examples": [
              {
                "emailVerified": false
              }
            ],
            "additionalProperties": true
          },
          "project": {
            "type": "string",
            "description": "Unique identifier for the project where the event occurred.",
            "examples": [
              "gigs"
            ]
          },
          "source": {
            "type": "string",
            "default": "https://api.gigs.com",
            "description": "URI identifying the event source.",
            "examples": [
              "https://api.gigs.com"
            ]
          },
          "specversion": {
            "type": "string",
            "default": "1.0",
            "description": "The CloudEvents spec version.",
            "examples": [
              "1.0"
            ]
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the event occurred.",
            "examples": [
              "2022-03-16T14:12:42Z"
            ]
          },
          "type": {
            "type": "string",
            "const": "com.gigs.reminder.porting.informationRequired",
            "description": "Type is always `com.gigs.reminder.porting.informationRequired`."
          },
          "version": {
            "type": "string",
            "description": "API version used to serialize the data and the event itself.",
            "examples": [
              "2026-01-29.42"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "actor",
          "data",
          "datacontenttype",
          "project",
          "source",
          "specversion",
          "time",
          "type",
          "version"
        ],
        "deprecated": false
      },
      "com.gigs.reminder.porting.requested": {
        "type": "object",
        "title": "com.gigs.reminder.porting.requested",
        "description": "Fired when a porting is in requested state for a prolonged period so the user can check status with porting's donor provider.\n\n<!-- theme: info -->\n> #### Preview\n>\n> This event is currently in preview and might change in the future.\n>\n> We’re excited to hear your feedback and ideas. Please send an email\n> to [support@gigs.com](mailto:support@gigs.com) to share your thoughts.\n",
        "properties": {
          "object": {
            "type": "string",
            "const": "event",
            "description": "Type of object is always `event`."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the event.",
            "examples": [
              "evt_0SNlurA049MEWV5gNTcQ5A07h3Ol"
            ]
          },
          "actor": {
            "type": "object",
            "title": "Actor",
            "properties": {
              "apiKey": {
                "type": "string",
                "description": "The unique identifier for the API key.",
                "examples": [
                  "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
                ]
              },
              "application": {
                "type": "string",
                "description": "The unique identifier for the application.",
                "examples": [
                  "app_0VGkeexD3f7CKhuFX4iUbB"
                ]
              },
              "member": {
                "type": "string",
                "description": "The unique identifier for the member.",
                "examples": [
                  "mbr_0SNlurA020zhzt0CwsIr53"
                ]
              },
              "user": {
                "type": "string",
                "description": "The unique identifier for the user.",
                "examples": [
                  "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "apiKey",
                  "application",
                  "member",
                  "user",
                  "system"
                ],
                "description": "The type of actor."
              }
            },
            "required": [
              "type"
            ],
            "examples": [
              {
                "type": "user",
                "user": "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
              },
              {
                "type": "apiKey",
                "apiKey": "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
              },
              {
                "type": "application",
                "application": "app_0VGkeexD3f7CKhuFX4iUbB"
              },
              {
                "type": "member",
                "member": "mbr_0SNlurA020zhzt0CwsIr53"
              },
              {
                "type": "system"
              }
            ]
          },
          "data": {
            "type": "object",
            "title": "Reminder",
            "description": "Reminders help to onboard users and are triggered by time-based thresholds.",
            "properties": {
              "subscription": {
                "type": "string",
                "description": "Unique identifier for the subscription.",
                "examples": [
                  "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
                ]
              },
              "conditionTriggeredAt": {
                "type": "string",
                "format": "date-time",
                "description": "Timestamp when the condition that triggered this reminder occurred (e.g. porting status changed to informationRequired).",
                "examples": [
                  "2025-01-21T19:38:34Z"
                ]
              },
              "number": {
                "type": "integer",
                "description": "Number of times this reminder has been sent for the subscription.",
                "examples": [
                  1
                ]
              },
              "nextReminderAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "Timestamp when the next reminder is scheduled to be sent, or null if this is the last reminder.",
                "examples": [
                  "2025-01-22T19:38:34Z"
                ]
              }
            },
            "required": [
              "subscription",
              "conditionTriggeredAt",
              "number",
              "nextReminderAt"
            ]
          },
          "datacontenttype": {
            "type": "string",
            "default": "application/json",
            "description": "The RFC 2046 content-type.",
            "examples": [
              "application/json"
            ]
          },
          "previousData": {
            "type": [
              "object",
              "null"
            ],
            "description": "Present only for events of type `*.updated`. Contains the values fields in\nthe schema had prior to the update.\n\nThis field is the result of a shallow diff of the previous schema (i.e., if\na nested field has changed, then the entire object will be included).\n",
            "examples": [
              {
                "emailVerified": false
              }
            ],
            "additionalProperties": true
          },
          "project": {
            "type": "string",
            "description": "Unique identifier for the project where the event occurred.",
            "examples": [
              "gigs"
            ]
          },
          "source": {
            "type": "string",
            "default": "https://api.gigs.com",
            "description": "URI identifying the event source.",
            "examples": [
              "https://api.gigs.com"
            ]
          },
          "specversion": {
            "type": "string",
            "default": "1.0",
            "description": "The CloudEvents spec version.",
            "examples": [
              "1.0"
            ]
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the event occurred.",
            "examples": [
              "2022-03-16T14:12:42Z"
            ]
          },
          "type": {
            "type": "string",
            "const": "com.gigs.reminder.porting.requested",
            "description": "Type is always `com.gigs.reminder.porting.requested`."
          },
          "version": {
            "type": "string",
            "description": "API version used to serialize the data and the event itself.",
            "examples": [
              "2026-01-29.42"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "actor",
          "data",
          "datacontenttype",
          "project",
          "source",
          "specversion",
          "time",
          "type",
          "version"
        ],
        "deprecated": false
      },
      "com.gigs.reminder.porting.scheduled": {
        "type": "object",
        "title": "com.gigs.reminder.porting.scheduled",
        "description": "Fired before a scheduled porting takes effect.\n\n<!-- theme: info -->\n> #### Preview\n>\n> This event is currently in preview and might change in the future.\n>\n> We’re excited to hear your feedback and ideas. Please send an email\n> to [support@gigs.com](mailto:support@gigs.com) to share your thoughts.\n",
        "properties": {
          "object": {
            "type": "string",
            "const": "event",
            "description": "Type of object is always `event`."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the event.",
            "examples": [
              "evt_0SNlurA049MEWV5gNTcQ5A07h3Ol"
            ]
          },
          "actor": {
            "type": "object",
            "title": "Actor",
            "properties": {
              "apiKey": {
                "type": "string",
                "description": "The unique identifier for the API key.",
                "examples": [
                  "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
                ]
              },
              "application": {
                "type": "string",
                "description": "The unique identifier for the application.",
                "examples": [
                  "app_0VGkeexD3f7CKhuFX4iUbB"
                ]
              },
              "member": {
                "type": "string",
                "description": "The unique identifier for the member.",
                "examples": [
                  "mbr_0SNlurA020zhzt0CwsIr53"
                ]
              },
              "user": {
                "type": "string",
                "description": "The unique identifier for the user.",
                "examples": [
                  "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "apiKey",
                  "application",
                  "member",
                  "user",
                  "system"
                ],
                "description": "The type of actor."
              }
            },
            "required": [
              "type"
            ],
            "examples": [
              {
                "type": "user",
                "user": "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
              },
              {
                "type": "apiKey",
                "apiKey": "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
              },
              {
                "type": "application",
                "application": "app_0VGkeexD3f7CKhuFX4iUbB"
              },
              {
                "type": "member",
                "member": "mbr_0SNlurA020zhzt0CwsIr53"
              },
              {
                "type": "system"
              }
            ]
          },
          "data": {
            "type": "object",
            "title": "Reminder",
            "description": "Reminders help to onboard users and are triggered by time-based thresholds.",
            "properties": {
              "subscription": {
                "type": "string",
                "description": "Unique identifier for the subscription.",
                "examples": [
                  "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
                ]
              },
              "conditionTriggeredAt": {
                "type": "string",
                "format": "date-time",
                "description": "Timestamp when the condition that triggered this reminder occurred (e.g. porting status changed to informationRequired).",
                "examples": [
                  "2025-01-21T19:38:34Z"
                ]
              },
              "number": {
                "type": "integer",
                "description": "Number of times this reminder has been sent for the subscription.",
                "examples": [
                  1
                ]
              },
              "nextReminderAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "Timestamp when the next reminder is scheduled to be sent, or null if this is the last reminder.",
                "examples": [
                  "2025-01-22T19:38:34Z"
                ]
              }
            },
            "required": [
              "subscription",
              "conditionTriggeredAt",
              "number",
              "nextReminderAt"
            ]
          },
          "datacontenttype": {
            "type": "string",
            "default": "application/json",
            "description": "The RFC 2046 content-type.",
            "examples": [
              "application/json"
            ]
          },
          "previousData": {
            "type": [
              "object",
              "null"
            ],
            "description": "Present only for events of type `*.updated`. Contains the values fields in\nthe schema had prior to the update.\n\nThis field is the result of a shallow diff of the previous schema (i.e., if\na nested field has changed, then the entire object will be included).\n",
            "examples": [
              {
                "emailVerified": false
              }
            ],
            "additionalProperties": true
          },
          "project": {
            "type": "string",
            "description": "Unique identifier for the project where the event occurred.",
            "examples": [
              "gigs"
            ]
          },
          "source": {
            "type": "string",
            "default": "https://api.gigs.com",
            "description": "URI identifying the event source.",
            "examples": [
              "https://api.gigs.com"
            ]
          },
          "specversion": {
            "type": "string",
            "default": "1.0",
            "description": "The CloudEvents spec version.",
            "examples": [
              "1.0"
            ]
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the event occurred.",
            "examples": [
              "2022-03-16T14:12:42Z"
            ]
          },
          "type": {
            "type": "string",
            "const": "com.gigs.reminder.porting.scheduled",
            "description": "Type is always `com.gigs.reminder.porting.scheduled`."
          },
          "version": {
            "type": "string",
            "description": "API version used to serialize the data and the event itself.",
            "examples": [
              "2026-01-29.42"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "actor",
          "data",
          "datacontenttype",
          "project",
          "source",
          "specversion",
          "time",
          "type",
          "version"
        ],
        "deprecated": false
      },
      "com.gigs.reminder.sim.suspended": {
        "type": "object",
        "title": "com.gigs.reminder.sim.suspended",
        "description": "Fired while a subscription's SIM stays suspended, 7, 14, 21, 28 and 29 days after the network provider confirmed the suspension. The subscription ends 30 days after that confirmation unless the SIM is unsuspended. `conditionTriggeredAt` is when the suspension was confirmed.\n\n<!-- theme: info -->\n> #### Preview\n>\n> This event is currently in preview and might change in the future.\n>\n> We’re excited to hear your feedback and ideas. Please send an email\n> to [support@gigs.com](mailto:support@gigs.com) to share your thoughts.\n",
        "properties": {
          "object": {
            "type": "string",
            "const": "event",
            "description": "Type of object is always `event`."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the event.",
            "examples": [
              "evt_0SNlurA049MEWV5gNTcQ5A07h3Ol"
            ]
          },
          "actor": {
            "type": "object",
            "title": "Actor",
            "properties": {
              "apiKey": {
                "type": "string",
                "description": "The unique identifier for the API key.",
                "examples": [
                  "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
                ]
              },
              "application": {
                "type": "string",
                "description": "The unique identifier for the application.",
                "examples": [
                  "app_0VGkeexD3f7CKhuFX4iUbB"
                ]
              },
              "member": {
                "type": "string",
                "description": "The unique identifier for the member.",
                "examples": [
                  "mbr_0SNlurA020zhzt0CwsIr53"
                ]
              },
              "user": {
                "type": "string",
                "description": "The unique identifier for the user.",
                "examples": [
                  "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "apiKey",
                  "application",
                  "member",
                  "user",
                  "system"
                ],
                "description": "The type of actor."
              }
            },
            "required": [
              "type"
            ],
            "examples": [
              {
                "type": "user",
                "user": "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
              },
              {
                "type": "apiKey",
                "apiKey": "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
              },
              {
                "type": "application",
                "application": "app_0VGkeexD3f7CKhuFX4iUbB"
              },
              {
                "type": "member",
                "member": "mbr_0SNlurA020zhzt0CwsIr53"
              },
              {
                "type": "system"
              }
            ]
          },
          "data": {
            "type": "object",
            "title": "Reminder",
            "description": "Reminders help to onboard users and are triggered by time-based thresholds.",
            "properties": {
              "subscription": {
                "type": "string",
                "description": "Unique identifier for the subscription.",
                "examples": [
                  "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
                ]
              },
              "conditionTriggeredAt": {
                "type": "string",
                "format": "date-time",
                "description": "Timestamp when the condition that triggered this reminder occurred (e.g. porting status changed to informationRequired).",
                "examples": [
                  "2025-01-21T19:38:34Z"
                ]
              },
              "number": {
                "type": "integer",
                "description": "Number of times this reminder has been sent for the subscription.",
                "examples": [
                  1
                ]
              },
              "nextReminderAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "Timestamp when the next reminder is scheduled to be sent, or null if this is the last reminder.",
                "examples": [
                  "2025-01-22T19:38:34Z"
                ]
              }
            },
            "required": [
              "subscription",
              "conditionTriggeredAt",
              "number",
              "nextReminderAt"
            ]
          },
          "datacontenttype": {
            "type": "string",
            "default": "application/json",
            "description": "The RFC 2046 content-type.",
            "examples": [
              "application/json"
            ]
          },
          "previousData": {
            "type": [
              "object",
              "null"
            ],
            "description": "Present only for events of type `*.updated`. Contains the values fields in\nthe schema had prior to the update.\n\nThis field is the result of a shallow diff of the previous schema (i.e., if\na nested field has changed, then the entire object will be included).\n",
            "examples": [
              {
                "emailVerified": false
              }
            ],
            "additionalProperties": true
          },
          "project": {
            "type": "string",
            "description": "Unique identifier for the project where the event occurred.",
            "examples": [
              "gigs"
            ]
          },
          "source": {
            "type": "string",
            "default": "https://api.gigs.com",
            "description": "URI identifying the event source.",
            "examples": [
              "https://api.gigs.com"
            ]
          },
          "specversion": {
            "type": "string",
            "default": "1.0",
            "description": "The CloudEvents spec version.",
            "examples": [
              "1.0"
            ]
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the event occurred.",
            "examples": [
              "2022-03-16T14:12:42Z"
            ]
          },
          "type": {
            "type": "string",
            "const": "com.gigs.reminder.sim.suspended",
            "description": "Type is always `com.gigs.reminder.sim.suspended`."
          },
          "version": {
            "type": "string",
            "description": "API version used to serialize the data and the event itself.",
            "examples": [
              "2026-01-29.42"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "actor",
          "data",
          "datacontenttype",
          "project",
          "source",
          "specversion",
          "time",
          "type",
          "version"
        ],
        "deprecated": false
      },
      "com.gigs.reminder.subscription.pending": {
        "type": "object",
        "title": "com.gigs.reminder.subscription.pending",
        "description": "Fired when a subscription has remained in the pending status for an extended period (30 days).\n\n<!-- theme: info -->\n> #### Preview\n>\n> This event is currently in preview and might change in the future.\n>\n> We’re excited to hear your feedback and ideas. Please send an email\n> to [support@gigs.com](mailto:support@gigs.com) to share your thoughts.\n",
        "properties": {
          "object": {
            "type": "string",
            "const": "event",
            "description": "Type of object is always `event`."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the event.",
            "examples": [
              "evt_0SNlurA049MEWV5gNTcQ5A07h3Ol"
            ]
          },
          "actor": {
            "type": "object",
            "title": "Actor",
            "properties": {
              "apiKey": {
                "type": "string",
                "description": "The unique identifier for the API key.",
                "examples": [
                  "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
                ]
              },
              "application": {
                "type": "string",
                "description": "The unique identifier for the application.",
                "examples": [
                  "app_0VGkeexD3f7CKhuFX4iUbB"
                ]
              },
              "member": {
                "type": "string",
                "description": "The unique identifier for the member.",
                "examples": [
                  "mbr_0SNlurA020zhzt0CwsIr53"
                ]
              },
              "user": {
                "type": "string",
                "description": "The unique identifier for the user.",
                "examples": [
                  "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "apiKey",
                  "application",
                  "member",
                  "user",
                  "system"
                ],
                "description": "The type of actor."
              }
            },
            "required": [
              "type"
            ],
            "examples": [
              {
                "type": "user",
                "user": "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
              },
              {
                "type": "apiKey",
                "apiKey": "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
              },
              {
                "type": "application",
                "application": "app_0VGkeexD3f7CKhuFX4iUbB"
              },
              {
                "type": "member",
                "member": "mbr_0SNlurA020zhzt0CwsIr53"
              },
              {
                "type": "system"
              }
            ]
          },
          "data": {
            "type": "object",
            "title": "Reminder",
            "description": "Reminders help to onboard users and are triggered by time-based thresholds.",
            "properties": {
              "subscription": {
                "type": "string",
                "description": "Unique identifier for the subscription.",
                "examples": [
                  "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
                ]
              },
              "conditionTriggeredAt": {
                "type": "string",
                "format": "date-time",
                "description": "Timestamp when the condition that triggered this reminder occurred (e.g. porting status changed to informationRequired).",
                "examples": [
                  "2025-01-21T19:38:34Z"
                ]
              },
              "number": {
                "type": "integer",
                "description": "Number of times this reminder has been sent for the subscription.",
                "examples": [
                  1
                ]
              },
              "nextReminderAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "Timestamp when the next reminder is scheduled to be sent, or null if this is the last reminder.",
                "examples": [
                  "2025-01-22T19:38:34Z"
                ]
              }
            },
            "required": [
              "subscription",
              "conditionTriggeredAt",
              "number",
              "nextReminderAt"
            ]
          },
          "datacontenttype": {
            "type": "string",
            "default": "application/json",
            "description": "The RFC 2046 content-type.",
            "examples": [
              "application/json"
            ]
          },
          "previousData": {
            "type": [
              "object",
              "null"
            ],
            "description": "Present only for events of type `*.updated`. Contains the values fields in\nthe schema had prior to the update.\n\nThis field is the result of a shallow diff of the previous schema (i.e., if\na nested field has changed, then the entire object will be included).\n",
            "examples": [
              {
                "emailVerified": false
              }
            ],
            "additionalProperties": true
          },
          "project": {
            "type": "string",
            "description": "Unique identifier for the project where the event occurred.",
            "examples": [
              "gigs"
            ]
          },
          "source": {
            "type": "string",
            "default": "https://api.gigs.com",
            "description": "URI identifying the event source.",
            "examples": [
              "https://api.gigs.com"
            ]
          },
          "specversion": {
            "type": "string",
            "default": "1.0",
            "description": "The CloudEvents spec version.",
            "examples": [
              "1.0"
            ]
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the event occurred.",
            "examples": [
              "2022-03-16T14:12:42Z"
            ]
          },
          "type": {
            "type": "string",
            "const": "com.gigs.reminder.subscription.pending",
            "description": "Type is always `com.gigs.reminder.subscription.pending`."
          },
          "version": {
            "type": "string",
            "description": "API version used to serialize the data and the event itself.",
            "examples": [
              "2026-01-29.42"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "actor",
          "data",
          "datacontenttype",
          "project",
          "source",
          "specversion",
          "time",
          "type",
          "version"
        ],
        "deprecated": false
      },
      "com.gigs.reminder.subscription.simNotInstalled": {
        "type": "object",
        "title": "com.gigs.reminder.subscription.simNotInstalled",
        "description": "Fired when an eSIM has been assigned but it is not yet installed on the user's device. Only available for providers that support eSIM lifecycle events (p3, p11, p14, p15).\n\n<!-- theme: info -->\n> #### Preview\n>\n> This event is currently in preview and might change in the future.\n>\n> We’re excited to hear your feedback and ideas. Please send an email\n> to [support@gigs.com](mailto:support@gigs.com) to share your thoughts.\n",
        "properties": {
          "object": {
            "type": "string",
            "const": "event",
            "description": "Type of object is always `event`."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the event.",
            "examples": [
              "evt_0SNlurA049MEWV5gNTcQ5A07h3Ol"
            ]
          },
          "actor": {
            "type": "object",
            "title": "Actor",
            "properties": {
              "apiKey": {
                "type": "string",
                "description": "The unique identifier for the API key.",
                "examples": [
                  "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
                ]
              },
              "application": {
                "type": "string",
                "description": "The unique identifier for the application.",
                "examples": [
                  "app_0VGkeexD3f7CKhuFX4iUbB"
                ]
              },
              "member": {
                "type": "string",
                "description": "The unique identifier for the member.",
                "examples": [
                  "mbr_0SNlurA020zhzt0CwsIr53"
                ]
              },
              "user": {
                "type": "string",
                "description": "The unique identifier for the user.",
                "examples": [
                  "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "apiKey",
                  "application",
                  "member",
                  "user",
                  "system"
                ],
                "description": "The type of actor."
              }
            },
            "required": [
              "type"
            ],
            "examples": [
              {
                "type": "user",
                "user": "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
              },
              {
                "type": "apiKey",
                "apiKey": "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
              },
              {
                "type": "application",
                "application": "app_0VGkeexD3f7CKhuFX4iUbB"
              },
              {
                "type": "member",
                "member": "mbr_0SNlurA020zhzt0CwsIr53"
              },
              {
                "type": "system"
              }
            ]
          },
          "data": {
            "type": "object",
            "title": "Reminder",
            "description": "Reminders help to onboard users and are triggered by time-based thresholds.",
            "properties": {
              "subscription": {
                "type": "string",
                "description": "Unique identifier for the subscription.",
                "examples": [
                  "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
                ]
              },
              "conditionTriggeredAt": {
                "type": "string",
                "format": "date-time",
                "description": "Timestamp when the condition that triggered this reminder occurred (e.g. porting status changed to informationRequired).",
                "examples": [
                  "2025-01-21T19:38:34Z"
                ]
              },
              "number": {
                "type": "integer",
                "description": "Number of times this reminder has been sent for the subscription.",
                "examples": [
                  1
                ]
              },
              "nextReminderAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "Timestamp when the next reminder is scheduled to be sent, or null if this is the last reminder.",
                "examples": [
                  "2025-01-22T19:38:34Z"
                ]
              }
            },
            "required": [
              "subscription",
              "conditionTriggeredAt",
              "number",
              "nextReminderAt"
            ]
          },
          "datacontenttype": {
            "type": "string",
            "default": "application/json",
            "description": "The RFC 2046 content-type.",
            "examples": [
              "application/json"
            ]
          },
          "previousData": {
            "type": [
              "object",
              "null"
            ],
            "description": "Present only for events of type `*.updated`. Contains the values fields in\nthe schema had prior to the update.\n\nThis field is the result of a shallow diff of the previous schema (i.e., if\na nested field has changed, then the entire object will be included).\n",
            "examples": [
              {
                "emailVerified": false
              }
            ],
            "additionalProperties": true
          },
          "project": {
            "type": "string",
            "description": "Unique identifier for the project where the event occurred.",
            "examples": [
              "gigs"
            ]
          },
          "source": {
            "type": "string",
            "default": "https://api.gigs.com",
            "description": "URI identifying the event source.",
            "examples": [
              "https://api.gigs.com"
            ]
          },
          "specversion": {
            "type": "string",
            "default": "1.0",
            "description": "The CloudEvents spec version.",
            "examples": [
              "1.0"
            ]
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the event occurred.",
            "examples": [
              "2022-03-16T14:12:42Z"
            ]
          },
          "type": {
            "type": "string",
            "const": "com.gigs.reminder.subscription.simNotInstalled",
            "description": "Type is always `com.gigs.reminder.subscription.simNotInstalled`."
          },
          "version": {
            "type": "string",
            "description": "API version used to serialize the data and the event itself.",
            "examples": [
              "2026-01-29.42"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "actor",
          "data",
          "datacontenttype",
          "project",
          "source",
          "specversion",
          "time",
          "type",
          "version"
        ],
        "deprecated": false
      },
      "com.gigs.reminder.subscription.usageMissing": {
        "type": "object",
        "title": "com.gigs.reminder.subscription.usageMissing",
        "description": "Fired when an eSIM is installed but no usage has been detected after activation. Only available for providers that support eSIM lifecycle events (p3, p11, p14, p15).\n\n<!-- theme: info -->\n> #### Preview\n>\n> This event is currently in preview and might change in the future.\n>\n> We’re excited to hear your feedback and ideas. Please send an email\n> to [support@gigs.com](mailto:support@gigs.com) to share your thoughts.\n",
        "properties": {
          "object": {
            "type": "string",
            "const": "event",
            "description": "Type of object is always `event`."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the event.",
            "examples": [
              "evt_0SNlurA049MEWV5gNTcQ5A07h3Ol"
            ]
          },
          "actor": {
            "type": "object",
            "title": "Actor",
            "properties": {
              "apiKey": {
                "type": "string",
                "description": "The unique identifier for the API key.",
                "examples": [
                  "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
                ]
              },
              "application": {
                "type": "string",
                "description": "The unique identifier for the application.",
                "examples": [
                  "app_0VGkeexD3f7CKhuFX4iUbB"
                ]
              },
              "member": {
                "type": "string",
                "description": "The unique identifier for the member.",
                "examples": [
                  "mbr_0SNlurA020zhzt0CwsIr53"
                ]
              },
              "user": {
                "type": "string",
                "description": "The unique identifier for the user.",
                "examples": [
                  "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "apiKey",
                  "application",
                  "member",
                  "user",
                  "system"
                ],
                "description": "The type of actor."
              }
            },
            "required": [
              "type"
            ],
            "examples": [
              {
                "type": "user",
                "user": "usr_0SNlurA049MEWV4OpCwsNyC9Kn2d"
              },
              {
                "type": "apiKey",
                "apiKey": "apk_0SNlurA049MEWV4wRq2ql6SYZxiY"
              },
              {
                "type": "application",
                "application": "app_0VGkeexD3f7CKhuFX4iUbB"
              },
              {
                "type": "member",
                "member": "mbr_0SNlurA020zhzt0CwsIr53"
              },
              {
                "type": "system"
              }
            ]
          },
          "data": {
            "type": "object",
            "title": "Reminder",
            "description": "Reminders help to onboard users and are triggered by time-based thresholds.",
            "properties": {
              "subscription": {
                "type": "string",
                "description": "Unique identifier for the subscription.",
                "examples": [
                  "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
                ]
              },
              "conditionTriggeredAt": {
                "type": "string",
                "format": "date-time",
                "description": "Timestamp when the condition that triggered this reminder occurred (e.g. porting status changed to informationRequired).",
                "examples": [
                  "2025-01-21T19:38:34Z"
                ]
              },
              "number": {
                "type": "integer",
                "description": "Number of times this reminder has been sent for the subscription.",
                "examples": [
                  1
                ]
              },
              "nextReminderAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "Timestamp when the next reminder is scheduled to be sent, or null if this is the last reminder.",
                "examples": [
                  "2025-01-22T19:38:34Z"
                ]
              }
            },
            "required": [
              "subscription",
              "conditionTriggeredAt",
              "number",
              "nextReminderAt"
            ]
          },
          "datacontenttype": {
            "type": "string",
            "default": "application/json",
            "description": "The RFC 2046 content-type.",
            "examples": [
              "application/json"
            ]
          },
          "previousData": {
            "type": [
              "object",
              "null"
            ],
            "description": "Present only for events of type `*.updated`. Contains the values fields in\nthe schema had prior to the update.\n\nThis field is the result of a shallow diff of the previous schema (i.e., if\na nested field has changed, then the entire object will be included).\n",
            "examples": [
              {
                "emailVerified": false
              }
            ],
            "additionalProperties": true
          },
          "project": {
            "type": "string",
            "description": "Unique identifier for the project where the event occurred.",
            "examples": [
              "gigs"
            ]
          },
          "source": {
            "type": "string",
            "default": "https://api.gigs.com",
            "description": "URI identifying the event source.",
            "examples": [
              "https://api.gigs.com"
            ]
          },
          "specversion": {
            "type": "string",
            "default": "1.0",
            "description": "The CloudEvents spec version.",
            "examples": [
              "1.0"
            ]
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the event occurred.",
            "examples": [
              "2022-03-16T14:12:42Z"
            ]
          },
          "type": {
            "type": "string",
            "const": "com.gigs.reminder.subscription.usageMissing",
            "description": "Type is always `com.gigs.reminder.subscription.usageMissing`."
          },
          "version": {
            "type": "string",
            "description": "API version used to serialize the data and the event itself.",
            "examples": [
              "2026-01-29.42"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "actor",
          "data",
          "datacontenttype",
          "project",
          "source",
          "specversion",
          "time",
          "type",
          "version"
        ],
        "deprecated": false
      }
    }
  },
  "security": []
}