{
  "openapi": "3.0.3",
  "info": {
    "title": "ONVELS Module Import API",
    "version": "2.0.0",
    "description": "URL extraction and reviewed destination handoff. Existing Store v1 publishing, credits and idempotency remain unchanged. Authenticated requests never accept client-provided owners, roles, balances or file ownership. Session writes require same-origin Origin and X-Import-Csrf. JSON request limit 256 KiB; extraction limit 2 MiB / 8 seconds. Uncertain native writes require reconciliation; never automatically retry them."
  },
  "servers": [
    {
      "url": "https://www.onvels.com/api/imports/v2"
    }
  ],
  "paths": {
    "/capabilities": {
      "get": {
        "summary": "Destination schemas, inventory and actual integration capabilities",
        "description": "",
        "operationId": "get__capabilities",
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/session": {
      "get": {
        "summary": "Current allowed destinations, currency and browser CSRF nonce",
        "description": "",
        "operationId": "get__session",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/jobs": {
      "get": {
        "summary": "Last 30 private imports visible to the current scopes",
        "description": "",
        "operationId": "get__jobs",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Queue a private URL extraction",
        "description": "Maximum 10 active jobs per owner, 200 globally. No content is published by extraction. Public HTML only, bounded download, no CAPTCHA bypass or paid AI fallback.",
        "operationId": "post__jobs",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": [],
            "ImportCsrf": []
          }
        ],
        "responses": {
          "202": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "description": "Required here or in idempotency_key. Reusing a key with different URL/destination returns 409."
          }
        ]
      }
    },
    "/previews": {
      "post": {
        "summary": "Queue a private URL extraction",
        "description": "Maximum 10 active jobs per owner, 200 globally. No content is published by extraction. Public HTML only, bounded download, no CAPTCHA bypass or paid AI fallback.",
        "operationId": "post__previews",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": [],
            "ImportCsrf": []
          }
        ],
        "responses": {
          "202": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "description": "Required here or in idempotency_key. Reusing a key with different URL/destination returns 409."
          }
        ]
      }
    },
    "/jobs/{id}": {
      "get": {
        "summary": "Get extracted fields, provenance, media references, outline and status",
        "description": "",
        "operationId": "get__jobs_id",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            }
          }
        ]
      }
    },
    "/jobs/{id}/events": {
      "get": {
        "summary": "Get the last 100 state transitions",
        "description": "",
        "operationId": "get__jobs_id_events",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            }
          }
        ]
      }
    },
    "/jobs/{id}/native": {
      "get": {
        "summary": "Prepare the destination native form contract",
        "description": "Rechecks current permissions. Studio requires an unambiguous active identity bridge. Media references do not represent uploaded files. CMS includes a rich_text block contract.",
        "operationId": "get__jobs_id_native",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            }
          }
        ]
      }
    },
    "/jobs/{id}/review": {
      "post": {
        "summary": "Apply a versioned allowlisted field patch",
        "description": "",
        "operationId": "post__jobs_id_review",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": [],
            "ImportCsrf": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Review"
              }
            }
          }
        }
      }
    },
    "/jobs/{id}/cancel": {
      "post": {
        "summary": "Cancel before the native write starts",
        "description": "",
        "operationId": "post__jobs_id_cancel",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": [],
            "ImportCsrf": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Revision"
              }
            }
          }
        }
      }
    },
    "/jobs/{id}/publish": {
      "post": {
        "summary": "Prepare the native review workflow",
        "description": "Returns published:false and state=native_review. The user completes native files, taxonomy, privacy and required fields, then saves in the destination. Cake native forms correlate their actual save and make retries idempotent. Studio/CMS remain native_review in this ledger; their native UI confirms the final save. This endpoint is not a bulk auto-publication endpoint.",
        "operationId": "post__jobs_id_publish",
        "security": [
          {
            "ImportToken": []
          },
          {
            "NativeSession": [],
            "ImportCsrf": []
          }
        ],
        "responses": {
          "202": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Publish"
              }
            }
          }
        }
      }
    },
    "/tokens": {
      "get": {
        "summary": "List token labels, expiry and scopes; secrets are never returned",
        "description": "",
        "operationId": "get__tokens",
        "security": [
          {
            "NativeSession": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Issue a scoped expiring token; browser session only",
        "description": "",
        "operationId": "post__tokens",
        "security": [
          {
            "NativeSession": [],
            "ImportCsrf": []
          }
        ],
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Token"
              }
            }
          }
        }
      }
    },
    "/tokens/{id}": {
      "delete": {
        "summary": "Revoke a token owned by the current browser session",
        "description": "",
        "operationId": "delete__tokens_id",
        "security": [
          {
            "NativeSession": [],
            "ImportCsrf": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Permission, account or scope denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not found for this owner",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Revision, state or idempotency conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Validation or unsupported destination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Bounded queue or retention limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Temporary unavailability",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            }
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ImportToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "onvi2_ opaque scoped token"
      },
      "NativeSession": {
        "type": "apiKey",
        "in": "header",
        "name": "Cookie",
        "description": "Use the existing Onvels browser session cookie; its configured name is managed by the site."
      },
      "ImportCsrf": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Import-Csrf",
        "description": "Session mutations only. Obtain from GET /session."
      }
    },
    "schemas": {
      "Create": {
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "enum": [
              "store",
              "academy",
              "business",
              "jobs",
              "events",
              "classified",
              "property",
              "resume",
              "articles",
              "news",
              "photos",
              "videos",
              "music",
              "documents",
              "recipes",
              "groups",
              "forums",
              "questions",
              "quizzes",
              "polls",
              "contests",
              "fundraising",
              "legacy_pages",
              "social_publishing",
              "legacy_stories",
              "editorial",
              "creative_assets",
              "ads",
              "studio_feed",
              "studio_market",
              "studio_pages",
              "studio_stories",
              "studio_vibb",
              "studio_groups",
              "studio_events",
              "studio_paid",
              "cms",
              "go",
              "pulse",
              "storefront",
              "os",
              "api_center",
              "ai",
              "generation"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "idempotency_key": {
            "type": "string",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$"
          }
        },
        "required": [
          "destination",
          "url"
        ],
        "additionalProperties": false
      },
      "Revision": {
        "type": "object",
        "properties": {
          "revision": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "revision"
        ],
        "additionalProperties": false
      },
      "Publish": {
        "type": "object",
        "properties": {
          "revision": {
            "type": "integer",
            "minimum": 1
          },
          "confirm": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "revision",
          "confirm"
        ],
        "additionalProperties": false
      },
      "Review": {
        "type": "object",
        "properties": {
          "revision": {
            "type": "integer",
            "minimum": 1
          },
          "fields": {
            "type": "object",
            "description": "Only fields declared by the selected destination. Null clears an optional value. Category IDs are local to the destination."
          }
        },
        "required": [
          "revision",
          "fields"
        ],
        "additionalProperties": false
      },
      "Token": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 100
          },
          "scopes": {
            "type": "array",
            "minItems": 1,
            "maxItems": 88,
            "items": {
              "type": "string",
              "pattern": "^[a-z_]+:(read|write|publish)$"
            }
          },
          "expires_in": {
            "type": "integer",
            "minimum": 300,
            "maximum": 7776000,
            "default": 2592000
          }
        },
        "required": [
          "scopes"
        ],
        "additionalProperties": false
      },
      "Error": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "error_code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "Job": {
        "type": "object",
        "description": "Private owner-bound import. state=published means the native save was verified, not a guarantee of public visibility or moderation approval. native_review is not a publication receipt.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-f0-9]{32}$"
          },
          "revision": {
            "type": "integer"
          },
          "destination": {
            "type": "string"
          },
          "source_url": {
            "type": "string",
            "format": "uri"
          },
          "state": {
            "type": "string",
            "enum": [
              "queued",
              "extracting",
              "needs_review",
              "reviewed",
              "native_review",
              "approved",
              "publishing",
              "published",
              "failed",
              "cancelled",
              "reconciliation_required"
            ]
          },
          "draft": {
            "type": "object",
            "nullable": true
          },
          "result": {
            "type": "object",
            "nullable": true
          },
          "error_code": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Fields_store": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "price": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "source_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          },
          "confirmed_currency": {
            "type": "string",
            "nullable": true,
            "maxLength": 3
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_academy": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "price": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "tags": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "confirmed_currency": {
            "type": "string",
            "nullable": true,
            "maxLength": 3
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "course",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_business": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "address": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "website": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          },
          "business_type_id": {
            "type": "integer",
            "nullable": true
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "geo_latitude": {
            "type": "string",
            "nullable": true,
            "maxLength": 24
          },
          "geo_longitude": {
            "type": "string",
            "nullable": true,
            "maxLength": 24
          },
          "geo_country": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "geo_region": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "geo_city": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "geo_postal_code": {
            "type": "string",
            "nullable": true,
            "maxLength": 32
          },
          "geo_confirmed": {
            "type": "integer",
            "nullable": true,
            "enum": [
              0,
              1,
              null
            ]
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "business",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_jobs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "location": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "salary_per_hour": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "job_company_id": {
            "type": "integer",
            "nullable": true
          },
          "job_type_id": {
            "type": "integer",
            "nullable": true
          },
          "job_level_id": {
            "type": "integer",
            "nullable": true
          },
          "job_industry_id": {
            "type": "integer",
            "nullable": true
          },
          "vacancies": {
            "type": "integer",
            "nullable": true
          },
          "confirmed_currency": {
            "type": "string",
            "nullable": true,
            "maxLength": 3
          },
          "geo_latitude": {
            "type": "string",
            "nullable": true,
            "maxLength": 24
          },
          "geo_longitude": {
            "type": "string",
            "nullable": true,
            "maxLength": 24
          },
          "geo_country": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "geo_region": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "geo_city": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "geo_postal_code": {
            "type": "string",
            "nullable": true,
            "maxLength": 32
          },
          "geo_confirmed": {
            "type": "integer",
            "nullable": true,
            "enum": [
              0,
              1,
              null
            ]
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "job",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_events": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "location": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "from": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "to": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "from_time": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "to_time": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "timezone": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "event",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_classified": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "price": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "confirmed_currency": {
            "type": "string",
            "nullable": true,
            "maxLength": 3
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "classified",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_property": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "price": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "confirmed_currency": {
            "type": "string",
            "nullable": true,
            "maxLength": 3
          },
          "geo_latitude": {
            "type": "string",
            "nullable": true,
            "maxLength": 24
          },
          "geo_longitude": {
            "type": "string",
            "nullable": true,
            "maxLength": 24
          },
          "geo_country": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "geo_region": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "geo_city": {
            "type": "string",
            "nullable": true,
            "maxLength": 150
          },
          "geo_postal_code": {
            "type": "string",
            "nullable": true,
            "maxLength": 32
          },
          "geo_confirmed": {
            "type": "integer",
            "nullable": true,
            "enum": [
              0,
              1,
              null
            ]
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "property",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_resume": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "summary": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "location": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "resume",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_articles": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "body": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "tags": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "blog",
              "topic",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_news": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "link": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_photos": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "album",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_videos": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "source_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "video",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_music": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "album",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_documents": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "license_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "document",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_recipes": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "body": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "overview": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "recipe",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_groups": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "group",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_forums": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "forum_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "topic",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_questions": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "tags": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "question",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_quizzes": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "quiz",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_polls": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "poll",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_contests": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "contest",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_fundraising": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "goal": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "campaign",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_legacy_pages": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "content": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "page",
              "magic_page",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_social_publishing": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "source_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_legacy_stories": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "source_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_editorial": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "content": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "faq",
              "announcement",
              "slide",
              "popup",
              "tourguide",
              "mail_template",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_creative_assets": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "sticker",
              "feeling",
              "gift",
              "status_background",
              "feed_background",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_ads": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "link": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          },
          "native_target": {
            "type": "string",
            "nullable": true,
            "maxLength": 40,
            "enum": [
              "ad",
              null
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_studio_feed": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_studio_market": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "price": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          },
          "confirmed_currency": {
            "type": "string",
            "nullable": true,
            "maxLength": 3
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_studio_pages": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "address": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "website": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_studio_stories": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "source_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_studio_vibb": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "source_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_studio_groups": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "category_id": {
            "type": "integer",
            "nullable": true
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_studio_events": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "start_date": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "end_date": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "timezone": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_studio_paid": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "price": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "confirmed_currency": {
            "type": "string",
            "nullable": true,
            "maxLength": 3
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_cms": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "body": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_go": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "price": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "confirmed_currency": {
            "type": "string",
            "nullable": true,
            "maxLength": 3
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_pulse": {
        "type": "object",
        "properties": {
          "source_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_storefront": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "website": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_os": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "Fields_api_center": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "Fields_ai": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "content": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "source_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "Fields_generation": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000
          },
          "source_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 16000,
            "format": "uri"
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
  }
}
