AAtlas API
Reference

API Reference

REST API reference for the Atlas data plane and developer control plane.

This reference documents the Atlas data plane and the developer control plane used to manage organizations, API keys, webhooks, subscriptions, and usage.

If you want a higher-level integration surface for webhook verification, event parsing, API reads, and control-plane workflows, start with SDKs before dropping to raw HTTP.

It excludes:

  • portal sign-in flows
  • first-party account management routes
  • internal product endpoints used by the Atlas web app
  • operational endpoints such as health checks

Base URLs

  • Live: https://api.rangler.co/v1
  • Sandbox: https://sandbox-api.rangler.co/v1

Authentication

Atlas has two authentication modes:

  • data-plane endpoints such as companies, filings, and event feeds use X-API-Key
  • developer control-plane endpoints such as organizations, API keys, webhooks, and usage use your portal bearer token

Data-plane example:

X-API-Key: atl_live_your_key_here

Control-plane example:

Authorization: Bearer eyJhbGciOi...

Endpoint groups

Companies

Use company endpoints to resolve issuers and map them to downstream filing workflows.

GET
/v1/companies

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Query Parameters

q?|

Search by ticker or name

sector?string|null
index?|

Filter by index membership

exchange?|

Filter by primary exchange (e.g., NGX, NASD)

limit?Limit
Default50
Range1 <= value <= 200

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/companies"
{
  "items": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "ticker": "string",
      "isin": "string",
      "sector": "string",
      "is_public": true,
      "exchange": "string",
      "index_memberships": [
        "string"
      ],
      "ir_url": "string",
      "website": "string",
      "logo_url": "string",
      "created_at": "2019-08-24T14:15:22Z"
    }
  ],
  "next_cursor": "string"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/companies/{company_id}

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Path Parameters

company_id*Company Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "ticker": "string",
  "isin": "string",
  "sector": "string",
  "is_public": true,
  "exchange": "string",
  "index_memberships": [
    "string"
  ],
  "ir_url": "string",
  "website": "string",
  "logo_url": "string",
  "created_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/companies/{company_id}/details

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Path Parameters

company_id*Company Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/details"
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "symbol": "string",
  "name": "string",
  "is_public": true,
  "exchange": "string",
  "board": "string",
  "sector": "string",
  "year_end": "string",
  "incorporated_on": "2019-08-24",
  "listed_on": "2019-08-24",
  "website": "string",
  "email": "string",
  "phone": "string",
  "registered_office": "string",
  "registrar": {
    "name": "string",
    "website": "string"
  },
  "auditor": {
    "name": "string"
  },
  "company_secretary": "string",
  "share_info": {
    "shares_outstanding": 0,
    "free_float": 0,
    "last_price": 0,
    "market_cap_usd_m": 0
  },
  "officers": [
    {
      "role": "string",
      "name": "string"
    }
  ],
  "links": {
    "company_profile_page": "string"
  },
  "documents": [
    {
      "type": "string",
      "format": "string",
      "url": "string"
    }
  ],
  "summary": "string",
  "last_fetched_at": "2019-08-24T14:15:22Z",
  "source": "string"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/companies/{company_id}/filings

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Path Parameters

company_id*Company Id
Formatuuid

Query Parameters

type?|

Filter by filing_type

from?|null
to?|null
has_tables?boolean|null
limit?Limit
Default50
Range1 <= value <= 200

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/filings"
{
  "items": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
      "filing_type": "results",
      "title": "string",
      "period": "string",
      "published_at": "2019-08-24T14:15:22Z",
      "url": "string",
      "has_tables": true,
      "signal": {
        "extraction_id": "d27ec9ac-2c0d-4813-8730-6046453b0356",
        "summary": "string",
        "confidence": 0,
        "extracted_at": "2019-08-24T14:15:22Z",
        "reporting_period": "string",
        "key_points": [
          "string"
        ],
        "mentioned_tickers": [
          "string"
        ],
        "dates_mentioned": [
          "string"
        ],
        "risk_flags": [
          "string"
        ],
        "corporate_actions": [
          "string"
        ],
        "board_changes": [
          "string"
        ],
        "metrics": [
          {
            "name": "string",
            "value": "string",
            "unit": "string",
            "period": "string"
          }
        ],
        "result_details": {
          "revenue": "string",
          "profit_before_tax": "string",
          "profit_after_tax": "string",
          "earnings_per_share": "string",
          "dividend_per_share": "string",
          "dividend_currency": "string",
          "record_date": "string",
          "payment_date": "string",
          "period_end_date": "string",
          "period_type": "string",
          "currency": "string",
          "value_scale": "string",
          "revenue_value": 0,
          "cost_of_sales": 0,
          "gross_profit": 0,
          "operating_profit": 0,
          "ebitda": 0,
          "profit_before_tax_value": 0,
          "profit_after_tax_value": 0,
          "earnings_per_share_value": 0,
          "total_assets": 0,
          "total_liabilities": 0,
          "total_equity": 0,
          "cash_and_equivalents": 0,
          "dividend_per_share_value": 0,
          "net_asset_per_share": 0,
          "dividend_payout_ratio": 0,
          "employee_count": 0,
          "personnel_expenses": 0,
          "capital_expenditure": 0,
          "operating_cash_flow": 0,
          "interest_income": 0,
          "interest_expense": 0,
          "net_interest_income": 0,
          "non_interest_income": 0,
          "operating_income": 0,
          "loans_and_advances": 0,
          "customer_deposits": 0,
          "investment_securities": 0,
          "long_term_debt": 0,
          "net_interest_margin": 0,
          "cost_to_income_ratio": 0,
          "non_performing_loan_ratio": 0,
          "return_on_assets": 0,
          "return_on_equity": 0,
          "financial_leverage": 0,
          "capital_adequacy_ratio": 0,
          "gross_margin": 0,
          "operating_margin": 0,
          "pbt_margin": 0,
          "pat_margin": 0,
          "fcf_margin": 0,
          "revenue_growth": 0,
          "free_cash_flow": 0,
          "gearing_ratio": 0,
          "debt_to_asset": 0,
          "interest_coverage_ebit": 0,
          "interest_coverage_ocf": 0,
          "asset_turnover": 0,
          "capex_intensity": 0,
          "nwc_ratio": 0,
          "ocf_conversion": 0,
          "price_to_earnings": 0,
          "price_to_book": 0,
          "revenue_segments": []
        },
        "corporate_action_details": [
          {
            "action_type": "string",
            "summary": "string",
            "transaction_type": "string",
            "amount": "string",
            "currency": "string",
            "ratio": "string",
            "quantity": "string",
            "record_date": "string",
            "payment_date": "string",
            "effective_date": "string",
            "person_name": "string",
            "role": "string",
            "holding_after": "string"
          }
        ],
        "board_change_details": [
          {
            "person_name": "string",
            "role": "string",
            "action": "string",
            "effective_date": "string"
          }
        ],
        "highlights": []
      },
      "company": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "ticker": "string",
        "sector": "string",
        "logo_url": "string"
      }
    }
  ],
  "next_cursor": "string"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}

Events

Use event feed endpoints for backfills and reconciliation across market-wide, company, and fund scopes.

GET
/v1/events

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Query Parameters

cursor?string|null
type?array<string>|null
company_id?|null
fund_id?|null
from?|null
to?|null
limit?Limit
Default25
Range1 <= value <= 100

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/events"
{
  "items": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "type": "string",
      "occurred_at": "2019-08-24T14:15:22Z",
      "entity_kind": "string",
      "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
      "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
      "fund_id": "03a7028d-1e56-4623-897d-4d4e615eae02",
      "title": "string",
      "summary": "string",
      "severity": "string",
      "source_url": "string",
      "source_published_at": "2019-08-24T14:15:22Z",
      "data": {}
    }
  ],
  "next_cursor": "string"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/companies/{company_id}/events

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Path Parameters

company_id*Company Id
Formatuuid

Query Parameters

cursor?string|null
type?array<string>|null
from?|null
to?|null
limit?Limit
Default25
Range1 <= value <= 100

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/events"
{
  "items": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "type": "string",
      "occurred_at": "2019-08-24T14:15:22Z",
      "entity_kind": "string",
      "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
      "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
      "fund_id": "03a7028d-1e56-4623-897d-4d4e615eae02",
      "title": "string",
      "summary": "string",
      "severity": "string",
      "source_url": "string",
      "source_published_at": "2019-08-24T14:15:22Z",
      "data": {}
    }
  ],
  "next_cursor": "string"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/funds/{fund_id}/events

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Path Parameters

fund_id*Fund Id
Formatuuid

Query Parameters

cursor?string|null
type?array<string>|null
from?|null
to?|null
limit?Limit
Default25
Range1 <= value <= 100

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/funds/497f6eca-6276-4993-bfeb-53cbbbba6f08/events"
{
  "items": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "type": "string",
      "occurred_at": "2019-08-24T14:15:22Z",
      "entity_kind": "string",
      "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
      "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
      "fund_id": "03a7028d-1e56-4623-897d-4d4e615eae02",
      "title": "string",
      "summary": "string",
      "severity": "string",
      "source_url": "string",
      "source_published_at": "2019-08-24T14:15:22Z",
      "data": {}
    }
  ],
  "next_cursor": "string"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}

Filings

Use filing endpoints to list, retrieve, and inspect filings that power your notification workflows.

GET
/v1/filings

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Query Parameters

q?|

Search by filing title excerpt

company_id?|null
type?|

Filter by filing_type

from?|null
to?|null
has_signal?|

Only filings that have an extracted signal

has_tables?boolean|null
limit?Limit
Default25
Range1 <= value <= 5000

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/filings"
{
  "items": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
      "filing_type": "results",
      "title": "string",
      "period": "string",
      "published_at": "2019-08-24T14:15:22Z",
      "url": "string",
      "has_tables": true,
      "signal": {
        "extraction_id": "d27ec9ac-2c0d-4813-8730-6046453b0356",
        "summary": "string",
        "confidence": 0,
        "extracted_at": "2019-08-24T14:15:22Z",
        "reporting_period": "string",
        "key_points": [
          "string"
        ],
        "mentioned_tickers": [
          "string"
        ],
        "dates_mentioned": [
          "string"
        ],
        "risk_flags": [
          "string"
        ],
        "corporate_actions": [
          "string"
        ],
        "board_changes": [
          "string"
        ],
        "metrics": [
          {
            "name": "string",
            "value": "string",
            "unit": "string",
            "period": "string"
          }
        ],
        "result_details": {
          "revenue": "string",
          "profit_before_tax": "string",
          "profit_after_tax": "string",
          "earnings_per_share": "string",
          "dividend_per_share": "string",
          "dividend_currency": "string",
          "record_date": "string",
          "payment_date": "string",
          "period_end_date": "string",
          "period_type": "string",
          "currency": "string",
          "value_scale": "string",
          "revenue_value": 0,
          "cost_of_sales": 0,
          "gross_profit": 0,
          "operating_profit": 0,
          "ebitda": 0,
          "profit_before_tax_value": 0,
          "profit_after_tax_value": 0,
          "earnings_per_share_value": 0,
          "total_assets": 0,
          "total_liabilities": 0,
          "total_equity": 0,
          "cash_and_equivalents": 0,
          "dividend_per_share_value": 0,
          "net_asset_per_share": 0,
          "dividend_payout_ratio": 0,
          "employee_count": 0,
          "personnel_expenses": 0,
          "capital_expenditure": 0,
          "operating_cash_flow": 0,
          "interest_income": 0,
          "interest_expense": 0,
          "net_interest_income": 0,
          "non_interest_income": 0,
          "operating_income": 0,
          "loans_and_advances": 0,
          "customer_deposits": 0,
          "investment_securities": 0,
          "long_term_debt": 0,
          "net_interest_margin": 0,
          "cost_to_income_ratio": 0,
          "non_performing_loan_ratio": 0,
          "return_on_assets": 0,
          "return_on_equity": 0,
          "financial_leverage": 0,
          "capital_adequacy_ratio": 0,
          "gross_margin": 0,
          "operating_margin": 0,
          "pbt_margin": 0,
          "pat_margin": 0,
          "fcf_margin": 0,
          "revenue_growth": 0,
          "free_cash_flow": 0,
          "gearing_ratio": 0,
          "debt_to_asset": 0,
          "interest_coverage_ebit": 0,
          "interest_coverage_ocf": 0,
          "asset_turnover": 0,
          "capex_intensity": 0,
          "nwc_ratio": 0,
          "ocf_conversion": 0,
          "price_to_earnings": 0,
          "price_to_book": 0,
          "revenue_segments": []
        },
        "corporate_action_details": [
          {
            "action_type": "string",
            "summary": "string",
            "transaction_type": "string",
            "amount": "string",
            "currency": "string",
            "ratio": "string",
            "quantity": "string",
            "record_date": "string",
            "payment_date": "string",
            "effective_date": "string",
            "person_name": "string",
            "role": "string",
            "holding_after": "string"
          }
        ],
        "board_change_details": [
          {
            "person_name": "string",
            "role": "string",
            "action": "string",
            "effective_date": "string"
          }
        ],
        "highlights": []
      },
      "company": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "ticker": "string",
        "sector": "string",
        "logo_url": "string"
      }
    }
  ],
  "next_cursor": "string"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/filings/{filing_id}

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Path Parameters

filing_id*Filing Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/filings/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
  "filing_type": "results",
  "title": "string",
  "period": "string",
  "published_at": "2019-08-24T14:15:22Z",
  "url": "string",
  "has_tables": true,
  "signal": {
    "extraction_id": "d27ec9ac-2c0d-4813-8730-6046453b0356",
    "summary": "string",
    "confidence": 0,
    "extracted_at": "2019-08-24T14:15:22Z",
    "reporting_period": "string",
    "key_points": [
      "string"
    ],
    "mentioned_tickers": [
      "string"
    ],
    "dates_mentioned": [
      "string"
    ],
    "risk_flags": [
      "string"
    ],
    "corporate_actions": [
      "string"
    ],
    "board_changes": [
      "string"
    ],
    "metrics": [
      {
        "name": "string",
        "value": "string",
        "unit": "string",
        "period": "string"
      }
    ],
    "result_details": {
      "revenue": "string",
      "profit_before_tax": "string",
      "profit_after_tax": "string",
      "earnings_per_share": "string",
      "dividend_per_share": "string",
      "dividend_currency": "string",
      "record_date": "string",
      "payment_date": "string",
      "period_end_date": "string",
      "period_type": "string",
      "currency": "string",
      "value_scale": "string",
      "revenue_value": 0,
      "cost_of_sales": 0,
      "gross_profit": 0,
      "operating_profit": 0,
      "ebitda": 0,
      "profit_before_tax_value": 0,
      "profit_after_tax_value": 0,
      "earnings_per_share_value": 0,
      "total_assets": 0,
      "total_liabilities": 0,
      "total_equity": 0,
      "cash_and_equivalents": 0,
      "dividend_per_share_value": 0,
      "net_asset_per_share": 0,
      "dividend_payout_ratio": 0,
      "employee_count": 0,
      "personnel_expenses": 0,
      "capital_expenditure": 0,
      "operating_cash_flow": 0,
      "interest_income": 0,
      "interest_expense": 0,
      "net_interest_income": 0,
      "non_interest_income": 0,
      "operating_income": 0,
      "loans_and_advances": 0,
      "customer_deposits": 0,
      "investment_securities": 0,
      "long_term_debt": 0,
      "net_interest_margin": 0,
      "cost_to_income_ratio": 0,
      "non_performing_loan_ratio": 0,
      "return_on_assets": 0,
      "return_on_equity": 0,
      "financial_leverage": 0,
      "capital_adequacy_ratio": 0,
      "gross_margin": 0,
      "operating_margin": 0,
      "pbt_margin": 0,
      "pat_margin": 0,
      "fcf_margin": 0,
      "revenue_growth": 0,
      "free_cash_flow": 0,
      "gearing_ratio": 0,
      "debt_to_asset": 0,
      "interest_coverage_ebit": 0,
      "interest_coverage_ocf": 0,
      "asset_turnover": 0,
      "capex_intensity": 0,
      "nwc_ratio": 0,
      "ocf_conversion": 0,
      "price_to_earnings": 0,
      "price_to_book": 0,
      "revenue_segments": []
    },
    "corporate_action_details": [
      {
        "action_type": "string",
        "summary": "string",
        "transaction_type": "string",
        "amount": "string",
        "currency": "string",
        "ratio": "string",
        "quantity": "string",
        "record_date": "string",
        "payment_date": "string",
        "effective_date": "string",
        "person_name": "string",
        "role": "string",
        "holding_after": "string"
      }
    ],
    "board_change_details": [
      {
        "person_name": "string",
        "role": "string",
        "action": "string",
        "effective_date": "string"
      }
    ],
    "highlights": []
  },
  "company": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "ticker": "string",
    "sector": "string",
    "logo_url": "string"
  }
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}

Developer Control Plane

Use these endpoints with your portal bearer token to manage organizations, API keys, usage, webhook endpoints, webhook ping validation, delivery history, and event-subscription rules.

GET
/v1/organizations

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/organizations"
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "slug": "string",
    "billing_email": "user@example.com",
    "tier": "trial",
    "trial_ends_at": "2019-08-24T14:15:22Z",
    "is_active": true,
    "current_rate_limit": 0,
    "created_at": "2019-08-24T14:15:22Z"
  }
]
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
POST
/v1/organizations

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.rangler.co/v1/organizations" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "slug": "string",
  "billing_email": "user@example.com",
  "tier": "trial",
  "trial_ends_at": "2019-08-24T14:15:22Z",
  "is_active": true,
  "current_rate_limit": 0,
  "created_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/organizations/{org_id}

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "slug": "string",
  "billing_email": "user@example.com",
  "tier": "trial",
  "trial_ends_at": "2019-08-24T14:15:22Z",
  "is_active": true,
  "current_rate_limit": 0,
  "created_at": "2019-08-24T14:15:22Z",
  "usage": {
    "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
    "requests_today": 0,
    "requests_this_week": 0,
    "requests_this_month": 0,
    "daily_usage": [
      {
        "bucket": "string",
        "count": 0
      }
    ],
    "endpoint_breakdown": [
      {
        "endpoint": "string",
        "method": "string",
        "count": 0
      }
    ]
  }
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
POST
/v1/organizations/{org_id}/api-keys

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/api-keys" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "name": "string",
  "key_prefix": "string",
  "environment": "test",
  "is_active": true,
  "created_at": "2019-08-24T14:15:22Z",
  "last_used_at": "2019-08-24T14:15:22Z",
  "expires_at": "2019-08-24T14:15:22Z",
  "token": "string"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/organizations/{org_id}/api-keys

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/api-keys"
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
    "name": "string",
    "key_prefix": "string",
    "environment": "test",
    "is_active": true,
    "created_at": "2019-08-24T14:15:22Z",
    "last_used_at": "2019-08-24T14:15:22Z",
    "expires_at": "2019-08-24T14:15:22Z"
  }
]
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
DELETE
/v1/organizations/{org_id}/api-keys/{key_id}

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid
key_id*Key Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/organizations/{org_id}/usage

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/usage"
{
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "requests_today": 0,
  "requests_this_week": 0,
  "requests_this_month": 0,
  "daily_usage": [
    {
      "bucket": "string",
      "count": 0
    }
  ],
  "endpoint_breakdown": [
    {
      "endpoint": "string",
      "method": "string",
      "count": 0
    }
  ]
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
POST
/v1/organizations/{org_id}/webhooks

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/webhooks" \  -H "Content-Type: application/json" \  -d '{    "url": "stringst"  }'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "url": "string",
  "is_active": true,
  "signing_secret_last4": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z",
  "signing_secret": "string"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/organizations/{org_id}/webhooks

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/webhooks"
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
    "url": "string",
    "is_active": true,
    "signing_secret_last4": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  }
]
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
POST
/v1/organizations/{org_id}/webhooks/{webhook_id}/ping

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid
webhook_id*Webhook Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/ping"
{
  "status": "string",
  "response_status_code": 0,
  "response_body": "string",
  "error_message": "string",
  "requested_at": "2019-08-24T14:15:22Z",
  "completed_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
DELETE
/v1/organizations/{org_id}/webhooks/{webhook_id}

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid
webhook_id*Webhook Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/organizations/{org_id}/webhooks/{webhook_id}/deliveries

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid
webhook_id*Webhook Id
Formatuuid

Query Parameters

limit?Limit
Default50

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/deliveries"
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "delivery_id": "9892f438-d31c-4ff2-bc84-146525b292ff",
    "market_event_id": "b46e60a9-f548-4ccf-a63c-9292e5e95658",
    "webhook_endpoint_id": "3d87177d-a059-4900-ae4a-408283ca1e94",
    "webhook_id": "string",
    "event_type": "string",
    "event_title": "string",
    "attempt_number": 0,
    "status": "string",
    "request_url": "string",
    "response_status_code": 0,
    "response_body": "string",
    "error_message": "string",
    "requested_at": "2019-08-24T14:15:22Z",
    "completed_at": "2019-08-24T14:15:22Z",
    "next_attempt_at": "2019-08-24T14:15:22Z",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  }
]
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
POST
/v1/organizations/{org_id}/event-subscriptions

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/event-subscriptions" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "event_types": [      "string"    ]  }'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "name": "string",
  "event_types": [
    "string"
  ],
  "company_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "fund_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "is_active": true,
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
GET
/v1/organizations/{org_id}/event-subscriptions

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/event-subscriptions"
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
    "name": "string",
    "event_types": [
      "string"
    ],
    "company_ids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "fund_ids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "is_active": true,
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  }
]
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
PATCH
/v1/organizations/{org_id}/event-subscriptions/{subscription_id}

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid
subscription_id*Subscription Id
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/event-subscriptions/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "name": "string",
  "event_types": [
    "string"
  ],
  "company_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "fund_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "is_active": true,
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}
DELETE
/v1/organizations/{org_id}/event-subscriptions/{subscription_id}

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid
subscription_id*Subscription Id
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://api.rangler.co/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/event-subscriptions/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "The API key provided is invalid for this environment.",
    "request_id": "req_01JABCXYZ124",
    "details": null
  }
}
{
  "error": {
    "type": "authorization_error",
    "code": "organization_inactive",
    "message": "The organization is not permitted to use this resource.",
    "request_id": "req_01JABCXYZ127",
    "details": null
  }
}
{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "The requested resource could not be found.",
    "request_id": "req_01JABCXYZ128",
    "details": null
  }
}
{
  "error": {
    "type": "validation_error",
    "code": "invalid_request",
    "message": "One or more request parameters are invalid.",
    "request_id": "req_01JABCXYZ125",
    "details": [
      {
        "field": "cursor",
        "message": "cursor must be a valid opaque pagination token"
      }
    ]
  }
}
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded for the current window.",
    "request_id": "req_01JABCXYZ126",
    "details": {
      "retry_after": 60
    }
  }
}
{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "An unexpected Atlas error occurred.",
    "request_id": "req_01JABCXYZ130",
    "details": null
  }
}

Download the schema

On this page