{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/teliax/main/json-schema/teliax-github-com-ringer-warp-api-gateway-internal-models-assignment-with-usages-schema.json",
  "title": "github_com_ringer-warp_api-gateway_internal_models.AssignmentWithUsages",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/teliax-warp-openapi.yml#/components/schemas/github_com_ringer-warp_api-gateway_internal_models.AssignmentWithUsages",
  "type": "object",
  "properties": {
    "acquired_at": {
      "type": "string"
    },
    "cnam_display_name": {
      "type": "string"
    },
    "cnam_enabled": {
      "description": "Service settings are list-only; a missing voice usage means disabled.",
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "customer_id": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "e911_enabled": {
      "type": "boolean"
    },
    "friendly_name": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "locality": {
      "type": "string"
    },
    "monthly_rate_at_assignment": {
      "description": "Monthly recurring rate captured at the time this number was assigned.",
      "type": "number"
    },
    "npa": {
      "type": "string"
    },
    "number_type": {
      "description": "did | tfn",
      "type": "string"
    },
    "nxx": {
      "type": "string"
    },
    "poi_lock": {
      "description": "POILock is set only when the number is POI-locked; omitted otherwise.",
      "allOf": [
        {
          "$ref": "#/$defs/github_com_ringer-warp_api-gateway_internal_models.POILock"
        }
      ]
    },
    "procurement_note": {
      "type": "string"
    },
    "procurement_request_id": {
      "type": "string"
    },
    "provider": {
      "description": "Provider records which upstream supplies this TN (IQNT DID integration).\nDeliberately wire-visible — the cart/search flow already surfaces it.",
      "type": "string"
    },
    "release_reason": {
      "type": "string"
    },
    "released_at": {
      "type": "string"
    },
    "sms_usage": {
      "$ref": "#/$defs/github_com_ringer-warp_api-gateway_internal_models.SmsUsage"
    },
    "source": {
      "description": "procure | port_in | claim",
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "status": {
      "description": "active | released",
      "type": "string"
    },
    "tn": {
      "type": "string"
    },
    "tniq_application_id": {
      "type": "string"
    },
    "tniq_last_sync_at": {
      "type": "string"
    },
    "trunk_id": {
      "type": "string"
    },
    "trunk_name": {
      "type": "string"
    },
    "updated_at": {
      "type": "string"
    },
    "voice_routing_type": {
      "description": "Voice-routing summary for list rows; null on single-number reads — use\nthe embedded voice_usage there.",
      "type": "string"
    },
    "voice_usage": {
      "$ref": "#/$defs/github_com_ringer-warp_api-gateway_internal_models.VoiceUsage"
    }
  },
  "$defs": {
    "github_com_ringer-warp_api-gateway_internal_models.POILock": {
      "type": "object",
      "properties": {
        "account": {
          "description": "referenced at the account level",
          "type": "boolean"
        },
        "locked": {
          "type": "boolean"
        },
        "trunk_groups": {
          "description": "never null; empty array when no trunks reference this number",
          "type": "array",
          "items": {
            "$ref": "#/$defs/github_com_ringer-warp_api-gateway_internal_models.POITrunkRef"
          }
        }
      }
    },
    "github_com_ringer-warp_api-gateway_internal_models.POITrunkRef": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "github_com_ringer-warp_api-gateway_internal_models.SmsUsage": {
      "type": "object",
      "properties": {
        "assignment_id": {
          "type": "string"
        },
        "campaign_source": {
          "type": "string"
        },
        "created_at": {
          "type": "string"
        },
        "fallback_inbound_url": {
          "type": "string"
        },
        "inbound_webhook_secret": {
          "type": "string"
        },
        "inbound_webhook_url": {
          "type": "string"
        },
        "messaging_last_sync_at": {
          "type": "string"
        },
        "messaging_status": {
          "type": "string"
        },
        "mms_enabled": {
          "type": "boolean"
        },
        "tniq_brand_id": {
          "type": "string"
        },
        "tniq_campaign_id": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        }
      }
    },
    "github_com_ringer-warp_api-gateway_internal_models.VoiceUsage": {
      "type": "object",
      "properties": {
        "assignment_id": {
          "type": "string"
        },
        "cnam_display_name": {
          "type": "string"
        },
        "cnam_enabled": {
          "type": "boolean"
        },
        "cnam_listed_at": {
          "type": "string"
        },
        "created_at": {
          "type": "string"
        },
        "e911_address_id": {
          "type": "string"
        },
        "e911_enabled": {
          "type": "boolean"
        },
        "forward_preserve_ani": {
          "type": "boolean"
        },
        "forward_to_number": {
          "description": "Destination number or SIP URI used when voice_routing_type is \"forward\".",
          "type": "string"
        },
        "reject_reason_phrase": {
          "type": "string"
        },
        "reject_response_code": {
          "type": "integer"
        },
        "trunk_id": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        },
        "voice_destination": {
          "type": "string"
        },
        "voice_failover_destination": {
          "type": "string"
        },
        "voice_routing_type": {
          "type": "string"
        }
      }
    }
  }
}