Aryna

Aryna API Documentation

Version 1.0

Dashboard

PriceWatch API

Access comparable communities, pricing data, and rent survey insights programmatically. Build custom dashboards, mobile apps, and integrations with PriceWatch data.

Endpoints

GET

/pricewatch/portfolio

Get all user-managed communities with optional pricing summaries and comparable community counts. Perfect for portfolio dashboards and executive reports.

Required Scope

pricewatch:read

Query Parameters

ParameterTypeRequiredDescription
include_pricingbooleanNoInclude latest pricing summary (default: false)
include_comp_countbooleanNoInclude comparable community counts (default: true)

Example Request

cURL

curl "https://api.aryna.ai/v1/pricewatch/portfolio?include_pricing=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

JSON

{
  "communities": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Sunset Apartments",
      "address": "123 Main St, San Francisco, CA 94102",
      "external_community_id": "PROP-001",
      "comp_count": 5,
      "latest_pricing_date": "2024-11-18",
      "pricing_summary": {
        "floor_plan_count": 8,
        "avg_market_rent_cents": 185000,
        "min_rent_cents": 125000,
        "max_rent_cents": 325000
      }
    }
  ],
  "total": 42
}

Batch Communities

GET/pricewatch/communities

Fetch multiple communities by ID in a single request. Maximum 50 communities per request. Ideal for filtered reports and mobile app property lists.

Query Parameters

ids
string, required

Comma-separated community UUIDs (max 50)

include_comps
boolean, default: false

Include comp counts for each community

Example Request

curl "https://api.aryna.ai/v1/pricewatch/communities?ids=uuid1,uuid2,uuid3" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "communities": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Sunset Apartments",
      "address": "123 Main St, San Francisco, CA 94102",
      "zipcode": "94102",
      "external_community_id": "PROP-001",
      "latitude": 37.7749,
      "longitude": -122.4194,
      "website_url": "https://sunset-apartments.com",
      "comp_count": 5
    }
  ],
  "total": 3
}

Community Detail

GET/pricewatch/communities/:id

Get comprehensive details for a single community including comparable communities and pricing summary. Use for property detail pages and competitive analysis.

Query Parameters

include_comps
boolean, default: true

Include comparable communities list

include_pricing_summary
boolean, default: true

Include pricing summary with floor plans

Example Request

curl "https://api.aryna.ai/v1/pricewatch/communities/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "community": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Sunset Apartments",
    "address": "123 Main St, San Francisco, CA 94102",
    "zipcode": "94102",
    "comp_count": 7,
    "floor_plan_count": 10,
    "pricing_summary": {
      "latest_date": "2024-11-18",
      "avg_market_rent_cents": 185000,
      "floor_plans": [...]
    }
  },
  "comps": [...]
}

Comparable Communities

GET/pricewatch/communities/:id/comps

Get all comparable communities for a subject property. Results sorted by distance. Perfect for competitive set analysis and market positioning.

Query Parameters

include_inactive
boolean, default: false

Include deactivated comparable communities

include_pricing
boolean, default: false

Include pricing summary for each comp

Example Request

curl "https://api.aryna.ai/v1/pricewatch/communities/550e8400-e29b-41d4-a716-446655440000/comps?include_pricing=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "subject_community": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Sunset Apartments"
  },
  "comps": [
    {
      "id": "770e8400-e29b-41d4-a716-446655440000",
      "name": "Nearby Apartments",
      "distance_miles": 0.5,
      "pricing": {
        "floor_plan_count": 8,
        "avg_market_rent_cents": 180000
      }
    }
  ],
  "total": 7
}

Pricing History

GET/pricewatch/communities/:id/pricing

Get historical pricing data with flexible date ranges. Default to last 30 days if no parameters specified. Essential for trend analysis and historical reports.

Query Parameters

start_date
string (ISO date), optional

Start of date range (e.g., "2024-01-01")

end_date
string (ISO date), optional

End of date range (e.g., "2024-03-31")

days
integer, default: 30

Last N days (if no date range)

floor_plan_id
uuid, optional

Filter to specific floor plan

latest_only
boolean, default: false

Return only most recent pricing

Example Request

curl "https://api.aryna.ai/v1/pricewatch/communities/550e8400-e29b-41d4-a716-446655440000/pricing?days=90" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "community": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Sunset Apartments"
  },
  "pricing": [
    {
      "floor_plan_id": "660e8400-e29b-41d4-a716-446655440000",
      "floor_plan": {
        "bedrooms": 2,
        "bathrooms": 2,
        "floor_plan_name": "2BR/2BA Premium",
        "square_feet": 950
      },
      "as_of_date": "2024-11-18",
      "market_rent_cents": 185000,
      "net_effective_rent_cents": 180000,
      "market_rent_per_sqft_cents": 195,
      "net_effective_rent_per_sqft_cents": 189,
      "units_available": 3,
      "concessions": "1 month free"
    }
  ],
  "date_range": {
    "start": "2024-08-20",
    "end": "2024-11-18"
  },
  "total_records": 240
}

Floor Plans

GET/pricewatch/communities/:id/floor-plans

Get all floor plans for a community with latest pricing. Results sorted by bedrooms, then bathrooms. Ideal for unit mix analysis and availability reports.

Example Request

curl "https://api.aryna.ai/v1/pricewatch/communities/550e8400-e29b-41d4-a716-446655440000/floor-plans" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "community": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Sunset Apartments"
  },
  "floor_plans": [
    {
      "id": "660e8400-e29b-41d4-a716-446655440000",
      "floor_plan_name": "2BR/2BA Premium",
      "bedrooms": 2,
      "bathrooms": 2.0,
      "square_feet": 950,
      "unit_count": 12,
      "latest_pricing": {
        "as_of_date": "2024-11-18",
        "market_rent_cents": 185000,
        "net_effective_rent_cents": 180000,
        "market_rent_per_sqft_cents": 195,
        "net_effective_rent_per_sqft_cents": 189,
        "units_available": 3,
        "concessions": "1 month free"
      }
    }
  ],
  "total": 10
}
GET

/pricewatch/communities/:id/vacancy

Get 14-day vacancy rate for a community based on units available in the next 14 days. Requires completed survey data. Returns vacancy percentage, available units count, and survey date.

Required Scope

pricewatch:read

Path Parameters

ParameterTypeRequiredDescription
idUUIDCommunity ID

Example Request

cURL

curl "https://api.aryna.ai/v1/pricewatch/communities/550e8400-e29b-41d4-a716-446655440000/vacancy" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

JSON

{
  "community_id": "550e8400-e29b-41d4-a716-446655440000",
  "community_name": "Sunset Towers",
  "total_units": 120,
  "vacancy_rate": 0.15,
  "vacancy_rate_formatted": "15.0%",
  "available_units_next_14_days": 18,
  "available_units_formatted": "18 units",
  "has_data": true,
  "as_of_date": "2024-11-28"
}
GET

/pricewatch/communities/:id/overview

Get comprehensive competitive positioning analysis with PSI (Pricing Position Indicator) metrics for each floor plan and portfolio-level summary statistics. Includes Overall PSI, CRI (Competitiveness Range Index), and Market Concession Pressure metrics.

Required Scope

pricewatch:read

Path Parameters

ParameterTypeRequiredDescription
idUUIDCommunity ID

Key Metrics

PSI (Pricing Position Indicator):

Formula: (Subject Rent / Avg Comp Rent) - 1. Positive values mean above market, negative means below market.

CRI (Competitiveness Range Index):

Weighted percentile rank (0-100). Interpretation: 0-30 = aggressively priced, 30-60 = market-aligned, 60-90 = premium, 90-100 = outlier.

Market Concession Pressure:

Percentage of comps offering concessions and average concession value. Indicates competitive intensity in the market.

Example Request

cURL

curl https://api.aryna.ai/v1/pricewatch/communities/550e8400-e29b-41d4-a716-446655440000/overview \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

JSON

{
  "community": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Sunset Towers",
    "address": "123 Main St, Austin, TX 78701"
  },
  "floor_plans": [
    {
      "bedrooms": 2,
      "bathrooms": 1,
      "square_feet": 850,
      "base_rent": {
        "subject_rent": 150000,
        "avg_comp_rent": 145000,
        "psi": 0.0345,
        "rent_variation": 5000,
        "rent_per_sqft_variation": 0.059,
        "percentile_rank": 70,
        "market_low": 135000,
        "market_high": 160000,
        "comps_with_data": 8
      },
      "ner": {
        "subject_rent": 145000,
        "avg_comp_rent": 140000,
        "psi": 0.0357,
        "rent_variation": 5000,
        "rent_per_sqft_variation": 0.059,
        "percentile_rank": 72,
        "market_low": 130000,
        "market_high": 155000,
        "comps_with_data": 8,
        "comps_offering_concessions": 6,
        "pct_comps_offering_concessions": 75
      }
    }
  ],
  "overall_metrics": {
    "overall_psi_base": 0.042,
    "overall_psi_ner": 0.038,
    "cri_base": 68,
    "cri_ner": 65,
    "market_concession_pressure": {
      "pct_comps_offering": 75,
      "avg_concession_value": 12000,
      "total_comps": 10,
      "comps_with_concessions": 7
    }
  }
}

Try it in the Interactive Docs

Test these endpoints directly in your browser with our interactive OpenAPI documentation.

Open Interactive API Docs