Documentation

Find tutorials, API references, SDK guides, and integration walkthroughs.

Documentation

Everything you need to integrate, test, and deploy our APIs. From quick start guides to detailed endpoint references — find the answers you need.

Browse Documentation

Find the right resource for your integration stage.

Quick Start

Get up and running in under 5 minutes. Step-by-step instructions for authentication, making your first call, and handling responses.

API Reference

Complete endpoint documentation with request/response schemas, status codes, error formats, and live examples for every API.

SDKs & Libraries

Official client libraries in 8 languages. Installation guides, configuration options, and code samples for each SDK.

Authentication & Authorization

All API requests require authentication. We support three methods:

  • API Key — Pass your key via the X-API-Key header. Best for server-to-server calls.
  • OAuth 2.0 — Use authorization code flow for user-facing apps or client credentials for service accounts.
  • mTLS — Mutual TLS for enterprise-grade security. Contact support for certificate provisioning.

See the Getting Started guide for step-by-step authentication setup.

Rate Limits & Throttling

Rate limits protect the platform and ensure fair usage:

  • Free tier: 100 requests/minute, 1,000 requests/day
  • Pro tier: 1,000 requests/minute, 100,000 requests/day
  • Enterprise: Custom limits based on your agreement

Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. Our SDKs handle rate limiting automatically with exponential backoff.

Webhooks & Events

Subscribe to real-time events via webhooks. Configure endpoints in your dashboard to receive notifications for:

  • Resource creation, updates, and deletions
  • Subscription lifecycle events
  • Usage threshold alerts

All webhook payloads include HMAC signatures for verification. Retry logic ensures delivery with exponential backoff up to 24 hours.

Error Handling

All errors follow a consistent JSON format:

{\n  "error": {\n    "code": "VALIDATION_ERROR",\n    "message": "The zip parameter must be a valid US ZIP code.",\n    "details": [...]\n  }\n}

HTTP status codes: 400 validation errors, 401 authentication, 403 authorization, 404 not found, 429 rate limited, 500 server error.

Pagination & Filtering

List endpoints support cursor-based pagination:

GET /v1/buildings?limit=25&cursor=eyJpZCI6MTAwfQ==

Response includes next_cursor and has_more fields. Filter with query parameters specific to each resource. Sort with sort=field:asc|desc.

Example: Fetch Building Data
bash
# Authenticate and fetch building data
curl -X GET 'https://api.devportal.com/v1/buildings?zip=10001&limit=5' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: application/json'

# Response (200 OK)
{
  "data": [
    {
      "id": "bld_abc123",
      "address": "350 Fifth Avenue",
      "city": "New York",
      "state": "NY",
      "zip": "10001",
      "type": "commercial"
    }
  ],
  "meta": {
    "total": 1247,
    "has_more": true,
    "next_cursor": "eyJpZCI6NX0="
  }
}

Can't find what you need?

Our developer support team is here to help. Browse the community forums or reach out directly for technical assistance.