{
  "openapi": "3.1.0",
  "info": {
    "title": "Rownd API",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.rownd.io",
      "description": "Rownd production environment"
    },
    {
      "url": "https://api.us-east-2.dev.rownd.io",
      "description": "Rownd development environment"
    }
  ],
  "security": [
    {
      "hubAccessTokenForRowndApi": []
    }
  ],
  "tags": [
    {
      "name": "applications"
    },
    {
      "name": "application_creds"
    },
    {
      "name": "application_schemas"
    }
  ],
  "paths": {
    "/ready": {
      "get": {
        "summary": "Check if the API is ready",
        "operationId": "api_ready",
        "x-fastify-config": {
          "logLevel": "error"
        },
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "API is ready",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ready": {
                      "type": "boolean",
                      "description": "Whether the API is ready"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/service_health": {
      "get": {
        "summary": "Check the health status of rownd",
        "operationId": "api_service_health",
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "Rownd status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/applications": {
      "post": {
        "operationId": "application_create",
        "tags": [
          "applications"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Application"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Application created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "402": {
            "description": "The limit on applications has been reached or no plan is subscribed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}": {
      "get": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "test-app-1"
          }
        ],
        "operationId": "application_get",
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "tags": [
          "applications"
        ],
        "responses": {
          "200": {
            "description": "Retrieved application successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          }
        }
      },
      "put": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "test-app-1"
          },
          {
            "name": "If-Unmodified-Since",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "application_update",
        "tags": [
          "applications"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationUpdateReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Retrieved application successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "412": {
            "description": "New application will overwrite changes made to the application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationUpdatedBy"
                }
              }
            }
          }
        }
      },
      "patch": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "test-app-1"
          },
          {
            "name": "If-Unmodified-Since",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "application_update",
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "tags": [
          "applications"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationUpdateReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Retrieved application successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "412": {
            "description": "New application will overwrite changes made to the application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationUpdatedBy"
                }
              }
            }
          }
        }
      },
      "delete": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "test-app-1"
          }
        ],
        "operationId": "application_delete",
        "tags": [
          "applications"
        ],
        "responses": {
          "204": {
            "description": "Application deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/public": {
      "get": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "application_get_public_meta",
        "tags": [
          "applications"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "The public-facing version of an application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationPublic"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/icon": {
      "put": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "application_icon_update",
        "tags": [
          "applications"
        ],
        "requestBody": {
          "content": {
            "image/png": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            },
            "image/svg": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The image was accepted for processing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationIcon"
                }
              }
            }
          },
          "412": {
            "description": "New application will overwrite changes made to the application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationUpdatedBy"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/logo/{type}": {
      "put": {
        "parameters": [
          {
            "name": "x-rownd-filename",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "light",
                "dark",
                "email"
              ]
            }
          }
        ],
        "operationId": "application_logo_update",
        "tags": [
          "applications"
        ],
        "x-required-role": [
          "none"
        ],
        "requestBody": {
          "content": {
            "image/png": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            },
            "image/svg": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The image was accepted for processing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "412": {
            "description": "New application will overwrite changes made to the application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationUpdatedBy"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/assets/{id}": {
      "get": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "application_asset_get",
        "tags": [
          "applications"
        ],
        "x-required-role": [
          "editor",
          "admin",
          "owner",
          "viewer"
        ],
        "responses": {
          "200": {
            "description": "Retrieved application asset successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetUpload"
                }
              }
            }
          }
        }
      },
      "put": {
        "parameters": [
          {
            "name": "x-rownd-filename",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "application_asset_upsert",
        "tags": [
          "applications"
        ],
        "x-required-role": [
          "editor",
          "admin",
          "owner"
        ],
        "requestBody": {
          "content": {
            "image/png": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            },
            "image/svg": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The asset was accepted for processing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetUpload"
                }
              }
            }
          }
        }
      },
      "delete": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "application_asset_delete",
        "tags": [
          "applications"
        ],
        "x-required-role": [
          "editor",
          "admin",
          "owner"
        ],
        "responses": {
          "204": {
            "description": "Application asset deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/animation/{type}": {
      "put": {
        "parameters": [
          {
            "name": "x-rownd-filename",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "loading"
              ]
            }
          }
        ],
        "operationId": "application_animation_update",
        "tags": [
          "applications"
        ],
        "x-required-role": [
          "none"
        ],
        "requestBody": {
          "content": {}
        },
        "responses": {
          "200": {
            "description": "The json object was accepted for processing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationAnimation"
                }
              }
            }
          },
          "412": {
            "description": "New application will overwrite changes made to the application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationUpdatedBy"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/creds": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "test-app-1"
        }
      ],
      "get": {
        "operationId": "application_creds_list",
        "tags": [
          "application_creds"
        ],
        "responses": {
          "200": {
            "description": "Retrieved application credentials successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationCredentialList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "application_creds_create",
        "tags": [
          "application_creds"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationCredential"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created application credentials successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationCredential"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/creds/{client_id}": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "test-app-1"
        },
        {
          "name": "client_id",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "fe6cc150-d7c1-443a-80c8-12fcf89e65e2"
        }
      ],
      "get": {
        "operationId": "application_creds_get",
        "tags": [
          "application_creds"
        ],
        "responses": {
          "200": {
            "description": "Retrieved application credential successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationCredential"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "application_creds_update",
        "tags": [
          "application_creds"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationCredential"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated application credentials successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationCredential"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_creds_delete",
        "tags": [
          "application_creds"
        ],
        "responses": {
          "204": {
            "description": "Application credential deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/sms-keywords": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "description": "The app ID"
        }
      ],
      "post": {
        "operationId": "application_sms_keyword_create",
        "tags": [
          "applications",
          "sms_keywords"
        ],
        "x-required-role": [
          "rownd_support"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsKeyword"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created SMS keyword successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsKeyword"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "application_sms_keywords_list",
        "tags": [
          "applications",
          "sms_keywords"
        ],
        "parameters": [
          {
            "name": "app_variant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "The app variant ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Created SMS keyword successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsKeywordList"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/sms-keywords/{keyword}": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "description": "The app ID"
        },
        {
          "name": "keyword",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "description": "The sms keyword ID"
        }
      ],
      "get": {
        "operationId": "application_sms_keyword_get",
        "tags": [
          "applications",
          "sms_keywords"
        ],
        "responses": {
          "200": {
            "description": "Created SMS keyword successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsKeyword"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "application_sms_keyword_update",
        "tags": [
          "applications",
          "sms_keywords"
        ],
        "x-required-role": [
          "rownd_support"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsKeyword"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated SMS keyword successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsKeyword"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_sms_keyword_delete",
        "tags": [
          "applications",
          "sms_keywords"
        ],
        "responses": {
          "204": {
            "description": "SMS keyword deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/sms-keywords/{keyword}/state": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "description": "The app ID"
        },
        {
          "name": "keyword",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "description": "The sms keyword ID"
        }
      ],
      "put": {
        "operationId": "application_sms_keyword_state_update",
        "tags": [
          "applications",
          "sms_keywords"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "state"
                ],
                "state": {
                  "$ref": "#/components/schemas/SmsKeywordState"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created SMS keyword successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsKeyword"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/variants": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "test-app-1"
        }
      ],
      "get": {
        "operationId": "application_variants_list",
        "tags": [
          "app_variants"
        ],
        "responses": {
          "200": {
            "description": "Listed application variants successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationVariantList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "application_variant_create",
        "tags": [
          "app_variants"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationVariantCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created application variant successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationVariant"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/variants/{variant}": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "test-app-1"
        },
        {
          "name": "variant",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "operationId": "application_variant_get",
        "tags": [
          "app_variants"
        ],
        "responses": {
          "200": {
            "description": "Retrieved application variant successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationVariant"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "application_variant_update",
        "tags": [
          "app_variants"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationVariant"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated application variant successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationVariant"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_variant_delete",
        "tags": [
          "app_variants"
        ],
        "responses": {
          "204": {
            "description": "Application variant deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/variants/{variant}/logo/{type}": {
      "put": {
        "parameters": [
          {
            "name": "x-rownd-filename",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "variant",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "light",
                "dark",
                "email"
              ]
            }
          }
        ],
        "operationId": "application_variant_logo_update",
        "tags": [
          "applications"
        ],
        "x-required-role": [
          "none"
        ],
        "requestBody": {
          "content": {
            "image/png": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            },
            "image/svg": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The image was accepted for processing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationVariant"
                }
              }
            }
          },
          "412": {
            "description": "New application will overwrite changes made to the application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationUpdatedBy"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/variants-affected": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "test-app-1"
        }
      ],
      "post": {
        "operationId": "application_variants_affected",
        "tags": [
          "app_variants"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HubConfig"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Listed application variants affected by a config change",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationVariantDiffsList"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/domains": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/PageSizeMax1000"
        },
        {
          "$ref": "#/components/parameters/After"
        },
        {
          "$ref": "#/components/parameters/Sort"
        }
      ],
      "get": {
        "operationId": "application_domains_list",
        "description": "Platform API for retrieving application domains",
        "tags": [
          "domains"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "Application domains retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDomainList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "application_domain_create",
        "description": "Platform API for creating an application domain",
        "tags": [
          "domains"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationDomainCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Application domain created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDomain"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/domains/{domain}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/ApplicationDomainID"
        }
      ],
      "get": {
        "operationId": "application_domain_get",
        "description": "Platform API for retrieving an application domain",
        "tags": [
          "domains"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "Application domain retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDomain"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "application_domain_update",
        "description": "Platform API for updating an application domain",
        "tags": [
          "domains"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationDomainUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Application domain updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDomain"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_domain_delete",
        "description": "Platform API for deleting an application domain",
        "tags": [
          "domains"
        ],
        "responses": {
          "204": {
            "description": "Application domain deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/schema": {
      "get": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "test-app-1"
          }
        ],
        "operationId": "application_schema_get",
        "security": [
          {
            "hubKey": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "tags": [
          "application_schemas"
        ],
        "responses": {
          "200": {
            "description": "Retrieved application schema successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationSchemaResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "test-app-1"
          }
        ],
        "operationId": "application_schema_update",
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "tags": [
          "application_schemas"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationSchemaResponse"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated application schema successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationSchemaResponse"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/users/association": {
      "x-rownd-visibility": "private",
      "post": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "application_user_associate",
        "x-required-role": [
          "none"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppUserAssociationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "User successfully associated with application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserAssociationResponse"
                }
              }
            }
          },
          "403": {
            "description": "User verification challenge failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/users/data": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/Fields"
          },
          {
            "$ref": "#/components/parameters/LookupFilter",
            "description": "Return user profiles with verified values that match this filter. This is a comma-separated\nlist of values.\n"
          },
          {
            "$ref": "#/components/parameters/IDFilter"
          },
          {
            "$ref": "#/components/parameters/PageSizeMax1000"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/Sort"
          },
          {
            "name": "include_duplicates",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Include multiple users if they are found using the lookup and id filters",
            "example": true
          }
        ],
        "operationId": "application_user_data_list",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "User records retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserDataList"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "application_user_data_bulk_upsert",
        "description": "Upsert a batch of user profiles",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "users"
                ],
                "properties": {
                  "users": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "user_id",
                        "data"
                      ],
                      "properties": {
                        "user_id": {
                          "type": "string",
                          "description": "The user ID. If you'd like Rownd to generate IDs for you, use one of the\nID directives like `\"__default__\"` or `\"__uuid__\"`.\n",
                          "example": "__default__"
                        },
                        "data": {
                          "$ref": "#/components/schemas/AppUserDataData",
                          "description": "The user profile data"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "User records imported",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_results": {
                      "type": "number",
                      "description": "The total number of results"
                    },
                    "has_failures": {
                      "type": "boolean",
                      "description": "Indicates if there was a failure upserting at least one of the users",
                      "example": false
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "result": {
                            "type": "object",
                            "required": [
                              "user_id"
                            ],
                            "properties": {
                              "user_id": {
                                "type": "string",
                                "description": "The generated user ID"
                              },
                              "data": {
                                "$ref": "#/components/schemas/AppUserDataData",
                                "description": "The generated user profile data"
                              }
                            },
                            "additionalProperties": true
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "success",
                              "failure"
                            ],
                            "description": "The result of processing the user profile",
                            "example": "success"
                          },
                          "error": {
                            "type": "string",
                            "description": "An error message if Rownd could not upsert the user profile successfully",
                            "example": "Something went wrong"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/users/actions": {
      "post": {
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "application_user_actions",
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "appKey": [],
            "appSecret": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actions": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/UserAction"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "User action results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UserActionResult"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/users/__sample__/data": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/AppID"
          }
        ],
        "operationId": "application_user_sample_data_get",
        "description": "Retrieve sample user data",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "User record retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/users/{user}/data": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/Fields"
          }
        ],
        "operationId": "application_user_data_get",
        "description": "Retrieve a user profile",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          },
          {
            "internalPreSharedKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "User profile retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          }
        }
      },
      "put": {
        "parameters": [
          {
            "$ref": "#/components/parameters/WriteDataToIntegrations"
          }
        ],
        "operationId": "application_user_data_upsert",
        "description": "Insert or update user profile data",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppUserData"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AppUserData"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "User profile updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpsertError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "parameters": [
          {
            "$ref": "#/components/parameters/AppID"
          },
          {
            "$ref": "#/components/parameters/UserID"
          },
          {
            "$ref": "#/components/parameters/WriteDataToIntegrations"
          }
        ],
        "operationId": "application_user_data_patch",
        "description": "Updates user profile data",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppUserData"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AppUserData"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "User record updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_user_data_delete",
        "description": "Delete a user profile",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "User record deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/users/{user}/data/fields/{field}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/UserID"
        },
        {
          "$ref": "#/components/parameters/Field"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/Preview"
          },
          {
            "name": "fail_on_error",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Return a 403 status code if the field is unshared by the user"
          }
        ],
        "operationId": "application_user_data_field_get",
        "description": "Retrieve the value of one field in a user profile",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "The value of the data field",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "application_user_data_field_update",
        "description": "Update the value of one field in a user profile",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              }
            },
            "application/json": {
              "schema": {
                "properties": {
                  "value": {}
                },
                "required": [
                  "value"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The value of the data field",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/users/{user}/state": {
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/AppID"
          },
          {
            "$ref": "#/components/parameters/UserID"
          }
        ],
        "operationId": "application_user_state_update",
        "description": "Set the user's state",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppUserStateUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "User state updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/users/{user}/signout": {
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/AppID"
          },
          {
            "$ref": "#/components/parameters/UserID"
          }
        ],
        "operationId": "application_user_signout",
        "description": "Revokes all tokens for the specified user causing them to be signed out on all devices.",
        "tags": [
          "applications"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "x-required-role": [
          "editor",
          "admin",
          "owner"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sign_out_all": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "User signout successful"
          }
        }
      }
    },
    "/applications/{app}/forms": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "schema": {
            "type": "string"
          },
          "required": true
        }
      ],
      "get": {
        "operationId": "app_form_list",
        "tags": [
          "forms"
        ],
        "responses": {
          "200": {
            "description": "Form list retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppFormList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "app_form_create",
        "tags": [
          "forms"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppForm"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Form created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppForm"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/forms/{form}": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "schema": {
            "type": "string"
          },
          "required": true
        },
        {
          "name": "form",
          "in": "path",
          "schema": {
            "type": "string"
          },
          "required": true
        }
      ],
      "get": {
        "operationId": "app_form_get",
        "tags": [
          "forms"
        ],
        "responses": {
          "200": {
            "description": "Form retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppForm"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "app_form_update",
        "tags": [
          "forms"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppForm"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Form updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppForm"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "app_form_delete",
        "tags": [
          "forms"
        ],
        "responses": {
          "200": {
            "description": "Form deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppForm"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/automations": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "schema": {
            "type": "string"
          },
          "required": true
        }
      ],
      "get": {
        "operationId": "application_automations_list",
        "description": "Retrieve the list of automations for the application",
        "tags": [
          "automations"
        ],
        "responses": {
          "200": {
            "description": "Content automations retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_results": {
                      "type": "integer"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "$ref": "#/components/schemas/Automation"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "application_automation_create",
        "description": "Create a new automation for the application",
        "tags": [
          "automations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Automation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Automation created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Automation"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/automations/order": {
      "post": {
        "operationId": "application_automation_order",
        "description": "Update the order of automations for the application",
        "tags": [
          "automations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "order": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Automation order updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_results": {
                      "type": "integer"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "$ref": "#/components/schemas/Automation"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/automations/{automation}": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "schema": {
            "type": "string"
          },
          "required": true
        },
        {
          "name": "automation",
          "in": "path",
          "schema": {
            "type": "string"
          },
          "required": true
        }
      ],
      "get": {
        "operationId": "application_automation_get",
        "description": "Get a specific automation",
        "tags": [
          "automations"
        ],
        "responses": {
          "200": {
            "description": "Automation updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Automation"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "application_automation_update",
        "description": "Update a automation",
        "tags": [
          "automations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Automation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Automation updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Automation"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_automation_delete",
        "description": "Delete a automation",
        "tags": [
          "automations"
        ],
        "responses": {
          "204": {
            "description": "Automation deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/automations/mobile/pages": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        }
      ],
      "post": {
        "operationId": "mobile_app_page_create",
        "description": "Create a mobile app page",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "x-required-roles": [
          "editor"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileAppPageCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully created mobile app page",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppPage"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "mobile_app_pages_list",
        "description": "List mobile app pages",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "hubKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved mobile app pages",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppPageList"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/automations/mobile/pages/{page}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/MobileAppPageID"
        }
      ],
      "get": {
        "operationId": "mobile_app_page_get",
        "description": "Get mobile app page",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "hubKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved mobile app page",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppPage"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "mobile_app_page_update",
        "description": "Update mobile app page",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "x-required-roles": [
          "editor"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileAppPage"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated mobile app page",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppPage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "mobile_app_page_delete",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "x-required-roles": [
          "editor"
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted mobile app page"
          }
        }
      }
    },
    "/applications/{app}/automations/mobile/pages/{page}/captures": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/MobileAppPageID"
        }
      ],
      "post": {
        "operationId": "mobile_app_page_capture_create",
        "description": "Create a mobile app page capture",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "x-required-roles": [
          "editor"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileAppPageCaptureCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully created mobile app page capture",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppPageCapture"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "mobile_app_page_captures_list",
        "description": "List mobile app page captures",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "hubKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved mobile app page captures",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppPageCaptureList"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/automations/mobile/pages/{page}/captures/{capture}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/MobileAppPageID"
        },
        {
          "$ref": "#/components/parameters/MobileAppPageCaptureID"
        }
      ],
      "get": {
        "operationId": "mobile_app_page_capture_get",
        "description": "Get mobile app page capture",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved mobile app page capture",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppPageCapture"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "mobile_app_page_capture_update",
        "description": "Update mobile app page capture",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "x-required-roles": [
          "editor"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileAppPageCaptureUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated mobile app page capture",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppPageCapture"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "mobile_app_page_capture_delete",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "x-required-roles": [
          "editor"
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted mobile app page capture"
          }
        }
      }
    },
    "/applications/{app}/automations/mobile/magic": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        }
      ],
      "post": {
        "operationId": "mobile_app_tagging_magic_create",
        "description": "Create a magic link for mobile app tagging",
        "tags": [
          "automations"
        ],
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "x-required-roles": [
          "editor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobileAppTaggingMagicCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully created mobile app page",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileAppTaggingMagicCreateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/analytics": {
      "get": {
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "end_date",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "The end date of the analytics range.\nDefaults to the current date.\nCannot be more than 90 days later than the start date.\nUse ISO8601 format\n"
          },
          {
            "name": "resolution",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "hour",
                "day",
                "minute"
              ]
            },
            "required": false,
            "description": "The resolution of the analytics data.\nDefaults to day.\n"
          }
        ],
        "operationId": "application_analytics_get",
        "tags": [
          "analytics"
        ],
        "responses": {
          "200": {
            "description": "Analytics retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationAnalytics"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/groups": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        }
      ],
      "get": {
        "operationId": "application_groups_list",
        "description": "Platform API for listing all groups belonging to an app",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageSizeMax100"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/LookupFilter"
          }
        ],
        "responses": {
          "200": {
            "description": "Groups retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "application_group_create",
        "description": "Platform API for creating a new group",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/groups/{group}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/GroupID"
        }
      ],
      "get": {
        "operationId": "application_group_get",
        "description": "Platform API for retrieving a group",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "Group created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "application_group_update",
        "description": "Platform API for updating a group",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_group_delete",
        "description": "Platform API for deleting a group",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "204": {
            "description": "Group deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/groups/{group}/members": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/GroupID"
        }
      ],
      "get": {
        "operationId": "application_group_members_list",
        "description": "Platform API for listing group members",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageSizeMax100"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "$ref": "#/components/parameters/LookupFilter"
          }
        ],
        "responses": {
          "200": {
            "description": "Group members retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupMemberList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "application_group_member_create",
        "description": "Platform API for creating a member within the group. You can create a member by providing a user\nID or a user lookup value like an email address or phone number. The first member created within\na group will automatically be assigned the `'owner'` role.\n",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupMember"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group member created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupMember"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/groups/{group}/members/{member}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/GroupID"
        },
        {
          "$ref": "#/components/parameters/GroupMemberID"
        }
      ],
      "get": {
        "operationId": "application_group_member_get",
        "description": "Platform API for retrieving a group member",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "Group member retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupMember"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "application_group_member_update",
        "description": "Platform API for updating a group member",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupMember"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group member updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupMember"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_group_member_delete",
        "description": "Platform API for deleting a group member",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "204": {
            "description": "Group member deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/groups/{group}/invites": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/GroupID"
        }
      ],
      "post": {
        "operationId": "application_group_invite_create",
        "description": "Platform API for creating a group invite",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupInvite"
              },
              "examples": {
                "Invite with user ID": {
                  "value": {
                    "user_id": "user_ofr5pgvof4w6o94hgjg0urjy",
                    "roles": [
                      "admin"
                    ],
                    "redirect_url": "/somewhere/on/my/site#"
                  }
                },
                "Invite with email": {
                  "value": {
                    "email": "randy@foo.com",
                    "roles": [
                      "admin"
                    ],
                    "redirect_url": "https://foo.com/somewhere/else/on/my/site#"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group invite created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "link": {
                      "type": "string",
                      "description": "The invitation link. Your user will use this link to accept the invite. \nFor now, you will need to send this link to your users. In the future, Rownd will \nautomatically send out invites via email or SMS for you\n"
                    },
                    "invitation": {
                      "$ref": "#/components/schemas/GroupInvite"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "application_group_invites_list",
        "description": "Platform API for listing group invites",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "parameters": [
          {
            "name": "ensured_user_id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The User ID for which the invite was created. _This is not the member ID_"
          }
        ],
        "responses": {
          "200": {
            "description": "Groups retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupInviteList"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/groups/{group}/invites/{invite}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/GroupID"
        },
        {
          "$ref": "#/components/parameters/GroupInviteID"
        }
      ],
      "get": {
        "operationId": "application_group_invite_get",
        "description": "Platform API for retrieving a group invite",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "Group invite retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupInvite"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "application_group_invite_update",
        "description": "Platform API for updating a group invite",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupInvite"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group invite updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupInvite"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_group_invite_delete",
        "description": "Platform API for deleting a group invite",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "204": {
            "description": "Group invite deleted successfully"
          }
        }
      }
    },
    "/me/groups": {
      "get": {
        "operationId": "my_groups_list",
        "description": "User-facing API for listing groups",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Groups retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGroupList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "my_group_create",
        "description": "User-facing API for creating a new group. The callee is automatically added with the `\"owner\"` role.\n",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGroup"
                }
              }
            }
          }
        }
      }
    },
    "/me/groups/{group}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/GroupID"
        }
      ],
      "get": {
        "operationId": "my_group_get",
        "description": "User-facing API for retrieving a group",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Group created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGroup"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "my_group_update",
        "description": "User-facing API for updating a group",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGroup"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "my_group_delete",
        "description": "User-facing API for deleting a group",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "Group deleted successfully"
          }
        }
      }
    },
    "/me/groups/{group}/members": {
      "parameters": [
        {
          "$ref": "#/components/parameters/GroupID"
        }
      ],
      "get": {
        "operationId": "my_group_members_list",
        "description": "User-facing API for listing group members",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PageSizeMax100"
          },
          {
            "$ref": "#/components/parameters/After"
          }
        ],
        "responses": {
          "200": {
            "description": "Group members retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupMemberList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "my_group_member_create",
        "description": "User-facing API for creating a group member",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupMember"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group member created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupMember"
                }
              }
            }
          }
        }
      }
    },
    "/me/groups/{group}/members/{member}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/GroupID"
        },
        {
          "$ref": "#/components/parameters/GroupMemberID"
        }
      ],
      "get": {
        "operationId": "my_group_member_get",
        "description": "User-facing API for retrieving a group member",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Group member retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupMember"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "my_group_member_update",
        "description": "User-facing API for updating a group member",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupMember"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group member updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupMember"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "my_group_member_delete",
        "description": "User-facing API for deleting a group member",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "Group member deleted successfully"
          }
        }
      }
    },
    "/me/groups/{group}/invites": {
      "parameters": [
        {
          "$ref": "#/components/parameters/GroupID"
        }
      ],
      "post": {
        "operationId": "my_group_invite_create",
        "description": "User-facing API for creating a group invite. An invite can be created for a user by providing\ntheir `user_id`, `email`, or `phone`. Once accepted, the user will be added as a member within\nthe group and be assigned the roles specified in the invite.\n",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupInvite"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group invite created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "link": {
                      "type": "string",
                      "description": "The invitation link"
                    },
                    "invitation": {
                      "$ref": "#/components/schemas/GroupInvite"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "my_group_invites_list",
        "description": "User-facing API for listing group invites",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Group invites retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupInviteList"
                }
              }
            }
          }
        }
      }
    },
    "/me/groups/{group}/invites/{invite}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/GroupID"
        },
        {
          "$ref": "#/components/parameters/GroupInviteID"
        }
      ],
      "get": {
        "operationId": "my_group_invite_get",
        "description": "User-facing API for retrieving a group invite",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Group invite retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupInvite"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "my_group_invite_update",
        "description": "User-facing API for updating a group invite",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupInvite"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "my_group_invite_delete",
        "description": "User-facing API for deleting a group invite",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "Group invite deleted successfully"
          }
        }
      }
    },
    "/me/groups/{group}/invites/{invite}/accept": {
      "parameters": [
        {
          "$ref": "#/components/parameters/GroupID"
        },
        {
          "$ref": "#/components/parameters/GroupInviteID"
        }
      ],
      "post": {
        "operationId": "my_group_invite_accept",
        "description": "User-facing API for accepting a group invite. If the acceptance is successful, the user will be\nredirected to the invite's `redirect_url`.\n",
        "tags": [
          "groups"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Group invite accepted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    },
                    "accepted_by": {
                      "type": "string"
                    },
                    "group": {
                      "$ref": "#/components/schemas/group"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/oidc-clients": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/PageSizeMax1000"
        },
        {
          "$ref": "#/components/parameters/After"
        },
        {
          "$ref": "#/components/parameters/Sort"
        }
      ],
      "get": {
        "operationId": "application_oidc_clients_list",
        "description": "Platform API for retrieving OIDC clients for an application",
        "tags": [
          "oidc"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "OIDC clients retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OIDCClientList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "application_oidc_client_create",
        "description": "Platform API for creating an OIDC client for an application",
        "tags": [
          "oidc"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OIDCClientCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OIDC client created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OIDCClient"
                }
              }
            }
          }
        }
      }
    },
    "/applications/{app}/oidc-clients/{client}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/OIDCClientID"
        }
      ],
      "get": {
        "operationId": "application_oidc_client_get",
        "description": "Platform API for retrieving an OIDC client for an application",
        "tags": [
          "oidc"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "responses": {
          "200": {
            "description": "OIDC client retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OIDCClient"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "application_oidc_client_update",
        "description": "Platform API for updating an OIDC client for an application",
        "tags": [
          "oidc"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OIDCClientUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OIDC client updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OIDCClient"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "application_oidc_client_delete",
        "description": "Platform API for deleting an OIDC client for an application",
        "tags": [
          "oidc"
        ],
        "responses": {
          "204": {
            "description": "OIDC client deleted successfully"
          }
        }
      }
    },
    "/applications/{app}/oidc-clients/{client}/logo/{type}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/OIDCClientID"
        },
        {
          "$ref": "#/components/parameters/FileName"
        },
        {
          "$ref": "#/components/parameters/OIDCClientLogoType"
        }
      ],
      "put": {
        "operationId": "application_oidc_client_logo_update",
        "description": "Platform API for updating the logo for an OIDC client",
        "tags": [
          "oidc"
        ],
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "image/png": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            },
            "image/svg": {
              "schema": {
                "type": "object",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OIDC client logo updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OIDCClient"
                }
              }
            }
          }
        }
      }
    },
    "/forms/{form}": {
      "parameters": [
        {
          "name": "form",
          "in": "path",
          "schema": {
            "type": "string"
          },
          "required": true
        }
      ],
      "get": {
        "operationId": "form_get",
        "description": "Retrieve a published form for display on a website, etc",
        "tags": [
          "forms"
        ],
        "x-required-role": [
          "none"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "Form retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppForm"
                }
              }
            }
          }
        }
      }
    },
    "/forms/{form}/data": {
      "parameters": [
        {
          "name": "form",
          "in": "path",
          "schema": {
            "type": "string"
          },
          "required": true
        }
      ],
      "post": {
        "operationId": "form_data_submit",
        "description": "Submit user data for a given form",
        "tags": [
          "forms"
        ],
        "x-required-role": [
          "none"
        ],
        "security": [
          {
            "formKey": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppFormData"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AppFormData"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Form data submitted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppFormData"
                }
              }
            }
          }
        }
      }
    },
    "/accounts": {
      "get": {
        "operationId": "account_list",
        "parameters": [
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer",
              "description": "Number of accounts to return per query. Max is 100."
            }
          },
          {
            "name": "after",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Returns the next page of results after the account ID (inclusive)"
          },
          {
            "name": "list_support_accessible_accounts_only",
            "in": "query",
            "schema": {
              "type": "boolean",
              "description": "Show only accounts with support access enabled"
            }
          }
        ],
        "tags": [
          "accounts"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "200": {
            "description": "Accounts retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "account_create",
        "tags": [
          "accounts"
        ],
        "x-required-role": [
          "none"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCreatePayload"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Account created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Account"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/quick-setup": {
      "post": {
        "operationId": "account_quick_setup",
        "tags": [
          "accounts"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "200": {
            "description": "Account set up successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountSetupResponse"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "operationId": "account_get",
        "tags": [
          "accounts"
        ],
        "responses": {
          "200": {
            "description": "Summary of account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Account"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "account_update",
        "tags": [
          "accounts"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Account"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Summary of account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Account"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "account_delete",
        "tags": [
          "accounts"
        ],
        "responses": {
          "204": {
            "description": "Account deleted successfully"
          }
        }
      }
    },
    "/accounts/{account}/invoices": {
      "get": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_invoice_list",
        "tags": [
          "accounts",
          "invoices"
        ],
        "responses": {
          "200": {
            "description": "Invoices retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceList"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/invoices/{invoice}": {
      "get": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invoice",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_invoice_get",
        "tags": [
          "accounts",
          "invoices"
        ],
        "responses": {
          "200": {
            "description": "Invoice retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invoice"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/payment-methods": {
      "get": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_payment_method_list",
        "tags": [
          "accounts",
          "payment-methods"
        ],
        "responses": {
          "200": {
            "description": "Payment methods list retrieved Successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMethodList"
                }
              }
            }
          }
        }
      },
      "post": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_payment_method_attach",
        "tags": [
          "accounts",
          "payment-methods"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "payment_method_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successfully attached payment method to account"
          }
        }
      }
    },
    "/accounts/{account}/payment-methods/{payment_method}": {
      "delete": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "payment_method",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_payment_method_delete",
        "tags": [
          "accounts",
          "payment-methods"
        ],
        "responses": {
          "204": {
            "description": "Successfully removed payment method on account"
          }
        }
      }
    },
    "/accounts/{account}/payment-methods/default": {
      "put": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_payment_method_default_update",
        "tags": [
          "accounts",
          "payment-methods"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "payment_method_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successfully updated default payment"
          }
        }
      }
    },
    "/accounts/{account}/subscription": {
      "get": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_subscription_get",
        "tags": [
          "accounts",
          "subscription"
        ],
        "responses": {
          "201": {
            "description": "Successfully created subscription",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        }
      },
      "post": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_subscription_create",
        "tags": [
          "accounts",
          "subscription"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successfully created subscription",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        }
      },
      "delete": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_subscription_delete",
        "tags": [
          "accounts",
          "subscription"
        ],
        "responses": {
          "204": {
            "description": "Successfully canceled subscription"
          }
        }
      },
      "put": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_subscription_update",
        "tags": [
          "accounts",
          "subscription"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successfully changed subscription"
          }
        }
      }
    },
    "/accounts/{account}/subscription/coupon": {
      "put": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_coupon_redeem",
        "tags": [
          "accounts",
          "coupon"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "promotion_code"
                ],
                "properties": {
                  "promotion_code": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successfully applied coupon"
          }
        }
      }
    },
    "/accounts/{account}/subscription/coupons/{promotion_code}": {
      "get": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "promotion_code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_coupon_get",
        "tags": [
          "accounts",
          "coupon"
        ],
        "responses": {
          "200": {
            "description": "Promotion code is valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Coupon"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/applications": {
      "get": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "test-app-1"
          }
        ],
        "operationId": "application_list",
        "tags": [
          "applications"
        ],
        "responses": {
          "200": {
            "description": "List of applications for account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationList"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/customer-portal-session": {
      "post": {
        "operationId": "account_stripe_portal_create",
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "redirect_url"
                ],
                "properties": {
                  "redirect_url": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "portal session provided by stripe",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/teams/default/members": {
      "get": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_team_members_list",
        "tags": [
          "accounts",
          "teams"
        ],
        "responses": {
          "200": {
            "description": "List of team members in the account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TeamMemberList"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/teams/default/members/{member}": {
      "patch": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "member",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_team_member_update",
        "x-required-role": [
          "admin",
          "owner"
        ],
        "tags": [
          "accounts",
          "teams"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TeamMember"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Team member updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TeamMember"
                }
              }
            }
          }
        }
      },
      "delete": {
        "parameters": [
          {
            "name": "account",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "member",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "account_team_member_delete",
        "x-required-role": [
          "admin",
          "owner"
        ],
        "tags": [
          "accounts",
          "teams"
        ],
        "responses": {
          "204": {
            "description": "Successfully removed the member from the team"
          }
        }
      }
    },
    "/accounts/{account}/teams/default/invitations": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "account_team_member_invite",
        "x-required-role": [
          "admin",
          "owner"
        ],
        "tags": [
          "accounts",
          "teams"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TeamMemberInvitationRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successfully invited a member to the team"
          }
        }
      }
    },
    "/me": {
      "get": {
        "operationId": "my_profile_get",
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "The current user's data collected/stored by an application.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          }
        }
      }
    },
    "/me/applications": {
      "get": {
        "operationId": "my_applications_list",
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "200": {
            "description": "List of the current user's associated applications",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserApplicationList"
                }
              }
            }
          }
        }
      }
    },
    "/me/applications/{app}": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "test-app-1"
        }
      ],
      "get": {
        "operationId": "my_application_get",
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "200": {
            "description": "An application associated to the current user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserApplication"
                }
              }
            }
          }
        }
      }
    },
    "/me/applications/{app}/schema": {
      "parameters": [
        {
          "name": "app",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "test-app-1"
        }
      ],
      "get": {
        "operationId": "my_application_schema_get",
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "200": {
            "description": "Retrieved application schema successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationSchemaResponse"
                }
              }
            }
          }
        }
      }
    },
    "/me/applications/{app}/signout": {
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/AppID"
          }
        ],
        "operationId": "my_application_signout",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sign_out_all": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "User signout successful"
          }
        }
      }
    },
    "/me/applications/{app}/data": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        }
      ],
      "get": {
        "operationId": "my_application_data_get",
        "description": "Retrieve user profile",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "200": {
            "description": "The current user's data collected/stored by an application.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "my_application_data_update",
        "description": "Update user profile",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppUserData"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AppUserData"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Data successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "my_application_data_delete",
        "description": "Delete user profile",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "204": {
            "description": "Data successfully deleted"
          }
        }
      }
    },
    "/me/applications/{app}/data/merge": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/AppID"
          }
        ],
        "operationId": "my_duplicate_application_data_get",
        "description": "Retrieve all user profiles with matching verification values",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "200": {
            "description": "Duplicate user data retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserDataList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "my_duplicate_application_data_merge",
        "description": "Merge multple user profiles into one profile",
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "app_user_id": {
                    "type": "string",
                    "description": "The user's ID"
                  },
                  "app_user_data": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "merged app user",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "user_data": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "auth_tokens": {
                      "type": "object",
                      "description": "These are returned if the current user is not in the oldest account",
                      "properties": {
                        "refresh_token": {
                          "type": "string"
                        },
                        "access_token": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/me/applications/{app}/data/fields/{field}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AppID"
        },
        {
          "$ref": "#/components/parameters/Field"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/Preview"
          }
        ],
        "operationId": "my_application_data_field_get",
        "description": "Retrieve the value of one field in a user profile",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "200": {
            "description": "The value of the data field",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "my_application_data_field_update",
        "description": "Update the value of one field in a user profile",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              }
            },
            "application/json": {
              "schema": {
                "properties": {
                  "value": {}
                },
                "required": [
                  "value"
                ]
              }
            }
          }
        },
        "tags": [
          "me"
        ],
        "x-required-role": [
          "none"
        ],
        "responses": {
          "200": {
            "description": "The value of the data field",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserData"
                }
              }
            }
          }
        }
      }
    },
    "/me/meta": {
      "get": {
        "operationId": "my_app_meta_get",
        "summary": "Retrieves the current user's metadata for the app represented by their token",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Metadata retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyUserMetaBody"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "my_app_meta_upsert",
        "summary": "Updates the current user's metadata for the app represented by their token",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MyUserMetaBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Metadata updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyUserMetaBody"
                }
              }
            }
          }
        }
      }
    },
    "/me/auth/magic": {
      "post": {
        "operationId": "my_auth_magic_create",
        "description": "Enables the user identified by their access token to create a magic link for themselves. Useful for signing in to a new device via QR code, among other things.\n",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "redirect_url": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Magic link created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MagicLinkCreateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/me/auth/passkeys": {
      "get": {
        "operationId": "my_auth_passkeys_list",
        "description": "Retrieves the passkeys for the current user.",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Passkeys retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyPasskeys"
                }
              }
            }
          }
        }
      }
    },
    "/hub/app-config": {
      "get": {
        "parameters": [
          {
            "name": "app_id",
            "description": "application id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app_config_worker",
            "description": "Compiling for the worker cache",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "operationId": "hub_app_config_get",
        "description": "Retrieves the configuration for the hub.",
        "tags": [
          "hub"
        ],
        "x-required-role": [
          "none"
        ],
        "security": [
          {
            "hubKey": []
          },
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "The hub configuration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HubConfig"
                }
              }
            }
          }
        }
      }
    },
    "/hub/events/metrics": {
      "post": {
        "operationId": "hub_events_track",
        "security": [
          {
            "hubKey": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/HubEventInitiateSignIn"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "App event sent"
          }
        }
      }
    },
    "/hub/verification/init": {
      "post": {
        "operationId": "hub_verification_init",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "return_url": {
                    "type": "string"
                  },
                  "identifier": {
                    "type": "string"
                  },
                  "user_id": {
                    "type": "string",
                    "description": "bring your own user id"
                  },
                  "app_id": {
                    "type": "string"
                  },
                  "user_data": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "turnstile_challenge_response": {
                    "type": "string",
                    "description": "The challenge response from Cloudflare Turnstile"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "challenge_id": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "auth_tokens": {
                      "type": "object",
                      "description": "Present only when the app allows unverified users and the current one isn't already in the system.",
                      "properties": {
                        "refresh_token": {
                          "type": "string"
                        },
                        "access_token": {
                          "type": "string"
                        }
                      }
                    },
                    "init_data": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Present only when the app allows unverified users and the current one isn't already in the system."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/instant": {
      "post": {
        "operationId": "hub_auth_instant",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "hubKey": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "return_url": {
                    "type": "string"
                  },
                  "identifier": {
                    "type": "string"
                  },
                  "user_id": {
                    "type": "string",
                    "description": "bring your own user id"
                  },
                  "app_id": {
                    "type": "string"
                  },
                  "user_data": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "recaptcha_challenge_response": {
                    "type": "string",
                    "description": "The challenge response from Google ReCaptcha"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "auth_tokens": {
                      "type": "object",
                      "properties": {
                        "access_token": {
                          "type": "string"
                        },
                        "refresh_token": {
                          "type": "string"
                        }
                      }
                    },
                    "init_data": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "instant_id": {
                          "type": "string"
                        },
                        "user_id": {
                          "type": "string"
                        }
                      }
                    },
                    "registration_status": {
                      "type": "string",
                      "enum": [
                        "instant_user"
                      ]
                    },
                    "user_type": {
                      "type": "string",
                      "enum": [
                        "instant_user"
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/init": {
      "post": {
        "operationId": "hub_auth_init",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "hubKey": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "return_url": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "description": "email"
                  },
                  "phone": {
                    "type": "string",
                    "description": "phone"
                  },
                  "is_anonymous": {
                    "type": "boolean",
                    "description": "Indicates that this user is anonymous and doesn't need to provide any information."
                  },
                  "instant_user_id": {
                    "type": "string",
                    "description": "An instant user ID. When specified, sign-in is initiated for this user"
                  },
                  "crypto_wallet_address": {
                    "type": "string",
                    "description": "publicKey"
                  },
                  "crypto_signed_message": {
                    "type": "string",
                    "description": "crypto_signed_message"
                  },
                  "user_id": {
                    "type": "string",
                    "description": "Specify an ID for a new user sign-in"
                  },
                  "requested_fields": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "user_data": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "fingerprint": {
                    "type": "object",
                    "properties": {
                      "hash": {
                        "type": "string"
                      },
                      "challenge": {
                        "type": "string"
                      }
                    }
                  },
                  "always_send_verification_message": {
                    "type": "boolean",
                    "description": "send the verification message no matter what"
                  },
                  "redirect": {
                    "type": "boolean",
                    "default": true,
                    "description": "set to false to prevent redirecting after verification"
                  },
                  "turnstile_challenge_response": {
                    "type": "string",
                    "description": "The challenge response from Cloudflare Turnstile"
                  },
                  "intent": {
                    "$ref": "#/components/schemas/Intent",
                    "description": "Specific intent for sign in request"
                  },
                  "continue_with_email": {
                    "type": "boolean",
                    "description": "prevent any other sign in methods when signing in with email"
                  },
                  "group_to_join": {
                    "type": "string",
                    "description": "ID of a group to which the user will join upon completing sign-in. The group\nmust have an admission policy of 'open'.\n"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "challenge_id": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "auth_tokens": {
                      "type": "object",
                      "description": "Present only when the app allows unverified users and the current one isn't already in the system.",
                      "properties": {
                        "refresh_token": {
                          "type": "string"
                        },
                        "access_token": {
                          "type": "string"
                        }
                      }
                    },
                    "registration_status": {
                      "type": "string"
                    },
                    "user_type": {
                      "$ref": "#/components/schemas/UserType"
                    },
                    "app_variant_user_type": {
                      "$ref": "#/components/schemas/UserType"
                    },
                    "fingerprint": {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "valid",
                            "invalid"
                          ]
                        }
                      }
                    },
                    "init_data": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Present only when the app allows unverified users and the current one isn't already in the system."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/hub/verification/challenge_status": {
      "post": {
        "operationId": "hub_verification_challenge_status",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "challenge_id"
                ],
                "properties": {
                  "challenge_id": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "app_user_id": {
                      "type": "string"
                    },
                    "app_id": {
                      "type": "string"
                    },
                    "user_type": {
                      "$ref": "#/components/schemas/UserType"
                    },
                    "app_variant_user_type": {
                      "$ref": "#/components/schemas/UserType"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/challenge_status": {
      "post": {
        "operationId": "hub_auth_challenge_status",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "hubKey": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "challenge_id"
                ],
                "properties": {
                  "challenge_id": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "app_user_id": {
                      "type": "string"
                    },
                    "app_id": {
                      "type": "string"
                    },
                    "access_token": {
                      "type": "string"
                    },
                    "refresh_token": {
                      "type": "string"
                    },
                    "user_type": {
                      "$ref": "#/components/schemas/UserType"
                    },
                    "app_variant_user_type": {
                      "$ref": "#/components/schemas/UserType"
                    },
                    "intent": {
                      "$ref": "#/components/schemas/Intent"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hub/verification/complete": {
      "post": {
        "operationId": "hub_verification_complete",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "token",
                  "challenge_id"
                ],
                "properties": {
                  "token": {
                    "type": "string"
                  },
                  "challenge_id": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "string"
                    },
                    "redirect_url": {
                      "type": "string"
                    },
                    "initiating_user_agent_type": {
                      "type": "string",
                      "enum": [
                        "web",
                        "mobile"
                      ]
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/complete": {
      "post": {
        "operationId": "hub_auth_complete",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "token",
                  "challenge_id"
                ],
                "properties": {
                  "token": {
                    "type": "string"
                  },
                  "challenge_id": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "string"
                    },
                    "redirect_url": {
                      "type": "string"
                    },
                    "initiating_user_agent_type": {
                      "type": "string",
                      "enum": [
                        "web",
                        "mobile"
                      ]
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/challenge_resend": {
      "post": {
        "operationId": "hub_auth_challenge_resend",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "challenge_id"
                ],
                "properties": {
                  "challenge_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/token": {
      "post": {
        "operationId": "hub_auth_token",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "hubKey": []
          },
          {
            "none": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "access_token": {
                    "type": "string"
                  },
                  "access_token_type": {
                    "$ref": "#/components/schemas/SignInMethod"
                  },
                  "refresh_token": {
                    "type": "string"
                  },
                  "id_token": {
                    "type": "string"
                  },
                  "app_id": {
                    "type": "string"
                  },
                  "purpose": {
                    "type": "string",
                    "enum": [
                      "authentication",
                      "connect_account"
                    ]
                  },
                  "intent": {
                    "$ref": "#/components/schemas/Intent"
                  },
                  "intent_mismatch_behavior": {
                    "type": "string",
                    "default": "return_ok_without_tokens",
                    "enum": [
                      "throw",
                      "return_ok_without_tokens"
                    ],
                    "description": "Controls legacy behavior where a token request with an intent that doesn't match the intent of the original sign in request would return 200 OK with certain response properties vs. throwing an error. This is the default behavior, but can be overridden to throw an error instead, which is preferred and may become the default in the future.\n"
                  },
                  "user_data": {
                    "description": "User data to add to the app user. Not valid for Rownd refresh token exchanges",
                    "type": "object",
                    "additionalProperties": true
                  },
                  "group_to_join": {
                    "type": "string",
                    "description": "ID of a group to which the user will join upon completing sign-in. The group\nmust have an admission policy of 'open'.\n"
                  },
                  "instant_user_id": {
                    "type": "string",
                    "description": "An instant user ID. When specified, the token exchange is initiated for this user"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/keys": {
      "get": {
        "operationId": "hub_auth_keys",
        "description": "Retrieve the current JWK set that validates Rownd-issued tokens",
        "tags": [
          "hub"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Keys retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "keys": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "$ref": "#/components/schemas/JWK"
                      },
                      "description": "List of public JWKs for verifying Rownd JWTs"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/.well-known/oauth-authorization-server": {
      "get": {
        "operationId": "hub_auth_wellknown_oauth_authorization_server",
        "tags": [
          "hub"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Retrieve Rownd's OAuth 2.0 metadata",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The OAUth 2.0 metdata"
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/magic": {
      "post": {
        "operationId": "hub_auth_magic_create",
        "description": "Generate a magic link",
        "security": [
          {
            "appKey": [],
            "appSecret": []
          },
          {
            "hubAccessTokenForRowndApi": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "purpose": {
                    "type": "string",
                    "enum": [
                      "auth",
                      "shorten"
                    ],
                    "description": "Determines whether this link will identify a user and allow them to sign in\nautomatically or whether it will just act as a simple redirect. An `auth`\nlink should only be sent to a single user, whereas a `shorten` link can\nbe sent to many users if desired, since it does not carry an authentication\npayload.\n"
                  },
                  "redirect_url": {
                    "type": "string",
                    "description": "The absolute URL or relative path to send your user after sign-in. If the URL is\nrelative, it will be appended to your application's default redirect URL as defined\nin your Rownd application settings. If no default redirect is set, the magic link\ncreation will fail.\n",
                    "example": "/somewhere/in/my/app#"
                  },
                  "expiration": {
                    "type": "string",
                    "description": "A human-readable string representing the duration for which a magic link is valid.\nExamples of valid values include `1h`, `2d`, `3w`, `1m`, etc. May not exceed `30d`.\nDefaults to `30d`.",
                    "example": "30d",
                    "pattern": "^(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$"
                  },
                  "link_data": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "A dictionary of key-value pairs to store with the magic link. These values will be\nreturned in the magic link response and can be used to store any additional data\nyou need to associate with the link.\n\nDo not store sensitive data in this field, as it can be read by anyone who has the link.\nFetching the link with `Accept: application/json` will return the redirect link along with\nthe `link_meta` field. In mobile SDKs, this is returned to you as part of the payload to\nyour magic link delegate/callback.\n"
                  },
                  "verification_type": {
                    "type": "string",
                    "enum": [
                      "email",
                      "phone"
                    ],
                    "description": "The means by which this magic link will be verified by the user. When the magic link\nis visited, the user's email or phone number will be marked as verified depending on\nverification mode. In practice, you should set this value to `'phone'` if you are\nsending this link to the user via SMS. Likewise, set to `'email'` if you are sending\nthe magic link to the user via email.\n"
                  },
                  "data": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Data to add to the user's profile. These properties must exist in the Profile Data\nportion of the Rownd application. If properties such as email, phone, etc identify\nan existing user, the user will be auto-matched regardless of the user_id value.\n",
                    "example": {
                      "email": "gary@foo.com",
                      "first_name": "Gary"
                    }
                  },
                  "user_id": {
                    "type": "string",
                    "description": "Specify a user ID. If the user already exists, include their user ID. Otherwise,\nuse one of `'__default__'`, `'__uuid__'`, or `'__objectid__'`. These special values\ntell Rownd to generate an ID in the provided format, or use the application's\ndefault user ID format.\n",
                    "default": "__default__"
                  },
                  "group_to_join": {
                    "type": "string",
                    "description": "The ID of a group which the user will auto-join upon completing sign-in. The group\nmust have an `'open'` admission policy.\n"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully created magic link",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MagicLinkCreateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/magic/robots.txt": {
      "get": {
        "operationId": "hub_auth_magic_robots",
        "description": "Returns the robots.txt string response for magic links",
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "string response for robots.txt",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/hub/auth/magic/.well-known/apple-app-site-association": {
      "get": {
        "operationId": "hub_auth_magic_apple_appsiteassoc",
        "description": "Returns the appropriate Apple Universal Link AASA JSON response",
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "AASA JSON response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/AppleAppSiteAssociation"
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/magic/.well-known/assetlinks.json": {
      "get": {
        "operationId": "hub_auth_magic_android_assetlinks",
        "description": "Returns the appropriate Google Play Asset Links JSON response",
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "Asset Links JSON response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AndroidAssetLinks"
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/magic/{id}": {
      "get": {
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The magic link identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "hub_auth_magic_complete",
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MagicLinkCompleteResponse"
                }
              }
            },
            "description": "Returns the generated authentication tokens in the case of a client sdk using this to sign in."
          },
          "302": {
            "content": {},
            "description": "Redirects to saved redirect_url"
          }
        }
      }
    },
    "/hub/auth/magic/download": {
      "get": {
        "operationId": "hub_auth_magic_app_download",
        "security": [
          {
            "none": []
          }
        ],
        "parameters": [
          {
            "name": "redirect_url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {}
            },
            "description": "Provides a HTML file to open or download the mobile app"
          },
          "302": {
            "description": "Redirects to a default web page"
          }
        }
      }
    },
    "/hub/auth/magic/verified/{subdomain}/{method}": {
      "get": {
        "parameters": [
          {
            "name": "subdomain",
            "in": "path",
            "description": "subdomain related to mobile universal link",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "method",
            "in": "path",
            "description": "verified auth method type (phone/email)",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "phone",
                "email"
              ]
            }
          },
          {
            "name": "redirected",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-original-host",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "hub_auth_magic_app_verified",
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "content": {},
            "description": "Provides a HTML file to redirect back to the mobile app"
          }
        }
      }
    },
    "/hub/auth/fingerprints": {
      "post": {
        "operationId": "hub_auth_fingerprint_register",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "hash"
                ],
                "properties": {
                  "hash": {
                    "type": "string"
                  },
                  "challenge": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Fingerprint registered successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/Fingerprint"
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/apple/callback": {
      "post": {
        "operationId": "hub_auth_apple_callback",
        "description": "Apple calls this endpoint at the end of the Sign in with Apple flow",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "requestBody": {
          "content": {
            "x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "state",
                  "id_token"
                ],
                "properties": {
                  "user": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "nonce": {
                    "type": "string"
                  },
                  "id_token": {
                    "type": "string"
                  },
                  "code": {
                    "type": "string"
                  },
                  "error": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "302": {
            "description": "Redirects to the original site"
          }
        }
      }
    },
    "/hub/auth/google/callback": {
      "get": {
        "operationId": "hub_auth_google_callback",
        "description": "Google calls this endpoint at the end of the Sign in with Google flow",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "redirect_uri",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "302": {
            "description": "Redirects to the original site"
          }
        }
      }
    },
    "/hub/auth/magic/app": {
      "post": {
        "operationId": "hub_auth_magic_app",
        "description": "Allow any visitor to provide their phone number, generate a download link and send via sms.\n",
        "security": [
          {
            "hubKey": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone"
                ],
                "properties": {
                  "phone": {
                    "type": "string",
                    "description": "phone number"
                  },
                  "data": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Sent app download link"
          }
        }
      }
    },
    "/hub/auth/passkeys/registration": {
      "get": {
        "parameters": [
          {
            "name": "origin",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "hub_auth_passkeys_registration_init",
        "description": "Generate a client config for passkey registration",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Challenge generated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "challenge": {
                      "type": "string"
                    },
                    "rp": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The Rownd app name that generated this token."
                        },
                        "id": {
                          "type": "string",
                          "description": "The Rownd app ID that generated this token."
                        }
                      }
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "The app user's ID"
                        },
                        "name": {
                          "type": "string",
                          "description": "If the app user's first name is present, it will be present here."
                        },
                        "displayName": {
                          "type": "string"
                        }
                      }
                    },
                    "pubKeyCredParams": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string"
                          },
                          "alg": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "timeout": {
                      "type": "integer"
                    },
                    "attestation": {
                      "type": "string"
                    },
                    "excludeCredentials": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "transports": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "authenticatorSelection": {
                      "type": "object",
                      "properties": {
                        "residentKey": {
                          "type": "string"
                        },
                        "requireResidentKey": {
                          "type": "boolean"
                        },
                        "userVerification": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "hub_auth_passkeys_registration_complete",
        "description": "Save the passkey registration, associating it with the user object",
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "rawId",
                  "type",
                  "response"
                ],
                "properties": {
                  "authenticatorAttachment": {
                    "type": "string"
                  },
                  "clientExtensionResults": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "id": {
                    "type": "string"
                  },
                  "rawId": {
                    "type": "string"
                  },
                  "response": {
                    "type": "object",
                    "required": [
                      "attestationObject",
                      "clientDataJSON"
                    ],
                    "properties": {
                      "attestationObject": {
                        "type": "string"
                      },
                      "clientDataJSON": {
                        "type": "string"
                      }
                    }
                  },
                  "transports": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "type": {
                    "type": "string",
                    "default": "public-key",
                    "enum": [
                      "public-key"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Passkey registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verified": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/passkeys/authentication": {
      "get": {
        "parameters": [
          {
            "name": "origin",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "hub_auth_passkeys_authentication_init",
        "description": "Generate a challenge and auth options for passkey sign-in",
        "security": [
          {
            "hubKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Passkey authentication initiated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "challenge": {
                      "type": "string"
                    },
                    "rpId": {
                      "type": "string"
                    },
                    "timeout": {
                      "type": "integer"
                    },
                    "userVerification": {
                      "type": "string",
                      "enum": [
                        "required"
                      ]
                    },
                    "options": {
                      "type": "object",
                      "properties": {
                        "allowBiometrics": {
                          "type": "boolean"
                        },
                        "allowPasscodeFallback": {
                          "type": "boolean"
                        },
                        "allowManualEntry": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "hub_auth_passkeys_authentication_complete",
        "description": "Verify the provided passkey and sign the user in if everything checks out.",
        "security": [
          {
            "hubKey": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "response"
                ],
                "properties": {
                  "clientExtensionResults": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "rawId": {
                    "type": "string"
                  },
                  "response": {
                    "type": "object",
                    "properties": {
                      "authenticationData": {
                        "type": "string"
                      },
                      "clientDataJSON": {
                        "type": "string"
                      },
                      "signature": {
                        "type": "string"
                      },
                      "userHandle": {
                        "type": "string"
                      }
                    }
                  },
                  "groupToJoin": {
                    "type": "string",
                    "description": "ID of a group to which the user will join upon completing sign-in. The group\nmust have an admission policy of 'open'.\n"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Passkey authentication completed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verified": {
                      "type": "boolean"
                    },
                    "app_user_id": {
                      "type": "string"
                    },
                    "app_id": {
                      "type": "string"
                    },
                    "access_token": {
                      "type": "string"
                    },
                    "refresh_token": {
                      "type": "string"
                    },
                    "user_type": {
                      "$ref": "#/components/schemas/UserType"
                    },
                    "app_variant_user_type": {
                      "$ref": "#/components/schemas/UserType"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Passkey authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/wallet/init": {
      "post": {
        "operationId": "hub_auth_wallet_init",
        "description": "Initiate an authentication with a crypto wallet / account",
        "security": [
          {
            "hubKey": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "app_id",
                  "wallet_id",
                  "network_id"
                ],
                "properties": {
                  "wallet_id": {
                    "type": "string",
                    "description": "The wallet identifier",
                    "example": "my-near-wallet"
                  },
                  "network_id": {
                    "type": "string",
                    "description": "The crypto network ID prefixed by the chain like `near-`",
                    "enum": [
                      "near-mainnet",
                      "near-testnet"
                    ]
                  },
                  "app_id": {
                    "type": "string",
                    "description": "The Rownd application ID"
                  },
                  "access_token": {
                    "type": "string",
                    "description": "The Rownd user's access token"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Wallet challenge created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "challenge_id": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/wallet/complete": {
      "post": {
        "operationId": "hub_auth_wallet_complete",
        "description": "Complete a crypto wallet authentication",
        "security": [
          {
            "hubKey": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "challenge_id"
                ],
                "properties": {
                  "challenge_id": {
                    "type": "string"
                  },
                  "transaction_hash": {
                    "type": "string",
                    "description": "The transaction hash of the signed challenge"
                  },
                  "transaction_signer_id": {
                    "type": "string",
                    "description": "The account ID that signed the transaction",
                    "example": "foo.account.near"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Wallet challenge created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "user_data": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/oauth2/providers": {
      "get": {
        "operationId": "hub_auth_oauth2_providers",
        "description": "Retrieves the list of OAuth2 providers that are configured for the app represented by the app key.",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "hubKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "The list of OAuth2 providers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "providers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "display_name": {
                            "type": "string"
                          },
                          "icon_url": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hub/auth/oauth2/{provider}/authorize": {
      "parameters": [
        {
          "name": "provider",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "app_key",
          "in": "query",
          "schema": {
            "type": "string"
          },
          "required": true
        },
        {
          "name": "redirect_uri",
          "in": "query",
          "schema": {
            "type": "string"
          },
          "required": true
        }
      ],
      "get": {
        "operationId": "hub_auth_oauth2_authorize",
        "description": "Redirects to the OAuth2 provider's authorization endpoint with the appropriate parameters.\n",
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "302": {
            "description": "Redirects to the OAuth2 provider's authorization endpoint"
          }
        }
      }
    },
    "/hub/auth/oauth2/{provider}/callback": {
      "parameters": [
        {
          "name": "provider",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "operationId": "hub_auth_oauth2_callback",
        "description": "The OAuth2 provider calls this endpoint at the end of the authorization flow.\n",
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "302": {
            "description": "Redirects to the original site"
          }
        }
      }
    },
    "/hub/connection_action": {
      "post": {
        "operationId": "hub_connection_action",
        "tags": [
          "hub"
        ],
        "security": [
          {
            "hubAccessToken": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HubConnectionAction"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully executed action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionActionResult"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/users/email-insights": {
      "x-rownd-visibility": "private",
      "get": {
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "user_email_insights",
        "tags": [
          "misc"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "Insights on the provided email address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailInsights"
                }
              }
            }
          }
        }
      }
    },
    "/plans": {
      "x-rownd-visibility": "private",
      "get": {
        "operationId": "plan_list",
        "tags": [
          "misc"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "responses": {
          "200": {
            "description": "Available subscription plans",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PricingPlanList"
                }
              }
            }
          }
        }
      }
    },
    "/integrations/connectors": {
      "get": {
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "connector_list",
        "x-required-role": [
          "none"
        ],
        "tags": [
          "integrations"
        ],
        "responses": {
          "200": {
            "description": "Available integration connectors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorList"
                }
              }
            }
          }
        }
      }
    },
    "/integrations/connectors/{connector}/actions": {
      "parameters": [
        {
          "name": "connector",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "connector_action",
        "x-required-role": [
          "none"
        ],
        "tags": [
          "integrations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionAction"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully executed action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionActionResult"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/integrations/connectors/{connector}/notify": {
      "parameters": [
        {
          "name": "connector",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "security": [
          {
            "none": []
          }
        ],
        "operationId": "connector_notify",
        "x-required-role": [
          "none"
        ],
        "x-fastify-config": {
          "rawBody": true
        },
        "tags": [
          "integrations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionNotifyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully executed notify",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionNotifyResponse"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/integrations/connections": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "operationId": "connection_list",
        "parameters": [
          {
            "name": "connector",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-required-role": [
          "admin",
          "owner",
          "editor"
        ],
        "tags": [
          "integrations"
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved configured connections",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionList"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "connection_create",
        "x-required-role": [
          "admin",
          "owner",
          "editor"
        ],
        "tags": [
          "integrations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionCreateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successfully created connection",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/integrations/connections/applications": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "operationId": "application_connections_list",
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "tags": [
          "applications",
          "integrations"
        ],
        "responses": {
          "200": {
            "description": "List of applications by their connections",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApplicationConnectionMap"
                      }
                    },
                    "total_results": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/integrations/connections/{connection}": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "connection",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "operationId": "connection_get",
        "x-required-role": [
          "admin",
          "owner",
          "editor"
        ],
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved connection",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "connection_update",
        "x-required-role": [
          "admin",
          "owner",
          "editor"
        ],
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "hubAccessTokenForRowndApi": []
          },
          {
            "serviceAccountToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated connection",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "connection_delete",
        "x-required-role": [
          "admin",
          "owner",
          "editor"
        ],
        "tags": [
          "integrations"
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted connection"
          }
        }
      }
    },
    "/accounts/{account}/integrations/connections/{connection}/actions": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "connection",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "connection_action",
        "x-required-role": [
          "admin",
          "owner",
          "editor"
        ],
        "tags": [
          "integrations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionAction"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully executed action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionActionResult"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/integrations/connections/{connection}/notify": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "connection",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "connection_notify",
        "security": [
          {
            "none": []
          }
        ],
        "tags": [
          "integrations"
        ],
        "x-fastify-config": {
          "rawBody": true
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionNotifyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully notified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionNotifyResponse"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/integrations/connections/{connection}/attach": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "connection",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "connection_attach",
        "tags": [
          "applications",
          "integrations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionAttachRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully attached",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionAttachResponse"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/integrations/connections/{connection}/detach": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "connection",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "connection_detach",
        "tags": [
          "applications",
          "integrations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionDetachRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully attached",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionDetachResponse"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{account}/oauth2/available_providers": {
      "parameters": [
        {
          "name": "account",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "operationId": "oauth2_account_available_providers",
        "x-required-role": [
          "owner",
          "admin",
          "editor",
          "viewer"
        ],
        "tags": [
          "oauth2"
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved available providers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "providers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OAuth2ProviderDefinition"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sns-notify/inbound-sms": {
      "post": {
        "operationId": "sns_notify_inbound_sms",
        "tags": [
          "sns"
        ],
        "security": [
          {
            "none": []
          }
        ],
        "requestBody": {
          "content": {
            "text/plain": {}
          }
        },
        "responses": {
          "200": {
            "description": "Successfully processed SNS notification",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "appKey": {
        "type": "apiKey",
        "in": "header",
        "name": "x-rownd-app-key",
        "description": "The publishable key of your application credentials. ([more details](/configuration/app-credentials#appkey))"
      },
      "appSecret": {
        "type": "apiKey",
        "in": "header",
        "name": "x-rownd-app-secret",
        "description": "The private secret of your application credentials. ([more details](/configuration/app-credentials#appsecret))"
      },
      "formKey": {
        "type": "apiKey",
        "in": "header",
        "name": "x-rownd-form-key"
      },
      "hubKey": {
        "type": "apiKey",
        "in": "header",
        "name": "x-rownd-hub-key",
        "description": "The publishable key of your application credentials. ([more details](/configuration/app-credentials#appkey))"
      },
      "hubAccessToken": {
        "type": "http",
        "scheme": "bearer",
        "description": "Bearer authentication header of the form `Bearer <token>` where `<token>` is the user's Rownd JWT\n"
      },
      "hubAccessTokenForRowndApi": {
        "type": "http",
        "scheme": "bearer",
        "description": "Bearer authentication header of the form `Bearer <token>` where `<token>` is your Rownd JWT\n"
      },
      "serviceAccountToken": {
        "type": "http",
        "scheme": "bearer",
        "description": "_Restricted security scheme_"
      },
      "none": {
        "type": "http",
        "scheme": "none",
        "description": "No security is required for this API."
      }
    },
    "parameters": {
      "AppID": {
        "name": "app",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Rownd application ID"
      },
      "PageSizeMax1000": {
        "name": "page_size",
        "in": "query",
        "schema": {
          "type": "integer"
        },
        "description": "Number of resources to return per query. Max is 1000."
      },
      "After": {
        "name": "after",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "ID of the last resource in the previous page. If provided, the next page of results is\nreturned beginning with this resource ID.\n"
      },
      "Sort": {
        "name": "sort",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ]
        },
        "description": "Which direction to sort the results"
      },
      "ApplicationDomainID": {
        "name": "domain",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Application domain ID"
      },
      "Fields": {
        "name": "fields",
        "in": "query",
        "schema": {
          "type": "string",
          "description": "Comma-separated list of fields to include in the profile data",
          "example": "email,first_name"
        }
      },
      "LookupFilter": {
        "name": "lookup_filter",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "Return resources that match this filter"
      },
      "IDFilter": {
        "name": "id_filter",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "A comma-separated list of resource IDs to filter by",
        "example": "user_a7b53gwdaml5jt7t71442nt7"
      },
      "UserID": {
        "name": "user",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "WriteDataToIntegrations": {
        "name": "write_data_to_integrations",
        "in": "query",
        "schema": {
          "type": "boolean",
          "description": "Should Rownd write the profile data changes to integrations attached to your application",
          "default": true,
          "example": true
        }
      },
      "Field": {
        "name": "field",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "The name of a field in your application schema",
        "example": "first_name"
      },
      "Preview": {
        "name": "preview",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "small",
            "medium",
            "large"
          ]
        },
        "description": "Return an image thumbnail of the resource",
        "example": "small"
      },
      "MobileAppPageID": {
        "name": "page",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Page ID"
      },
      "MobileAppPageCaptureID": {
        "name": "capture",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Version IDs"
      },
      "PageSizeMax100": {
        "name": "page_size",
        "in": "query",
        "schema": {
          "type": "integer"
        },
        "description": "Number of resources to return per query. Max is 100."
      },
      "GroupID": {
        "name": "group",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Group ID"
      },
      "GroupMemberID": {
        "name": "member",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Group Member ID"
      },
      "GroupInviteID": {
        "name": "invite",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Group Invite ID"
      },
      "OIDCClientID": {
        "name": "client",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "OIDC Client ID"
      },
      "FileName": {
        "name": "x-rownd-filename",
        "in": "header",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "The filename of the image to be uploaded"
      },
      "OIDCClientLogoType": {
        "name": "type",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "light",
            "dark"
          ]
        },
        "description": "The type of logo to be uploaded"
      },
      "InviteID": {
        "$ref": "#/components/parameters/GroupInviteID"
      },
      "MemberID": {
        "$ref": "#/components/parameters/GroupMemberID"
      },
      "LogoType": {
        "$ref": "#/components/parameters/OIDCClientLogoType"
      }
    },
    "schemas": {
      "Error": {
        "properties": {
          "statusCode": {
            "type": "number",
            "description": "The HTTP status code",
            "example": 401
          },
          "error": {
            "type": "string",
            "description": "The error"
          },
          "code": {
            "type": "string",
            "description": "A code representing the error",
            "example": "E_UNAUTHOIZED"
          },
          "message": {
            "type": "string",
            "description": "A short description of the error"
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An list of error messages if present"
          }
        }
      },
      "CreatedAt": {
        "type": "string",
        "format": "date-time",
        "readOnly": true,
        "description": "The ISO 8601 date-time that the resource was created"
      },
      "UpdatedAt": {
        "type": "string",
        "format": "date-time",
        "readOnly": true,
        "description": "The ISO 8601 date-time that the resource was updated"
      },
      "CreatedBy": {
        "type": "string",
        "readOnly": true,
        "example": "user_t6ftnnmw55pamuhfo9xvw0yl",
        "description": "The ID of the user that created the resource"
      },
      "UpdatedBy": {
        "type": "string",
        "readOnly": true,
        "example": "user_t6ftnnmw55pamuhfo9xvw0yl",
        "description": "The ID of the user that most recently updated the resource"
      },
      "Intent": {
        "type": "string",
        "enum": [
          "sign_in",
          "sign_up"
        ]
      },
      "SignInMethod": {
        "type": "string",
        "enum": [
          "apple",
          "google",
          "email",
          "phone",
          "crypto_wallet",
          "passkeys",
          "anonymous"
        ]
      },
      "UserType": {
        "type": "string",
        "enum": [
          "existing_user",
          "new_user",
          "instant_user"
        ]
      },
      "TeamMemberRole": {
        "type": "string",
        "enum": [
          "admin",
          "editor",
          "viewer",
          "owner"
        ]
      },
      "Account": {
        "required": [
          "name"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "The description of the account"
          },
          "stripe_customer_id": {
            "type": "string",
            "readOnly": true
          },
          "owner": {
            "readOnly": true,
            "type": "string"
          },
          "owner_url": {
            "type": "string",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "readOnly": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "role_set": {
            "enum": [
              "gov_v1",
              "default"
            ],
            "default": "default"
          },
          "allow_support_access": {
            "type": "boolean",
            "default": false
          },
          "team_id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "AccountCreatePayload": {
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "The description of the account"
          },
          "role_set": {
            "enum": [
              "gov_v1",
              "default"
            ],
            "default": "default"
          },
          "allow_support_access": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "AccountSetupResponse": {
        "properties": {
          "account": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            }
          },
          "application": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "credential": {
                "type": "object",
                "properties": {
                  "client_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "AccountList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Account"
            }
          }
        }
      },
      "Invoice": {
        "properties": {
          "id": {
            "type": "string"
          },
          "hosted_invoice_url": {
            "type": "string"
          },
          "invoice_pdf": {
            "type": "string"
          },
          "period_start": {
            "type": "string"
          },
          "period_end": {
            "type": "string"
          }
        }
      },
      "InvoiceList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Invoice"
            }
          }
        }
      },
      "BillingDetails": {
        "properties": {
          "email": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          }
        }
      },
      "Address": {
        "properties": {
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "line1": {
            "type": "string"
          },
          "line2": {
            "type": "string"
          },
          "postal_code": {
            "type": "string"
          },
          "state": {
            "type": "string"
          }
        }
      },
      "Card": {
        "properties": {
          "brand": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "exp_month": {
            "type": "integer"
          },
          "exp_year": {
            "type": "integer"
          },
          "last4": {
            "type": "string"
          }
        }
      },
      "PaymentMethod": {
        "properties": {
          "id": {
            "type": "string"
          },
          "billing_details": {
            "$ref": "#/components/schemas/BillingDetails"
          },
          "card": {
            "$ref": "#/components/schemas/Card"
          }
        }
      },
      "PaymentMethodList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentMethod"
            }
          }
        }
      },
      "Subscription": {
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "trial_start": {
            "type": "string"
          },
          "trial_end": {
            "type": "string"
          },
          "discount": {
            "$ref": "#/components/schemas/Discount"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "product": {
                  "type": "string"
                },
                "currency": {
                  "type": "string"
                },
                "unit_amount": {
                  "type": "number"
                },
                "plan": {
                  "$ref": "#/components/schemas/PricingPlan"
                }
              }
            }
          }
        }
      },
      "SubscriptionRequest": {
        "required": [
          "price_id"
        ],
        "properties": {
          "price_id": {
            "type": "string"
          },
          "promotion_code": {
            "type": "string"
          }
        }
      },
      "TeamMember": {
        "required": [
          "role"
        ],
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "active",
              "inactive",
              "pending"
            ]
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "email": {
            "type": "string",
            "readOnly": true
          },
          "role": {
            "$ref": "#/components/schemas/TeamMemberRole"
          },
          "user": {
            "type": "object",
            "additionalProperties": true,
            "readOnly": true
          },
          "user_url": {
            "type": "string",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "readOnly": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "invited_by": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "TeamMemberList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TeamMember"
            }
          }
        }
      },
      "TeamMemberInvitationRequest": {
        "properties": {
          "email": {
            "type": "string"
          },
          "role": {
            "default": "viewer",
            "$ref": "#/components/schemas/TeamMemberRole"
          },
          "invitation_consent_url": {
            "type": "string",
            "format": "uri",
            "description": "The URL to the UI presenting the user with information about the invitation and the option to accept or decline it."
          }
        }
      },
      "TeamInvitationResponse": {
        "properties": {
          "id": {
            "type": "string"
          },
          "account_name": {
            "type": "string",
            "readOnly": true
          },
          "account": {
            "type": "string",
            "readOnly": true
          },
          "account_url": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "TeamInvitationConsentInfo": {
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "account_name": {
            "type": "string",
            "readOnly": true
          },
          "team_name": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "Application": {
        "required": [
          "name",
          "account"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": "string"
          },
          "icon": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          },
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppConnection"
            }
          },
          "config": {
            "type": "object",
            "$ref": "#/components/schemas/ApplicationConfig"
          },
          "account": {
            "type": "string",
            "readOnly": true
          },
          "account_url": {
            "type": "string",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "readOnly": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "updated_at": {
            "readOnly": true,
            "type": "string",
            "format": "date-time"
          },
          "updated_by": {
            "type": "string",
            "description": "userId to last update the application"
          }
        }
      },
      "ApplicationConfig": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "capabilities": {
            "type": "object",
            "$ref": "#/components/schemas/ApplicationCapabilities"
          },
          "customizations": {
            "type": "object",
            "$ref": "#/components/schemas/AppCustomizationsConfig"
          },
          "default_user_id_format": {
            "type": "string",
            "enum": [
              "__uuid__",
              "__objectid__",
              "__rowndid__"
            ]
          },
          "hub": {
            "type": "object",
            "$ref": "#/components/schemas/AppHubConfig"
          },
          "web": {
            "type": "object",
            "$ref": "#/components/schemas/AppWebConfig"
          },
          "bottom_sheet": {
            "type": "object",
            "$ref": "#/components/schemas/AppBottomSheetConfig"
          },
          "extensions": {
            "type": "object",
            "$ref": "#/components/schemas/AppExtensionsConfig"
          },
          "subdomain": {
            "type": "string"
          },
          "automations": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/Automation"
            }
          },
          "default_redirect_url": {
            "type": "string",
            "format": "uri"
          },
          "user_merge_options": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "default": "disabled",
                "enum": [
                  "enabled",
                  "disabled"
                ]
              }
            }
          },
          "custom_props": {
            "type": "object",
            "additionalProperties": true
          },
          "profile_storage_version": {
            "type": "string",
            "enum": [
              "v1",
              "v2",
              "v2_migration"
            ]
          }
        }
      },
      "ApplicationCapabilities": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ios_app": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "default": false
              },
              "app_store_url": {
                "type": "string",
                "format": "uri"
              },
              "bundle_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "team_id": {
                "type": "string"
              },
              "app_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "android_app": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "default": false
              },
              "play_store_url": {
                "type": "string",
                "format": "uri"
              },
              "package_name": {
                "type": "string"
              },
              "sha256_cert_fingerprints": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^(([0-9A-Fa-f]{2})(:{1})){31}([0-9A-Fa-f]{2})$"
                }
              }
            }
          },
          "web_app": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "default": true
              }
            }
          },
          "connection_actions": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "action_type"
              ],
              "properties": {
                "action_type": {
                  "type": "string",
                  "example": "near.create-named-account"
                },
                "connection": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "AppCustomizationsConfig": {
        "properties": {
          "primary_color": {
            "type": "string"
          },
          "animations": {
            "type": "object",
            "properties": {
              "loading": {
                "type": "string",
                "readOnly": true,
                "x-rownd-modifiers": [
                  {
                    "name": "rewriteAssetUrl",
                    "phase": "response"
                  }
                ]
              }
            }
          },
          "logo": {
            "type": "string",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          },
          "logo_dark_mode": {
            "type": "string",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          }
        }
      },
      "AppWebConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "default": true
          }
        }
      },
      "AppBottomSheetConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "AppHubConfig": {
        "properties": {
          "customizations": {
            "type": "object",
            "properties": {
              "rounded_corners": {
                "type": "boolean",
                "default": true
              },
              "container_border_radius": {
                "type": "number",
                "description": "hub border radius px amount"
              },
              "placement": {
                "type": "string",
                "description": "placement of the hub within the browser"
              },
              "offset_y": {
                "type": "number",
                "description": "vertical offset of the hub in pixels"
              },
              "offset_x": {
                "type": "number",
                "description": "horizontal offset of the hub in pixels"
              },
              "primary_color": {
                "type": "string",
                "description": "hub primary color override"
              },
              "primary_color_dark_mode": {
                "type": "string",
                "description": "hub primary color for dark mode with auto enabled"
              },
              "background_color": {
                "type": "string",
                "description": "hub background color override"
              },
              "font_family": {
                "type": "string",
                "description": "hub font family override"
              },
              "hide_verification_icons": {
                "type": "boolean",
                "description": "hide verification icons provided by Rownd"
              },
              "visual_swoops": {
                "type": "boolean",
                "description": "display the visual swoops styling in hub modals",
                "default": true
              },
              "blur_background": {
                "type": "boolean",
                "description": "blur the background content when the hub modals are open",
                "default": true
              },
              "property_overrides": {
                "type": "object",
                "additionalProperties": true
              },
              "dark_mode": {
                "type": "string",
                "default": "disabled",
                "enum": [
                  "enabled",
                  "disabled",
                  "auto"
                ]
              }
            }
          },
          "custom_scripts": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "content"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "description": "the script mime type"
                },
                "content": {
                  "type": "string",
                  "description": "the script content"
                }
              }
            }
          },
          "custom_styles": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "content"
              ],
              "properties": {
                "content": {
                  "type": "string",
                  "description": "the style content"
                }
              }
            }
          },
          "legal": {
            "type": "object",
            "properties": {
              "company_name": {
                "type": "string",
                "description": "legal name of company"
              },
              "terms_conditions_url": {
                "type": "string",
                "description": "url link of Terms and Conditions"
              },
              "privacy_policy_url": {
                "type": "string",
                "description": "url link of Privacy Policy"
              },
              "support_email": {
                "type": "string",
                "description": "email for customer support"
              },
              "include_rownd_in_reply_to": {
                "type": "boolean",
                "description": "Include Rownd's support team in the reply-to email address",
                "default": true
              }
            }
          },
          "custom_content": {
            "type": "object",
            "description": "custom content for hub",
            "properties": {
              "sign_in_modal": {
                "type": "object",
                "description": "custom content for hub sign in modal",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "custom title for hub sign in modal"
                  },
                  "subtitle": {
                    "type": "string",
                    "description": "custom subtitle for hub sign in modal"
                  },
                  "sign_in_title": {
                    "type": "string",
                    "description": "custom title for hub sign in modal with sign in flow"
                  },
                  "sign_in_subtitle": {
                    "type": "string",
                    "description": "custom subtitle for hub sign in modal with sign in flow"
                  },
                  "sign_in_button": {
                    "type": "string",
                    "description": "custom button text for sign in cta"
                  },
                  "sign_up_title": {
                    "type": "string",
                    "description": "custom title for hub sign in modal with sign up flow"
                  },
                  "sign_up_subtitle": {
                    "type": "string",
                    "description": "custom subtitle for hub sign in modal with sign up flow"
                  },
                  "sign_up_button": {
                    "type": "string",
                    "description": "custom button text for sign up cta"
                  }
                }
              },
              "verification_modal": {
                "type": "object",
                "description": "custom content for hub verification modal",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "custom title for hub verification modal"
                  },
                  "subtitle": {
                    "type": "string",
                    "description": "custom subtitle for hub verification modal"
                  }
                }
              },
              "sign_in_failure_modal": {
                "type": "object",
                "description": "custom content for hub sign in failure modal",
                "properties": {
                  "failure_message": {
                    "type": "string",
                    "description": "custom message for hub sign in failure modal"
                  }
                }
              },
              "no_account_message": {
                "type": "object",
                "description": "custom content for hub no account modal",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "custom title for hub no account modal"
                  }
                }
              }
            },
            "mobile": {
              "type": "object",
              "properties": {
                "origins_to_show_in_bottom_sheet": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of origins that will appear within the bottom sheet vs. opening in the default browser."
                }
              }
            }
          },
          "auth": {
            "type": "object",
            "properties": {
              "refresh_tokens": {
                "type": "object",
                "properties": {
                  "allow_reuse": {
                    "description": "Enable or disable re-using refresh tokens.\nFor security, reuse is disabled by default, but can be enabled globally.\nFUTURE: A user's meta can also include `refresh_token_reuse: enabled|disabled`\nto selectively enable/disable for a specific individual.",
                    "type": "string",
                    "readOnly": true,
                    "default": "disabled",
                    "enum": [
                      "enabled",
                      "disabled"
                    ]
                  },
                  "dangerously_ignore_expiration": {
                    "type": "boolean",
                    "readOnly": true,
                    "default": false
                  },
                  "ttl": {
                    "type": "string",
                    "description": "A string representing the time for which a refresh token is valid. This value is\nused to compute the `exp` claim value when generating refresh tokens.",
                    "example": "90d",
                    "pattern": "^(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$"
                  }
                }
              },
              "access_tokens": {
                "type": "object",
                "properties": {
                  "custom_claims": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "source": {
                          "type": "string",
                          "description": "From where does this claim originate?",
                          "enum": [
                            "user_profile",
                            "static_value"
                          ]
                        },
                        "value": {
                          "anyOf": [
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "integer"
                            },
                            {
                              "type": "number"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              },
              "use_explicit_sign_up_flow": {
                "type": "boolean",
                "description": "separates the sign in and sign up modals"
              },
              "primary_sign_up_method": {
                "$ref": "#/components/schemas/SignInMethod",
                "description": "Primary sign up method used for creating new user after no account was found."
              },
              "allow_unverified_users": {
                "type": "boolean"
              },
              "remember_sign_in_method": {
                "type": "boolean"
              },
              "audience": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "additional_fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "select",
                        "text"
                      ]
                    },
                    "label": {
                      "type": "string"
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              },
              "email": {
                "type": "object",
                "properties": {
                  "from_address": {
                    "type": "string"
                  },
                  "image": {
                    "type": "string",
                    "readOnly": true,
                    "x-rownd-modifiers": [
                      {
                        "name": "rewriteAssetUrl",
                        "phase": "response"
                      }
                    ]
                  },
                  "subject": {
                    "type": "string"
                  },
                  "call_to_action_text": {
                    "type": "string"
                  },
                  "verify_template": {
                    "type": "string",
                    "description": "an overide for the Postmark verification email template"
                  },
                  "custom_content": {
                    "type": "string",
                    "description": "custom text content added to the email"
                  },
                  "custom_closing_content": {
                    "type": "string",
                    "description": "custom closing text content added to the email"
                  }
                }
              },
              "instant_user": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "enable instant users"
                  },
                  "auto_delete_frequency": {
                    "type": "string",
                    "description": "frequency for when inactive instant users get deleted",
                    "example": "30d",
                    "pattern": "^(once|never|(\\d+|\\d+\\.\\d+) ?(hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y))$"
                  }
                }
              },
              "mobile": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "custom text for title of download screen"
                  },
                  "image": {
                    "type": "string",
                    "readOnly": true,
                    "x-rownd-modifiers": [
                      {
                        "name": "rewriteAssetUrl",
                        "phase": "response"
                      }
                    ]
                  },
                  "call_to_action_text": {
                    "type": "string",
                    "description": "custom text for button"
                  },
                  "hyperlink_text": {
                    "type": "string",
                    "description": "custom text for hyperlink"
                  },
                  "hyperlink_redirect_url": {
                    "type": "string",
                    "description": "custom url for hyperlink redirect"
                  },
                  "custom_content": {
                    "type": "string",
                    "description": "custom text content added below title"
                  }
                }
              },
              "order": {
                "type": "object",
                "properties": {
                  "default": {
                    "type": "array",
                    "$ref": "#/components/schemas/AppConfigHubAuthOrder"
                  },
                  "ios": {
                    "type": "array",
                    "$ref": "#/components/schemas/AppConfigHubAuthOrder"
                  },
                  "android": {
                    "type": "array",
                    "$ref": "#/components/schemas/AppConfigHubAuthOrder"
                  }
                }
              },
              "sign_in_methods": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "object",
                    "required": [
                      "enabled"
                    ],
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    }
                  },
                  "phone": {
                    "type": "object",
                    "required": [
                      "enabled"
                    ],
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    }
                  },
                  "apple": {
                    "type": "object",
                    "required": [
                      "enabled"
                    ],
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "client_id": {
                        "type": "string"
                      }
                    }
                  },
                  "google": {
                    "type": "object",
                    "required": [
                      "enabled"
                    ],
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "client_id": {
                        "type": "string",
                        "description": "The Google OAuth client ID"
                      },
                      "client_secret": {
                        "type": "string",
                        "description": "The Google OAuth client secret"
                      },
                      "ios_client_id": {
                        "type": "string",
                        "description": "The Google OAuth client ID for IOS"
                      },
                      "scopes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "An optional list of Google OAuth scopes"
                      },
                      "one_tap": {
                        "type": "object",
                        "properties": {
                          "browser": {
                            "type": "object",
                            "properties": {
                              "auto_prompt": {
                                "type": "boolean",
                                "description": "Should the One Tap UI display on page load if a user is not authenticated"
                              },
                              "delay": {
                                "type": "number",
                                "description": "Delay in ms before the One Tap UI will appear"
                              }
                            }
                          },
                          "mobile_app": {
                            "type": "object",
                            "properties": {
                              "auto_prompt": {
                                "type": "boolean",
                                "description": "Should the One Tap UI display on app startup if a user is not authenticated"
                              },
                              "delay": {
                                "type": "number",
                                "description": "Delay in ms before the One Tap UI will appear"
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "crypto_wallet": {
                    "type": "object",
                    "required": [
                      "enabled"
                    ],
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "chain": {
                        "type": "string",
                        "enum": [
                          "ethereum"
                        ]
                      }
                    }
                  },
                  "passkeys": {
                    "type": "object",
                    "required": [
                      "enabled"
                    ],
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "domains": {
                        "type": "array",
                        "description": "The domain (relying party) where this passkey is used (e.g., example.com)",
                        "items": {
                          "type": "string"
                        }
                      },
                      "registration_prompt_frequency": {
                        "type": "string",
                        "description": "A string representing how often a user should be prompted to set up a passkey if they haven't done so.",
                        "example": "30d",
                        "pattern": "^(once|never|(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y))$",
                        "default": "14d"
                      }
                    }
                  },
                  "anonymous": {
                    "type": "object",
                    "required": [
                      "enabled"
                    ],
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    }
                  }
                },
                "patternProperties": {
                  "^oauth2_.*$": {
                    "type": "object",
                    "required": [
                      "enabled",
                      "provider",
                      "client_id"
                    ],
                    "x-rownd-modifiers": [
                      {
                        "name": "maskSensitiveValues",
                        "phase": "response",
                        "options": {
                          "mask_properties": [
                            "client_secret",
                            "private_key_jwk"
                          ]
                        }
                      },
                      {
                        "name": "encryptValues",
                        "phase": "request",
                        "options": {
                          "encrypt_properties": [
                            "client_secret",
                            "private_key_jwk"
                          ]
                        }
                      }
                    ],
                    "additionalProperties": true,
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "provider": {
                        "type": "string",
                        "description": "The OAuth2 provider name"
                      },
                      "client_id": {
                        "type": "string",
                        "description": "The OAuth2 client ID"
                      },
                      "client_secret": {
                        "type": "string",
                        "description": "The OAuth2 client secret"
                      },
                      "scopes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "An optional list of OAuth2 scopes"
                      },
                      "issuer": {
                        "type": "string",
                        "description": "The OAuth2 issuer URL (if using a non-default value)"
                      },
                      "display_name": {
                        "type": "string"
                      },
                      "icon_light_url": {
                        "type": "string",
                        "readonly": true
                      },
                      "icon_dark_url": {
                        "type": "string",
                        "readonly": true
                      }
                    }
                  }
                }
              },
              "show_app_icon": {
                "type": "boolean",
                "default": false
              },
              "restrictions": {
                "type": "object",
                "properties": {
                  "allowed_email_domains": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "domain": {
                          "type": "string"
                        },
                        "meta": {
                          "type": "object",
                          "additionalProperties": true
                        }
                      }
                    }
                  },
                  "sign_up_status": {
                    "enum": [
                      "enabled",
                      "disabled"
                    ],
                    "default": "enabled"
                  }
                }
              },
              "fingerprint": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  }
                }
              },
              "preferred_method": {
                "type": "string",
                "enum": [
                  "email",
                  "phone"
                ],
                "description": "preferred auth method"
              },
              "challenge_duration": {
                "type": "string",
                "description": "The length of time for which auth challenges are valid",
                "example": "60m",
                "pattern": "^(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$"
              }
            }
          },
          "allowed_web_origins": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "profile": {
            "type": "object",
            "properties": {
              "account_information": {
                "type": "object",
                "description": "profile account information customization",
                "properties": {
                  "methods": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              },
              "personal_information": {
                "type": "object",
                "description": "profile personal information customization",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  }
                }
              },
              "preferences": {
                "type": "object",
                "description": "profile preferences customization",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  }
                }
              },
              "add_sign_in_methods_button": {
                "type": "object",
                "description": "profile add sign in methods button customization",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  }
                }
              },
              "sign_out_button": {
                "type": "object",
                "description": "profile sign out button customization",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  }
                }
              },
              "delete_account_button": {
                "type": "object",
                "description": "profile delete account button customization",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      },
      "AppConfigHubAuthOrder": {
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SignInMethod"
                },
                {
                  "schema": {
                    "type": "string",
                    "pattern": "^oauth2_.*$"
                  }
                }
              ],
              "description": "name of auth method"
            },
            "type": {
              "type": "string",
              "description": "type of auth method",
              "enum": [
                "button",
                "input"
              ]
            },
            "hidden": {
              "type": "boolean"
            }
          }
        }
      },
      "AppExtensionsConfig": {
        "properties": {
          "text_messaging": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "default": "rownd",
                "description": "Should be either \"rownd\" or \"connection:{ID}\" where ID is the ID of a connection attached to the application",
                "example": "connection:cxn_fj4lsk5hj2g4i2903gj"
              }
            }
          },
          "short_links": {
            "type": "object",
            "properties": {
              "use": {
                "type": "string"
              },
              "short_io": {
                "type": "object",
                "x-rownd-modifiers": [
                  {
                    "name": "maskSensitiveValues",
                    "phase": "response",
                    "options": {
                      "mask_properties": [
                        "api_key"
                      ]
                    }
                  },
                  {
                    "name": "encryptValues",
                    "phase": "request",
                    "options": {
                      "encrypt_properties": [
                        "api_key"
                      ]
                    }
                  }
                ],
                "properties": {
                  "domain": {
                    "type": "string"
                  },
                  "api_key": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "Automation": {
        "required": [
          "rules",
          "triggers",
          "actions",
          "template"
        ],
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "app_id": {
            "readOnly": true
          },
          "platform": {
            "type": "string",
            "enum": [
              "android",
              "ios",
              "web"
            ],
            "default": "web"
          },
          "platforms": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "android",
                    "ios",
                    "web"
                  ]
                },
                "enabled": {
                  "type": "boolean"
                }
              }
            }
          },
          "template": {
            "type": "string",
            "enum": [
              "sign_in",
              "sign_out",
              "connect_form_data",
              "open_profile",
              "suggest_google_one_tap",
              "customize_content",
              "register_passkey",
              "request_information",
              "legal_opt_in",
              "hide_content"
            ]
          },
          "name": {
            "type": "string",
            "description": "custom label of automation"
          },
          "created_at": {
            "readOnly": true,
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "readOnly": true,
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ],
            "default": "enabled"
          },
          "rules": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/AutomationOrRule"
                },
                {
                  "$ref": "#/components/schemas/AutomationRule"
                }
              ]
            }
          },
          "triggers": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/AutomationTrigger"
            }
          },
          "actions": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/AutomationAction"
            }
          },
          "scenarios": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "event",
                    "scope"
                  ]
                },
                "rules": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/AutomationOrRule"
                      },
                      {
                        "$ref": "#/components/schemas/AutomationRule"
                      }
                    ]
                  }
                },
                "triggers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "$ref": "#/components/schemas/AutomationTrigger"
                  }
                }
              }
            }
          },
          "order": {
            "type": "integer",
            "description": "The order in which the automation should be displayed"
          }
        }
      },
      "AutomationOrRule": {
        "required": [
          "$or"
        ],
        "additionalProperties": false,
        "properties": {
          "$or": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/AutomationRule"
            }
          }
        }
      },
      "AutomationRule": {
        "required": [
          "entity_type",
          "attribute",
          "condition"
        ],
        "additionalProperties": false,
        "properties": {
          "entity_type": {
            "type": "string",
            "enum": [
              "user_data",
              "metadata",
              "scope"
            ],
            "description": "Either 'user_data', 'metadata', or 'scope'"
          },
          "attribute": {
            "type": "string",
            "description": "The user_data field, or metadata/scope attribute to check"
          },
          "condition": {
            "type": "string",
            "enum": [
              "EQUALS",
              "NOT_EQUALS",
              "CONTAINS",
              "NOT_CONTAINS",
              "IN",
              "NOT_IN",
              "EXISTS",
              "NOT_EXISTS",
              "GREATER_THAN",
              "GREATER_THAN_EQUAL",
              "LESS_THAN",
              "LESS_THAN_EQUAL",
              "DATE_IS_BEFORE",
              "DATE_IS_AFTER"
            ],
            "description": "The rule condition"
          },
          "value": {
            "description": "The expected value",
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "string"
              },
              {
                "type": "array"
              }
            ]
          }
        }
      },
      "AutomationTrigger": {
        "required": [
          "type",
          "value"
        ],
        "additionalProperties": false,
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "URL",
              "HTML_SELECTOR",
              "HTML_SELECTOR_VISIBLE",
              "EVENT",
              "MOBILE_EVENT",
              "TIME",
              "TIME_ONCE",
              "POST_SIGN_IN"
            ]
          },
          "value": {
            "type": "string",
            "description": "A URL, HTML selector, or event name"
          },
          "target": {
            "type": "string",
            "description": "The event target if the type is 'EVENT' or 'MOBILE_EVENT'"
          }
        }
      },
      "AutomationAction": {
        "required": [
          "type"
        ],
        "additionalProperties": false,
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "NONE",
              "REQUIRE_VERIFICATION",
              "REQUIRE_AUTHENTICATION",
              "PROMPT_FOR_INPUT",
              "REDIRECT",
              "PROMPT_FOR_PASSKEY",
              "SIGN_OUT",
              "COLLECT_INFORMATION",
              "LEGAL_OPT_IN",
              "OPEN_PROFILE",
              "EDIT_ELEMENTS"
            ]
          },
          "args": {
            "anyOf": [
              {
                "type": "object",
                "$ref": "#/components/schemas/AutomationPromptForInputActionArgs"
              },
              {
                "type": "object",
                "$ref": "#/components/schemas/AutomationRedirectActionArgs"
              },
              {
                "type": "object",
                "$ref": "#/components/schemas/AutomationRequireAuthenticationActionArgs"
              },
              {
                "type": "object",
                "$ref": "#/components/schemas/AutomationLegalOptInActionArgs"
              }
            ],
            "description": "Arguments to pass to the action handler."
          }
        }
      },
      "AutomationPromptForInputActionArgs": {
        "required": [
          "fields"
        ],
        "additionalProperties": false,
        "properties": {
          "title": {
            "type": "string"
          },
          "subtitle": {
            "type": "string"
          },
          "button": {
            "type": "string"
          },
          "fields": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "required": {
                  "type": "boolean"
                }
              }
            }
          },
          "prevent_closing": {
            "type": "boolean"
          }
        }
      },
      "AutomationRedirectActionArgs": {
        "required": [
          "location"
        ],
        "additionalProperties": false,
        "properties": {
          "location": {
            "type": "string",
            "description": "A URL or path"
          }
        }
      },
      "AutomationRequireAuthenticationActionArgs": {
        "additionalProperties": true
      },
      "AutomationLegalOptInActionArgs": {
        "required": [
          "legal_docs"
        ],
        "additionalProperties": false,
        "properties": {
          "title": {
            "type": "string"
          },
          "subtitle": {
            "type": "string"
          },
          "button": {
            "type": "string"
          },
          "legal_docs": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "url",
                "schema_field"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "schema_field": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "HubConfig": {
        "type": "object",
        "x-rownd-modifiers": [
          {
            "name": "maskSensitiveValues",
            "phase": "response",
            "options": {
              "mask_properties": [
                "app.config.hub.auth.sign_in_methods.*.client_secret",
                "app.config.hub.auth.sign_in_methods.*.private_key"
              ],
              "remove": true
            }
          }
        ],
        "properties": {
          "config_type": {
            "type": "string",
            "default": "app",
            "enum": [
              "app",
              "variant"
            ]
          },
          "app": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "schema": {
                "type": "object",
                "$ref": "#/components/schemas/ApplicationSchema"
              },
              "user_verification_field": {
                "type": "string"
              },
              "user_verification_fields": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "icon": {
                "type": "string",
                "x-rownd-modifiers": [
                  {
                    "name": "rewriteAssetUrl",
                    "phase": "response"
                  }
                ]
              },
              "config": {
                "type": "object",
                "$ref": "#/components/schemas/ApplicationConfig"
              }
            }
          },
          "variant": {
            "type": "object",
            "readOnly": true,
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "config": {
                "type": "object",
                "$ref": "#/components/schemas/ApplicationConfig"
              }
            }
          }
        }
      },
      "ApplicationUpdateReq": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppConnection"
            }
          },
          "config": {
            "type": "object",
            "$ref": "#/components/schemas/ApplicationConfig"
          }
        }
      },
      "ApplicationPublic": {
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": "string"
          },
          "icon": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          }
        }
      },
      "ApplicationList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Application"
            }
          }
        }
      },
      "ApplicationAnalytics": {
        "type": "object",
        "properties": {
          "start_date": {
            "type": "string"
          },
          "end_date": {
            "type": "string"
          },
          "query_results": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "UserApplication": {
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "slug": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "readOnly": true
          },
          "icon": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          }
        }
      },
      "UserApplicationList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserApplication"
            }
          }
        }
      },
      "ApplicationIcon": {
        "properties": {
          "icon": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          },
          "application": {
            "type": "string",
            "readOnly": true
          },
          "application_url": {
            "type": "string",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "AssetUpload": {
        "required": [
          "id",
          "content_type",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "content_type": {
            "type": "string"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": true
          },
          "url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          }
        }
      },
      "ApplicationVerifyEmailImage": {
        "properties": {
          "image": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          },
          "application": {
            "type": "string",
            "readOnly": true
          },
          "application_url": {
            "type": "string",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ApplicationLogo": {
        "properties": {
          "image": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          },
          "application": {
            "type": "string",
            "readOnly": true
          },
          "application_url": {
            "type": "string",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ApplicationAnimation": {
        "properties": {
          "animation": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          },
          "application": {
            "type": "string",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ApplicationUpdatedBy": {
        "properties": {
          "updated_by": {
            "type": "string",
            "description": "User identifier who last updated the application"
          }
        }
      },
      "ApplicationVariant": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true,
            "description": "The app variant ID"
          },
          "name": {
            "type": "string",
            "description": "The app variant name"
          },
          "description": {
            "type": "string",
            "description": "The app variant description"
          },
          "app_id": {
            "type": "string",
            "readOnly": true,
            "description": "The ID of the app to which the variant is associated"
          },
          "config": {
            "type": "object",
            "description": "An object containing app config overrides",
            "$ref": "#/components/schemas/ApplicationConfig"
          },
          "created_at": {
            "readOnly": true,
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "readOnly": true,
            "type": "string",
            "format": "date-time"
          },
          "updated_by": {
            "type": "string",
            "description": "The ID of the user that last updated the variant",
            "readOnly": true
          }
        }
      },
      "ApplicationVariantList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplicationVariant"
            }
          }
        }
      },
      "ApplicationVariantCreateRequest": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "The app variant name"
          },
          "description": {
            "type": "string",
            "description": "The app variant description"
          },
          "app_id": {
            "type": "string",
            "readOnly": true,
            "description": "The ID of the app to which the variant is associated"
          },
          "config": {
            "type": "object",
            "description": "An object containing app config overrides",
            "$ref": "#/components/schemas/ApplicationConfig"
          },
          "subdomain": {
            "type": "string",
            "description": "The subdomain for the variant",
            "example": "test-app"
          }
        }
      },
      "ApplicationVariantDiffsList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "variant",
                "diffs"
              ],
              "properties": {
                "variant": {
                  "$ref": "#/components/schemas/ApplicationVariant"
                },
                "diffs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          }
        }
      },
      "SmsKeyword": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true,
            "description": "The sms keyword ID"
          },
          "keyword": {
            "type": "string",
            "description": "The sms keyword itself"
          },
          "state": {
            "$ref": "#/components/schemas/SmsKeywordState"
          },
          "redirect_url": {
            "type": "string",
            "description": "The user will be sent an SMS message with a link that will redirect to this URL. If\n`mobile_enabled` is set to `true`, this should be a deep link to your app containing\nyour app's subdomain. (e.g. https://myapp.rownd.link/some/path)\n"
          },
          "mobile_enabled": {
            "type": "boolean",
            "description": "If true, the generated sign-in link sent to the user will deep link into your mobile app"
          },
          "new_user_response": {
            "type": "string",
            "description": "The message sent to new users when they text the keyword"
          },
          "existing_user_response": {
            "type": "string",
            "description": "The message sent to existing users when they text the keyword"
          },
          "app_id": {
            "type": "string",
            "description": "The ID of the app to which the sms keyword is associated"
          },
          "app_variant_id": {
            "type": "string",
            "description": "The ID of the variant to which the sms keyword is associated"
          },
          "created_at": {
            "readOnly": true,
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "readOnly": true,
            "type": "string",
            "format": "date-time"
          },
          "updated_by": {
            "type": "string",
            "description": "The ID of the user that last updated the variant",
            "readOnly": true
          }
        }
      },
      "SmsKeywordState": {
        "type": "string",
        "enum": [
          "enabled",
          "disabled"
        ]
      },
      "SmsKeywordList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmsKeyword"
            }
          }
        }
      },
      "ApplicationSchema": {
        "properties": {},
        "additionalProperties": {
          "type": "object",
          "required": [
            "type",
            "display_name",
            "data_category",
            "owned_by"
          ],
          "properties": {
            "display_name": {
              "type": "string"
            },
            "type": {
              "type": "string",
              "default": "string",
              "enum": [
                "string",
                "boolean",
                "number",
                "image",
                "document",
                "object",
                "any",
                null
              ]
            },
            "data_category": {
              "type": "string",
              "enum": [
                "pii_basic",
                "pii_advanced",
                "demographic",
                "location",
                "history",
                "app_basic",
                "custom"
              ]
            },
            "required": {
              "type": "boolean",
              "default": false
            },
            "unique": {
              "type": "boolean",
              "default": false
            },
            "owned_by": {
              "type": "string",
              "enum": [
                "user",
                "app"
              ],
              "default": "u.ser"
            },
            "user_visible": {
              "type": "boolean",
              "default": true
            },
            "example": {
              "type": "string"
            },
            "verified": {
              "type": "boolean"
            },
            "verified_by": {
              "type": "string"
            },
            "encryption": {
              "type": "object",
              "properties": {
                "state": {
                  "type": "string",
                  "default": "disabled",
                  "enum": [
                    "disabled",
                    "enabled"
                  ]
                },
                "method": {
                  "type": "string",
                  "enum": [
                    "server",
                    "device"
                  ]
                },
                "plaintext_viewers": {
                  "type": "array",
                  "description": "If method is 'server', this dictates who can see the decrypted value",
                  "items": {
                    "enum": [
                      "app",
                      "user"
                    ]
                  }
                }
              }
            },
            "read_only": {
              "type": "boolean"
            },
            "validation_rules": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "rule_name",
                  "rule_value"
                ],
                "properties": {
                  "rule_name": {
                    "type": "string",
                    "enum": [
                      "min_length",
                      "max_length",
                      "match_regex"
                    ]
                  },
                  "rule_value": {
                    "type": [
                      "string",
                      "integer"
                    ]
                  },
                  "rule_identifier": {
                    "type": "string",
                    "enum": [
                      "custom",
                      "must_include",
                      "only_include",
                      "must_not_include",
                      "length"
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "ApplicationSchemaResponse": {
        "required": [
          "schema"
        ],
        "properties": {
          "user_verification_field": {
            "type": "string"
          },
          "user_verification_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "schema": {
            "type": "object",
            "$ref": "#/components/schemas/ApplicationSchema"
          },
          "application": {
            "type": "string",
            "readOnly": true
          },
          "application_url": {
            "type": "string",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "readOnly": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        }
      },
      "AppForm": {
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppFormField"
            }
          },
          "application": {
            "type": "string",
            "readOnly": true
          },
          "application_url": {
            "type": "string",
            "readOnly": true
          },
          "data_use_labels": {
            "description": "Must match data uses from app schema",
            "readOnly": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customizations": {
            "$ref": "#/components/schemas/AppFormCustomizations"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "readOnly": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        }
      },
      "AppFormList": {
        "type": "object",
        "properties": {
          "total_results": {
            "type": "number"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppForm"
            }
          }
        }
      },
      "AppFormField": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Must match a schema property name",
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "placeholder": {
            "type": "string"
          },
          "required": {
            "type": "boolean",
            "readOnly": true
          },
          "type": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "AppFormCustomizations": {
        "additionalProperties": false,
        "properties": {
          "primary_color": {
            "type": "string"
          },
          "secondary_color": {
            "type": "string"
          },
          "submit_button_label": {
            "type": "string"
          },
          "show_form_title": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "AppFormData": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "type": "object",
            "x-rownd-modifiers": [
              {
                "name": "maskEncryptedValues",
                "phase": "response"
              }
            ],
            "additionalProperties": true
          }
        }
      },
      "UserSignupRequest": {
        "required": [
          "first_name",
          "last_name",
          "email",
          "password"
        ],
        "additionalProperties": false,
        "properties": {
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "password": {
            "type": "string",
            "format": "password"
          },
          "verification_token": {
            "type": "string"
          }
        }
      },
      "User": {
        "properties": {
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "email_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "last_login": {
            "type": "string",
            "readOnly": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        }
      },
      "AppUserAssociationRequest": {
        "properties": {
          "challenge_field": {
            "type": "string"
          }
        }
      },
      "AppUserAssociationResponse": {
        "properties": {
          "application_user_id": {
            "type": "string",
            "readOnly": true
          },
          "application": {
            "type": "string",
            "readOnly": true
          },
          "application_url": {
            "type": "string",
            "format": "uri",
            "readOnly": true
          },
          "application_data_url": {
            "type": "string",
            "format": "uri",
            "readOnly": true
          }
        }
      },
      "UserProfile": {
        "additionalProperties": true,
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "idp_type": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "database",
              "social"
            ]
          },
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          }
        }
      },
      "AppUserClaimResponse": {
        "properties": {
          "number_claimed": {
            "type": "number"
          },
          "apps": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "PricingPlan": {
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "price_id": {
            "type": "string"
          },
          "starting_amount": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "metadata": {
            "type": "object",
            "properties": {
              "limits": {
                "type": "object",
                "additionalProperties": true
              },
              "features": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "data_types": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "flags": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      },
      "PricingPlanList": {
        "properties": {
          "plans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PricingPlan"
            }
          }
        }
      },
      "Discount": {
        "properties": {
          "start": {
            "type": "string"
          },
          "end": {
            "type": "string"
          },
          "coupon": {
            "$ref": "#/components/schemas/Coupon"
          }
        }
      },
      "Coupon": {
        "properties": {
          "name": {
            "type": "string"
          },
          "amount_off": {
            "type": "number"
          },
          "duration": {
            "type": "string"
          },
          "duration_in_months": {
            "type": "number"
          },
          "percent_off": {
            "type": "number"
          }
        }
      },
      "ConnectorAuthFlow": {
        "type": "object",
        "required": [
          "type",
          "config_fields"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "oauth2",
              "custom"
            ]
          },
          "config_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "options": {
            "type": "object",
            "additionalProperties": true,
            "x-rownd-modifiers": [
              {
                "name": "maskSensitiveValues",
                "phase": "response"
              }
            ]
          }
        }
      },
      "ConnectorConfigStep": {
        "type": "object",
        "required": [
          "name",
          "display_name",
          "type"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "auth",
              "input"
            ]
          },
          "auto_action": {
            "type": "string"
          },
          "supports_retrying": {
            "type": "boolean",
            "default": true
          },
          "failure_content": {
            "type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectorConfigField"
            }
          }
        }
      },
      "ConnectorConfigField": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "placeholder": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "text",
              "password",
              "select",
              "checkbox",
              "radio",
              "textarea",
              "list"
            ]
          },
          "help": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "default_value": {
            "type": "string"
          },
          "deps": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "options_action": {
            "type": "string"
          },
          "items": {
            "type": "object",
            "required": [
              "fields"
            ],
            "properties": {
              "fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    },
                    "placeholder": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "list",
                        "text",
                        "password",
                        "select",
                        "checkbox",
                        "radio",
                        "textarea"
                      ]
                    },
                    "help": {
                      "type": "string"
                    },
                    "required": {
                      "type": "boolean"
                    },
                    "default_value": {
                      "type": "string"
                    },
                    "deps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "options_action": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Connector": {
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "documentation_url": {
            "type": "string"
          },
          "icon": {
            "type": "string",
            "format": "uri"
          },
          "field_mapping_options_action": {
            "type": "string"
          },
          "config_schema": {
            "type": "object",
            "format": "json_schema",
            "additionalProperties": true
          },
          "meta": {
            "type": "object",
            "properties": {
              "auth": {
                "type": "object",
                "properties": {
                  "default_flow": {
                    "type": "string"
                  },
                  "flows": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ConnectorAuthFlow"
                    }
                  }
                }
              },
              "config_steps": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ConnectorConfigStep"
                }
              },
              "after_create_step": {
                "type": "object",
                "required": [
                  "name",
                  "display_name"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "display_name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "content": {
                    "type": "string"
                  },
                  "content_action": {
                    "type": "string"
                  }
                }
              },
              "initialization_config": {
                "type": "object",
                "properties": {
                  "async": {
                    "type": "boolean",
                    "default": false
                  },
                  "estimated_duration": {
                    "type": "number",
                    "description": "The estimated initialization duration in seconds"
                  },
                  "total_steps": {
                    "type": "number",
                    "description": "The total number of initialization steps"
                  }
                }
              },
              "success_message": {
                "type": "string",
                "description": "A message that is displayed when a connection is created successfully. It can include templated config variables like {{config.variable_name}}"
              }
            },
            "additionalProperties": true
          },
          "sample_data_types": {
            "type": "array",
            "description": "A non-exhaustive list of data types that map to default Rownd-provided (or custom) data types.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ConnectorList": {
        "properties": {
          "total_results": {
            "type": "number"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Connector"
            }
          }
        }
      },
      "Connection": {
        "required": [
          "name",
          "connector"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "connector": {
            "type": "string"
          },
          "connector_url": {
            "type": "string",
            "readOnly": true
          },
          "config": {
            "type": "object",
            "additionalProperties": true,
            "x-rownd-modifiers": [
              {
                "name": "maskSensitiveValues",
                "phase": "response"
              }
            ]
          },
          "configuration_state": {
            "$ref": "#/components/schemas/ConnectionConfigurationState"
          },
          "connection_url": {
            "type": "string",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewritePathToUrl",
                "phase": "response"
              }
            ]
          },
          "application_url": {
            "type": "string",
            "readOnly": true,
            "x-rownd-modifiers": [
              {
                "name": "rewritePathToUrl",
                "phase": "response"
              }
            ]
          },
          "data_type_map": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectionDataTypeMap"
            }
          },
          "account": {
            "type": "string",
            "readOnly": true
          },
          "account_url": {
            "type": "string",
            "format": "uri",
            "readOnly": true
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "sync_status": {
            "type": "object",
            "properties": {
              "start_time": {
                "type": "string",
                "format": "date-time"
              },
              "end_time": {
                "type": "string",
                "format": "date-time"
              },
              "last_update": {
                "type": "string",
                "format": "date-time"
              },
              "status": {
                "type": "string",
                "enum": [
                  "syncing",
                  "done",
                  "failure"
                ]
              },
              "total_handled": {
                "type": "number"
              },
              "total_synced": {
                "type": "number"
              },
              "failures": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "user_id": {
                      "type": "string"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ConnectionList": {
        "properties": {
          "total_results": {
            "type": "number"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Connection"
            }
          }
        }
      },
      "ConnectionConfigurationState": {
        "required": [
          "state"
        ],
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "created",
              "initializing",
              "destroying",
              "completed",
              "failed"
            ]
          },
          "completed_steps": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reason": {
            "type": "string"
          }
        }
      },
      "ConnectionDataTypeMap": {
        "properties": {
          "connection_field": {
            "type": "string"
          },
          "rownd_field": {
            "type": "string"
          },
          "transformer": {
            "type": "string"
          }
        }
      },
      "ConnectionNotifyRequest": {
        "additionalProperties": false,
        "oneOf": [
          {
            "$ref": "#/components/schemas/ConnectionNotifyRequestArray"
          },
          {
            "$ref": "#/components/schemas/ConnectionNotifyRequestObject"
          }
        ]
      },
      "ConnectionNotifyRequestArray": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ConnectionNotifyRequestDetails"
        }
      },
      "ConnectionNotifyRequestObject": {
        "type": "object",
        "properties": {
          "connectionNotifyRequest": {
            "$ref": "#/components/schemas/ConnectionNotifyRequestDetails"
          }
        }
      },
      "ConnectionNotifyRequestDetails": {
        "type": "object",
        "additionalProperties": true
      },
      "ConnectionNotifyResponse": {
        "type": "object",
        "additionalProperties": true
      },
      "ConnectionAttachRequest": {
        "required": [
          "application",
          "data_type_map"
        ],
        "properties": {
          "application": {
            "type": "string",
            "description": "The application ID to which you want to attach this connection"
          },
          "data_type_map": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectionDataTypeMap"
            }
          }
        }
      },
      "ConnectionAttachResponse": {
        "properties": {
          "result": {
            "type": "string",
            "enum": [
              "success",
              "error"
            ]
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ConnectionDetachRequest": {
        "required": [
          "application"
        ],
        "properties": {
          "application": {
            "type": "string",
            "description": "The application ID from which you want to detach this connection"
          }
        }
      },
      "ConnectionDetachResponse": {
        "properties": {
          "result": {
            "type": "string",
            "enum": [
              "success",
              "error"
            ]
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ConnectionCreateRequest": {
        "required": [
          "name",
          "connector"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "connector": {
            "type": "string"
          },
          "config": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "ConnectionUpdateRequest": {
        "properties": {
          "name": {
            "type": "string"
          },
          "config": {
            "type": "object",
            "additionalProperties": true
          },
          "configuration_state": {
            "$ref": "#/components/schemas/ConnectionConfigurationState"
          }
        }
      },
      "ConnectionAction": {
        "required": [
          "action_type"
        ],
        "properties": {
          "action_type": {
            "type": "string",
            "description": "Connectors may provide arbitrary actions that can be invoked during the setup process of a particular connection."
          },
          "params": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "ConnectionActionResult": {
        "properties": {
          "action_type": {
            "type": "string"
          },
          "result": {
            "type": "string",
            "enum": [
              "success",
              "error"
            ]
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "data": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "HubConnectionAction": {
        "oneOf": [
          {
            "required": [
              "action_type"
            ],
            "properties": {
              "action_type": {
                "type": "string",
                "enum": [
                  "near.ensure-implicit-account",
                  "near.hub-config",
                  "firebase-auth.get-firebase-token",
                  "shopify.generate-multipass-token",
                  "squadup.list-tickets"
                ]
              }
            }
          },
          {
            "required": [
              "action_type"
            ],
            "properties": {
              "action_type": {
                "type": "string",
                "enum": [
                  "near.create-named-account"
                ]
              },
              "params": {
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The NEAR account name",
                    "example": "my-account.rownd.testnet"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          {
            "required": [
              "action_type",
              "params"
            ],
            "properties": {
              "action_type": {
                "type": "string",
                "enum": [
                  "near.disconnect-account"
                ]
              },
              "params": {
                "required": [
                  "account_id"
                ],
                "properties": {
                  "account_id": {
                    "type": "string",
                    "description": "The NEAR account ID",
                    "example": "my-account.rownd.testnet"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        ]
      },
      "HubEventInitiateSignIn": {
        "type": "object",
        "properties": {
          "event": {
            "type": "string",
            "enum": [
              "INITIATE_SIGN_IN"
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "step": {
                "type": "string"
              },
              "modal_title": {
                "type": "string"
              },
              "sign_in_methods": {
                "type": "array"
              },
              "items": {
                "type": "string"
              },
              "is_try_another_way_button_visible": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "AppConnection": {
        "required": [
          "connection"
        ],
        "properties": {
          "connection": {
            "type": "string"
          },
          "data_type_map": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectionDataTypeMap"
            }
          }
        }
      },
      "ApplicationConnectionMap": {
        "type": "object",
        "properties": {
          "connection": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              }
            }
          },
          "application": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "icon": {
                "type": "string",
                "format": "uri",
                "x-rownd-modifiers": [
                  {
                    "name": "rewriteAssetUrl",
                    "phase": "response"
                  }
                ]
              }
            }
          }
        }
      },
      "EmailInsights": {
        "properties": {
          "is_gmail": {
            "type": "boolean"
          }
        }
      },
      "Fingerprint": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "hash": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          }
        }
      },
      "AppleAppSiteAssociation": {
        "type": "object",
        "properties": {
          "applinks": {
            "type": "object",
            "properties": {
              "details": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "appIDs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "components": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "exclude": {
                            "type": "boolean"
                          },
                          "comment": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "webcredentials": {
            "type": "object",
            "properties": {
              "apps": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "AndroidAssetLinks": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "relation": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "target": {
              "type": "object",
              "properties": {
                "namespace": {
                  "type": "string"
                },
                "package_name": {
                  "type": "string"
                },
                "sha256_cert_fingerprints": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "MagicLinkCompleteResponse": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string"
          },
          "refresh_token": {
            "type": "string"
          },
          "app_user_id": {
            "type": "string"
          },
          "app_id": {
            "type": "string"
          },
          "last_sign_in": {
            "type": "string",
            "description": "Which method this account last used to sign in."
          },
          "redirect_url": {
            "type": "string",
            "description": "The original redirect URL"
          },
          "link_data": {
            "type": "object",
            "description": "The data associated with the magic link",
            "additionalProperties": true
          },
          "magic_link": {
            "type": "string",
            "description": "The self reference to this link"
          }
        }
      },
      "UserAction": {
        "type": "object",
        "required": [
          "action",
          "user"
        ],
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "delete"
            ]
          },
          "user": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      },
      "UserActionResult": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "fulfilled",
              "rejected"
            ]
          },
          "value": {
            "type": "object",
            "additionalProperties": true
          },
          "reason": {
            "type": "string",
            "description": "A description of why an action was rejected"
          }
        }
      },
      "KableTokenResponse": {
        "type": "object",
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "type": "string",
            "description": "The Kable token"
          }
        }
      },
      "MyPasskeys": {
        "type": "object",
        "properties": {
          "passkeys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "user_agent": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "MyUserMetaBody": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "meta": {
            "$ref": "#/components/schemas/MyUserMeta"
          },
          "last_modified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        }
      },
      "OAuth2ProviderDefinition": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "icon_light_url": {
            "type": "string"
          },
          "icon_dark_url": {
            "type": "string"
          },
          "config_schema": {
            "type": "object",
            "format": "json_schema",
            "additionalProperties": true
          }
        }
      },
      "ApplicationCredential": {
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the application credential",
            "example": "Production API Key"
          },
          "client_id": {
            "type": "string",
            "readOnly": true,
            "description": "Unique identifier for the credential"
          },
          "secret": {
            "type": "string",
            "readOnly": true,
            "description": "Secret key used for authentication"
          },
          "expires": {
            "type": "string",
            "format": "date-time",
            "description": "Expiration date and time of the credential",
            "example": "2024-12-31T23:59:59Z"
          },
          "application": {
            "type": "string",
            "readOnly": true,
            "description": "ID of the application this credential belongs to",
            "example": "app_k3y1qwerty12345"
          },
          "app_variant_id": {
            "type": "string",
            "description": "ID of the application variant",
            "example": "variant_fgy1qw367fty121lm"
          },
          "oidc_client_configuration_id": {
            "type": "string",
            "description": "ID of the OIDC client configuration",
            "example": "oidcc_k3y1qwerty12345"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/UpdatedAt"
          }
        }
      },
      "ApplicationCredentialList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplicationCredential"
            }
          }
        }
      },
      "CustomDomain": {
        "required": [
          "id",
          "domain",
          "status",
          "verification"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the custom domain",
            "example": "ckl8bcf1g000001l2f7z8z9z9"
          },
          "domain": {
            "type": "string",
            "description": "The domain of the custom domain",
            "example": "magic.myapp.com"
          },
          "status": {
            "type": "string",
            "description": "The status of the custom domain verification",
            "enum": [
              "pending",
              "ready",
              "disabled",
              "blocked"
            ],
            "example": "pending"
          },
          "verification": {
            "type": "object",
            "properties": {
              "methods": {
                "type": "array",
                "description": "The methods used to verify the custom domain",
                "items": {
                  "type": "object",
                  "required": [
                    "type",
                    "value",
                    "name"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "The type of the verification method",
                      "enum": [
                        "txt",
                        "cname"
                      ]
                    },
                    "value": {
                      "type": "string",
                      "description": "The value of the verification record",
                      "example": "_rownd-verification=1234567890"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the verification record",
                      "example": "_rownd-verification.myapp.com"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ApplicationDomain": {
        "required": [
          "id",
          "app_id",
          "purpose",
          "subdomain"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the application domain",
            "example": "domain_ckl8bcf1g000001l2f7z8z9z9"
          },
          "app_id": {
            "type": "string",
            "description": "The ID of the app that the application domain belongs to",
            "example": "app_m7nnoueenvqmv2hr1txvazbz"
          },
          "app_variant_id": {
            "type": "string",
            "description": "The ID of the app variant that the application domain belongs to",
            "example": "variant_kib1qt1t5wfj5nzqmtwq2vcq"
          },
          "purpose": {
            "type": "string",
            "description": "The purpose of the application domain",
            "enum": [
              "links",
              "auth"
            ]
          },
          "subdomain": {
            "type": "string",
            "description": "The subdomain of the application domain",
            "example": "myapp-1234"
          },
          "custom_domain": {
            "$ref": "#/components/schemas/CustomDomain"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/UpdatedAt"
          }
        }
      },
      "ApplicationDomainList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplicationDomain"
            }
          }
        }
      },
      "ApplicationDomainCreateRequest": {
        "required": [
          "purpose"
        ],
        "properties": {
          "app_variant_id": {
            "type": "string",
            "description": "The ID of the app variant that the application domain belongs to",
            "example": "variant_kib1qt1t5wfj5nzqmtwq2vcq"
          },
          "subdomain": {
            "type": "string",
            "description": "The subdomain of the application domain",
            "example": "myapp-1234"
          },
          "custom_domain": {
            "type": "object",
            "required": [
              "domain"
            ],
            "properties": {
              "domain": {
                "type": "string",
                "description": "The custom domain of the application domain",
                "example": "magic.myapp.com"
              }
            }
          },
          "purpose": {
            "type": "string",
            "description": "The purpose of the application domain",
            "enum": [
              "links",
              "auth"
            ]
          }
        }
      },
      "ApplicationDomainUpdateRequest": {
        "properties": {
          "subdomain": {
            "type": "string",
            "description": "The subdomain of the application domain",
            "example": "yourapp"
          },
          "custom_domain": {
            "type": "object",
            "required": [
              "domain"
            ],
            "properties": {
              "domain": {
                "type": "string",
                "description": "The custom domain of the application domain",
                "example": "magic.myapp.com"
              }
            }
          }
        }
      },
      "AppUserDataState": {
        "readOnly": true,
        "type": "string",
        "enum": [
          "enabled",
          "disabled"
        ],
        "description": "The user's state",
        "default": "enabled"
      },
      "AppUserDataAttributes": {
        "type": "object",
        "description": "User profile attributes",
        "additionalProperties": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "example": {
          "rownd:app_variants": [
            "app_variant_1",
            "app_variant_2"
          ],
          "myapp:subscription_status": [
            "active"
          ],
          "myapp:loyalty_points": [
            "100"
          ]
        }
      },
      "AppUserDataData": {
        "description": "User profile data",
        "additionalProperties": true,
        "x-rownd-modifiers": [
          {
            "name": "generateUserDataObjectUrls",
            "phase": "response"
          },
          {
            "name": "maskEncryptedValues",
            "phase": "response"
          }
        ],
        "example": {
          "user_id": "user_a7b53gwdaml5jt7t71442nt7",
          "email": "gary@foo.com",
          "first_name": "Gary",
          "last_name": "Jackson"
        }
      },
      "Group": {
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true,
            "description": "The group ID",
            "example": "group_a3l1n2lsnb3q0xbul9enjnh7"
          },
          "name": {
            "type": "string",
            "description": "The group name",
            "example": "My Teammates"
          },
          "member_count": {
            "description": "This value is no longer provided by the API. The default value of 0 will always be returned\n",
            "type": "number",
            "readOnly": true,
            "default": 0,
            "deprecated": true
          },
          "app_id": {
            "type": "string",
            "readOnly": true,
            "description": "Rownd application ID",
            "example": "327677849595019856"
          },
          "admission_policy": {
            "type": "string",
            "enum": [
              "invite_only",
              "open"
            ],
            "description": "Set whether the group be open for anyone to join or by invite only",
            "default": "invite_only",
            "example": "invite_only"
          },
          "meta": {
            "description": "An object containing additional metadata for the group",
            "additionalProperties": true,
            "nullable": true
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/UpdatedAt"
          },
          "updated_by": {
            "$ref": "#/components/schemas/CreatedBy"
          },
          "created_by": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "GroupMemberState": {
        "type": "string",
        "enum": [
          "active",
          "invite_pending",
          "invite_rejected"
        ],
        "description": "The state of the group member. A member that has been invited will not go into the `active`\nstate until they accept the invitation.\n"
      },
      "GroupMember": {
        "required": [
          "user_id",
          "roles"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true,
            "description": "The group member ID",
            "example": "member_dnn5g4e3q6aptail2gr43kpj"
          },
          "user_id": {
            "type": "string",
            "description": "The ID of a user to add as a group member. The user must belong to the Rownd application.\n",
            "example": "user_fbylaq38591cghym5pabupj2"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The roles that the member belongs. (The first member added or invited to a group will\nalways be created with the 'owner' role along with any additional roles specified)\n",
            "example": [
              "owner",
              "editor"
            ]
          },
          "state": {
            "$ref": "#/components/schemas/GroupMemberState"
          },
          "invited_by": {
            "type": "string",
            "readOnly": true,
            "description": "The authenticated party that invited the user to the group"
          },
          "added_by": {
            "type": "string",
            "readOnly": true,
            "description": "The authenticated party that added the user to the gruop"
          },
          "profile": {
            "$ref": "#/components/schemas/AppUserDataData",
            "readOnly": true
          },
          "group_id": {
            "type": "string",
            "readOnly": true,
            "description": "The group ID",
            "example": "group_ig42thhwf4cig25o7t9jtlyu"
          }
        }
      },
      "UserGroup": {
        "required": [
          "group",
          "member"
        ],
        "properties": {
          "group": {
            "$ref": "#/components/schemas/Group",
            "description": "The group"
          },
          "member": {
            "$ref": "#/components/schemas/GroupMember",
            "description": "The group member"
          }
        }
      },
      "MyUserMeta": {
        "additionalProperties": false,
        "properties": {
          "last_passkey_registration_prompt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "patternProperties": {
          "^automation_.*$": {
            "type": "string"
          }
        }
      },
      "AppUserDataConnectionMap": {
        "additionalProperties": {
          "type": "object",
          "properties": {
            "connection_record_id": {
              "type": "string"
            },
            "fields": {
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "in_sync": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      },
      "AppUserData": {
        "properties": {
          "rownd_user": {
            "readOnly": true,
            "type": "string",
            "description": "The user's ID",
            "example": "user_a7b53gwdaml5jt7t71442nt7"
          },
          "state": {
            "$ref": "#/components/schemas/AppUserDataState"
          },
          "auth_level": {
            "readOnly": true,
            "type": "string",
            "description": "The user's authentication level",
            "example": "verified"
          },
          "attributes": {
            "$ref": "#/components/schemas/AppUserDataAttributes"
          },
          "data": {
            "$ref": "#/components/schemas/AppUserDataData"
          },
          "verified_data": {
            "readOnly": true,
            "type": "object",
            "additionalProperties": true,
            "description": "User profile data that has been verified",
            "example": {
              "email": "gary@foo.com",
              "phone_number": "+19199993333"
            }
          },
          "groups": {
            "readOnly": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserGroup"
            },
            "description": "Groups in which the user is a member"
          },
          "meta": {
            "readOnly": true,
            "allOf": [
              {
                "type": "object",
                "properties": {
                  "created": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "modified": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "first_sign_in": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "first_sign_in_method": {
                    "type": "string"
                  },
                  "last_sign_in": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "last_sign_in_method": {
                    "type": "string"
                  },
                  "last_active": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              },
              {
                "$ref": "#/components/schemas/MyUserMeta"
              }
            ]
          },
          "connection_map": {
            "readOnly": true,
            "$ref": "#/components/schemas/AppUserDataConnectionMap"
          }
        }
      },
      "AppUserDataList": {
        "properties": {
          "total_results": {
            "type": "number",
            "readOnly": true,
            "description": "The number of results"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppUserData"
            },
            "description": "The list of user profiles"
          }
        }
      },
      "UserUpsertError": {
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "error": {
            "type": "string"
          },
          "code": {
            "type": "string",
            "example": "E_USER_UPDATE_FAILED"
          },
          "message": {
            "type": "string"
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "field_errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "AppUserStateUpdateRequest": {
        "required": [
          "state"
        ],
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ]
          }
        }
      },
      "MobileAppPageCapture": {
        "properties": {
          "id": {
            "readOnly": true,
            "type": "string",
            "description": "The page capture ID",
            "example": "capture_r6ohcga3lvkf6hgk9sq1j5qd"
          },
          "page_id": {
            "type": "string",
            "description": "The page ID",
            "example": "page_t0ubtyix1f3dx985tvjk6ibe"
          },
          "platform": {
            "type": "string",
            "enum": [
              "android",
              "ios",
              "web"
            ],
            "description": "The platform on which the capture was created",
            "example": "android"
          },
          "screenshot_url": {
            "readOnly": true,
            "type": "string",
            "format": "uri",
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ],
            "description": "The absolute URL of the page screenshot resource",
            "example": "https://storage.rownd.io/account1/screenshot-abc.png"
          },
          "screenshot_height": {
            "type": "number",
            "description": "The height of the screenshot in pixels",
            "example": 1920
          },
          "screenshot_width": {
            "type": "number",
            "description": "The width of the screenshot in pixels",
            "example": 760
          },
          "screen_structure": {
            "type": "object",
            "additionalProperties": true,
            "description": "The view hierarchy and metadata of the app on the specific page"
          },
          "rule_set": {
            "type": "object",
            "additionalProperties": true,
            "description": "The set of rules that when evaluated to `true` uniquely identify the page. This\nruleset is evaluated against the `screen_structure`.\n"
          },
          "captured_on_app_version": {
            "type": "string",
            "description": "The release version of the app"
          },
          "captured_on_sdk_version": {
            "type": "string",
            "description": "The Rownd mobile SDK version"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": true,
            "description": "Metadata associated with the page capture"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "created_by": {
            "$ref": "#/components/schemas/CreatedBy"
          },
          "app_id": {
            "type": "string",
            "description": "The Rownd app ID",
            "example": null
          }
        }
      },
      "MobileAppPage": {
        "properties": {
          "id": {
            "readOnly": true,
            "type": "string",
            "description": "The page ID",
            "example": "page_t0ubtyix1f3dx985tvjk6ibe"
          },
          "name": {
            "type": "string",
            "description": "The page name",
            "example": "My Page"
          },
          "app_id": {
            "readOnly": true,
            "type": "string",
            "description": "The Rownd app ID",
            "example": null
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "created_by": {
            "$ref": "#/components/schemas/CreatedBy"
          },
          "captures": {
            "readOnly": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobileAppPageCapture"
            }
          }
        }
      },
      "MobileAppPageList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobileAppPage"
            }
          }
        }
      },
      "MobileAppPageCreateRequest": {
        "required": [
          "name"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MobileAppPage"
          },
          {
            "type": "object",
            "properties": {
              "name": {}
            }
          }
        ]
      },
      "MobileAppPageCaptureList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobileAppPageCapture"
            }
          }
        }
      },
      "MobileAppPageCaptureCreateRequest": {
        "required": [
          "platform"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/MobileAppPageCapture"
          },
          {
            "type": "object",
            "properties": {
              "platform": {},
              "screenshot_height": {},
              "screenshot_width": {},
              "screen_structure": {},
              "rule_set": {},
              "captured_on_app_version": {},
              "captured_on_sdk_version": {},
              "screenshot_base64": {
                "type": "string",
                "description": "The screenshot binary content encoded in base64"
              },
              "screenshot_mime_type": {
                "type": "string",
                "description": "The screenshot MIME type",
                "example": "image/png"
              }
            }
          }
        ]
      },
      "MobileAppPageCaptureUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MobileAppPageCapture"
          },
          {
            "type": "object",
            "properties": {
              "rule_set": {}
            }
          }
        ]
      },
      "MobileAppTaggingMagicCreateRequest": {
        "properties": {
          "app_variant_id": {
            "type": "string",
            "description": "The ID of the application variant to create a magic link for"
          }
        }
      },
      "MobileAppTaggingMagicCreateResponse": {
        "properties": {
          "link": {
            "type": "string",
            "description": "The magic link to use for mobile app tagging"
          }
        }
      },
      "GroupList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Group"
            }
          }
        }
      },
      "GroupMemberList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupMember"
            }
          }
        }
      },
      "GroupInvite": {
        "required": [
          "roles"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true,
            "description": "The group invite ID",
            "example": "c92kd7td7z4myhu7z5y637cp"
          },
          "group_id": {
            "type": "string",
            "readOnly": true,
            "description": "The group ID",
            "example": "group_zjca79svvbqfeilwr8httcal"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The roles into which a group member will be added upon invite acceptance (The first \nmember invited to a group will always be created with the 'owner' role along with any\nadditional roles specified)\n",
            "example": [
              "editor"
            ]
          },
          "state": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "pending",
              "accepted",
              "rejected"
            ],
            "description": "The state of the invite"
          },
          "email": {
            "type": "string",
            "description": "The email of a Rownd user in the specified application. This property is mutually exclusive \nwith `user_id` and `email`\n",
            "example": "randy@foo.com"
          },
          "phone": {
            "type": "string",
            "description": "The phone number of a Rownd user in the specified application. This property is mutually\nexclusive with `user_id` and `email`\n",
            "example": 19199993333
          },
          "user_id": {
            "type": "string",
            "description": "The ID of a Rownd user in the specified application. This property is mutually exclusive with \n`phone` and `email`\n",
            "example": "user_mni5316glfgwtgljboxrv2it"
          },
          "user_lookup_value": {
            "type": "string",
            "readOnly": true,
            "description": "The email or phone number specified during creation",
            "example": "randy@foo.com"
          },
          "redirect_url": {
            "type": "string",
            "description": "The relative or absolute path location to which a user will be directed after accepting the invite\n",
            "example": "/somewhere/on/my/site#"
          },
          "app_variant_id": {
            "type": "string",
            "description": "The ID of an application variant for which this invite should be created. When a user accepts\nthis invite, they will be added to the group as a member and signed into this application\nvariant. (Learn about variants [here](/configuration/customizations/sub-brands))\n"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "created_by": {
            "$ref": "#/components/schemas/CreatedBy"
          },
          "accepted_by": {
            "type": "string",
            "readOnly": true,
            "description": "The ID of the user that accepted the invite",
            "example": "user_vgzrk03xpenj6td8vwi9crh4"
          },
          "ensured_user_id": {
            "type": "string",
            "readOnly": true,
            "description": "The ID of the user ensured by the provided `user_id` or `user_lookup_value`"
          }
        }
      },
      "GroupInviteList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupInvite"
            }
          }
        }
      },
      "UserGroupList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserGroup"
            }
          }
        }
      },
      "group": {
        "parameters": [
          {
            "$ref": "#/components/parameters/AppID"
          },
          {
            "$ref": "#/components/parameters/GroupID"
          }
        ],
        "get": {
          "operationId": "application_group_get",
          "description": "Platform API for retrieving a group",
          "tags": [
            "groups"
          ],
          "security": [
            {
              "appKey": [],
              "appSecret": []
            },
            {
              "hubAccessTokenForRowndApi": []
            }
          ],
          "responses": {
            "200": {
              "description": "Group created successfully",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Group"
                  }
                }
              }
            }
          }
        },
        "put": {
          "operationId": "application_group_update",
          "description": "Platform API for updating a group",
          "tags": [
            "groups"
          ],
          "security": [
            {
              "appKey": [],
              "appSecret": []
            },
            {
              "hubAccessTokenForRowndApi": []
            }
          ],
          "requestBody": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          },
          "responses": {
            "200": {
              "description": "Group created successfully",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Group"
                  }
                }
              }
            }
          }
        },
        "delete": {
          "operationId": "application_group_delete",
          "description": "Platform API for deleting a group",
          "tags": [
            "groups"
          ],
          "security": [
            {
              "appKey": [],
              "appSecret": []
            },
            {
              "hubAccessTokenForRowndApi": []
            }
          ],
          "responses": {
            "204": {
              "description": "Group deleted successfully"
            }
          }
        }
      },
      "OIDCClientConfigurationConfig": {
        "additionalProperties": true,
        "properties": {
          "allowed_origins": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allowed origins for the OIDC client",
            "example": [
              "https://example.com"
            ]
          },
          "redirect_uris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Redirect URIs supported by the OIDC client",
            "example": [
              "https://example.com/callback"
            ]
          },
          "post_logout_uris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Post logout URIs for the OIDC client",
            "example": [
              "https://example.com/logout"
            ]
          },
          "logo_uri": {
            "type": "string",
            "description": "URI of the logo for the OIDC client",
            "example": "https://storage.rownd.io/logo-oidc-client-app_1234_oidcc_5667-filename.png",
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          },
          "logo_dark_mode_uri": {
            "type": "string",
            "description": "URI of the logo for the OIDC client in dark mode",
            "example": "https://storage.rownd.io/logo-oidc-client-app_1234_oidcc_5667-filename.png",
            "x-rownd-modifiers": [
              {
                "name": "rewriteAssetUrl",
                "phase": "response"
              }
            ]
          },
          "allowed_scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Scopes supported by the OIDC client",
            "example": [
              "openid",
              "profile",
              "email"
            ]
          },
          "hub_title": {
            "type": "string",
            "description": "Title of the hub",
            "example": "Sign in to My App with Another App"
          },
          "hub_dark_mode": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled",
              "auto"
            ],
            "description": "Dark mode setting for the hub",
            "example": "enabled"
          },
          "hub_show_logos": {
            "type": "boolean",
            "description": "Whether to show the logos in the hub",
            "example": true
          },
          "is_pkce_supported": {
            "type": "boolean",
            "description": "Whether PKCE is supported for the OIDC client",
            "example": true
          }
        }
      },
      "OIDCClient": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the OIDC client",
            "example": "oidc_client_ck9c1glf0100001l2f7z8z9z9"
          },
          "app_id": {
            "type": "string",
            "description": "Application identifier associated with the OIDC client",
            "example": "app_ckl8bcf1g000001l2f7z8z9z9"
          },
          "name": {
            "type": "string",
            "description": "Name of the OIDC client",
            "example": "Example OIDC Provider"
          },
          "description": {
            "type": "string",
            "description": "Description of the OIDC client",
            "example": "Example OIDC Provider"
          },
          "config": {
            "$ref": "#/components/schemas/OIDCClientConfigurationConfig"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/UpdatedAt"
          },
          "credentials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplicationCredential"
            },
            "description": "Credentials associated with the OIDC client"
          }
        }
      },
      "OIDCClientList": {
        "properties": {
          "total_results": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OIDCClient"
            }
          }
        }
      },
      "OIDCClientCreateRequest": {
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the OIDC client",
            "example": "Example OIDC Provider"
          },
          "description": {
            "type": "string",
            "description": "Description of the OIDC client",
            "example": "Example OIDC Provider"
          },
          "config": {
            "$ref": "#/components/schemas/OIDCClientConfigurationConfig"
          }
        }
      },
      "OIDCClientUpdateRequest": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the OIDC client",
            "example": "Example OIDC Provider"
          },
          "description": {
            "type": "string",
            "description": "Description of the OIDC client",
            "example": "Example OIDC Provider"
          },
          "config": {
            "$ref": "#/components/schemas/OIDCClientConfigurationConfig"
          }
        }
      },
      "MagicLinkCreateResponse": {
        "properties": {
          "link": {
            "type": "string",
            "description": "The magic link URL",
            "example": "https://rownd.link/c8fLG0a"
          },
          "app_user_id": {
            "type": "string",
            "description": "The user ID specified during creation or the resolved user ID if one of the directives\nwas specified (e.g. `'__default__'`)\n",
            "example": "user_fmpsrdqfcqzyicf3msor42e8"
          }
        }
      },
      "JWK": {
        "properties": {
          "kty": {
            "type": "string",
            "description": "Key Type",
            "example": "OKP"
          },
          "alg": {
            "type": "string",
            "description": "Algorithm intended for use with the key",
            "example": "EdDSA"
          },
          "kid": {
            "type": "string",
            "description": "Key ID",
            "example": "sig-1644937360"
          },
          "use": {
            "type": "string",
            "description": "Intended use of the public key",
            "enum": [
              "sig",
              "enc"
            ],
            "example": "sig"
          },
          "crv": {
            "type": "string",
            "description": "Curve Name for Elliptic Curve Public Keys",
            "example": "Ed25519"
          },
          "x": {
            "type": "string",
            "description": "Base64url encoded public key value",
            "example": "ChrFqbu1T7TTuLFg3o_coBNwqdm_O5Llok1dey0G2Tg"
          }
        },
        "additionalProperties": true
      },
      "MobileAppPageUpdateRequest": {
        "$ref": "#/components/schemas/MobileAppPage"
      }
    }
  }
}