{
  "@context": {
    "@vocab": "https://hackle.io/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "hackle": "https://hackle.io/schema#",
    "GetV1CatalogsResponse": "hackle:GetV1CatalogsResponse",
    "catalogs": {
      "@id": "hackle:catalogs",
      "@container": "@list"
    },
    "PostV1CatalogsRequest": "hackle:PostV1CatalogsRequest",
    "catalogName": {
      "@id": "hackle:catalogName",
      "@type": "xsd:string"
    },
    "description": {
      "@id": "hackle:description",
      "@type": "xsd:string"
    },
    "fields": {
      "@id": "hackle:fields",
      "@container": "@list"
    },
    "PostV1CatalogsResponse": "hackle:PostV1CatalogsResponse",
    "itemCount": {
      "@id": "hackle:itemCount",
      "@type": "xsd:decimal"
    },
    "createdAt": {
      "@id": "hackle:createdAt",
      "@type": "xsd:string"
    },
    "modifiedAt": {
      "@id": "hackle:modifiedAt",
      "@type": "xsd:string"
    },
    "GetV1CatalogsCatalognameResponse": "hackle:GetV1CatalogsCatalognameResponse",
    "PostV1CatalogsCatalognameFieldsRequest": "hackle:PostV1CatalogsCatalognameFieldsRequest",
    "fieldName": {
      "@id": "hackle:fieldName",
      "@type": "xsd:string"
    },
    "fieldType": {
      "@id": "hackle:fieldType",
      "@type": "xsd:string"
    },
    "PostV1CatalogsCatalognameFieldsResponse": "hackle:PostV1CatalogsCatalognameFieldsResponse",
    "DeleteV1CatalogsCatalognameItemsResponse": "hackle:DeleteV1CatalogsCatalognameItemsResponse",
    "processedCount": {
      "@id": "hackle:processedCount",
      "@type": "xsd:decimal"
    },
    "PostV1CatalogsCatalognameItemsRequest": "hackle:PostV1CatalogsCatalognameItemsRequest",
    "items": {
      "@id": "hackle:items",
      "@container": "@list"
    },
    "PostV1CatalogsCatalognameItemsResponse": "hackle:PostV1CatalogsCatalognameItemsResponse",
    "PutV1CatalogsCatalognameItemsRequest": "hackle:PutV1CatalogsCatalognameItemsRequest",
    "PutV1CatalogsCatalognameItemsResponse": "hackle:PutV1CatalogsCatalognameItemsResponse",
    "PostV1KakaoSubscriptionsRequest": "hackle:PostV1KakaoSubscriptionsRequest",
    "userId": {
      "@id": "hackle:userId",
      "@type": "xsd:string"
    },
    "marketingSubscriptionStatus": {
      "@id": "hackle:marketingSubscriptionStatus",
      "@type": "xsd:string"
    },
    "informationSubscriptionStatus": {
      "@id": "hackle:informationSubscriptionStatus",
      "@type": "xsd:string"
    },
    "PostV1PropertiesRequest": "hackle:PostV1PropertiesRequest",
    "deviceId": {
      "@id": "hackle:deviceId",
      "@type": "xsd:string"
    },
    "operations": {
      "@id": "hackle:operations"
    },
    "PostV1PropertiesPhoneNumbersRequest": "hackle:PostV1PropertiesPhoneNumbersRequest",
    "phoneNumber": {
      "@id": "hackle:phoneNumber",
      "@type": "xsd:string"
    },
    "PostV1PushSubscriptionsRequest": "hackle:PostV1PushSubscriptionsRequest",
    "PostV1SmsSubscriptionsRequest": "hackle:PostV1SmsSubscriptionsRequest",
    "PostV1TrackRequest": "hackle:PostV1TrackRequest",
    "event": {
      "@id": "hackle:event"
    },
    "user": {
      "@id": "hackle:user"
    },
    "PostV1VariationRequest": "hackle:PostV1VariationRequest",
    "experimentKey": {
      "@id": "hackle:experimentKey",
      "@type": "xsd:integer"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Hackle API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Hackle's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-11) from openapi/_ae-authored/hackle-io-openapi-generated.yml.",
  "dcterms:created": "2026-11-11",
  "dcterms:source": [
    "openapi/_ae-authored/hackle-io-openapi-generated.yml"
  ]
}