Metadata-Version: 2.4
Name: redatlas
Version: 0.1.0
Summary: RED Atlas External API
Home-page: https://github.com/red-atlas/red-atlas-sdks
Author: RED Atlas
Author-email: RED Atlas <engineering@atlas.red>
License: ISC
Project-URL: Repository, https://github.com/red-atlas/red-atlas-sdks
Keywords: OpenAPI,OpenAPI-Generator,RED Atlas External API
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: urllib3<3.0.0,>=2.1.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author
Dynamic: home-page

# redatlas
Canonical OpenAPI contract for the RED Atlas public external API.

Notes for SDK generation:
- Authenticated endpoints use the `Authorization: Bearer ...` header.
- The bearer token may be either an API key (`ra_live_...`) or an access JWT, depending on the endpoint and workflow.
- Refresh and logout use the `apiRefreshToken` cookie.


This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 0.1.0
- Package version: 0.1.0
- Generator version: 7.14.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.9+

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)

Then import the package:
```python
import redatlas
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import redatlas
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import redatlas
from redatlas.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to http://localhost:8000/external-api
# See configuration.py for a list of all supported configuration parameters.
configuration = redatlas.Configuration(
    host = "http://localhost:8000/external-api"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization (API key or JWT): bearerAuth
configuration = redatlas.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with redatlas.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = redatlas.APIKeysApi(api_client)
    create_api_key_request = redatlas.CreateApiKeyRequest() # CreateApiKeyRequest | 

    try:
        # Create a new API key
        api_response = api_instance.keys_create(create_api_key_request)
        print("The response of APIKeysApi->keys_create:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling APIKeysApi->keys_create: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *http://localhost:8000/external-api*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*APIKeysApi* | [**keys_create**](docs/APIKeysApi.md#keys_create) | **POST** /v1/account/keys | Create a new API key
*APIKeysApi* | [**keys_list**](docs/APIKeysApi.md#keys_list) | **GET** /v1/account/keys | List API keys for the authenticated client
*APIKeysApi* | [**keys_revoke**](docs/APIKeysApi.md#keys_revoke) | **DELETE** /v1/account/keys/{id} | Revoke an API key
*APIKeysApi* | [**keys_rotate**](docs/APIKeysApi.md#keys_rotate) | **POST** /v1/account/keys/{id}/rotate | Rotate an API key
*AuthApi* | [**auth_accept_invite**](docs/AuthApi.md#auth_accept_invite) | **POST** /v1/auth/invite/accept | Accept an invite and create a member session
*AuthApi* | [**auth_change_password**](docs/AuthApi.md#auth_change_password) | **POST** /v1/auth/change-password | Change the authenticated client password
*AuthApi* | [**auth_delete_me**](docs/AuthApi.md#auth_delete_me) | **DELETE** /v1/auth/me | Delete the authenticated account
*AuthApi* | [**auth_forgot_password**](docs/AuthApi.md#auth_forgot_password) | **POST** /v1/auth/forgot-password | Request a password reset link
*AuthApi* | [**auth_invite_info**](docs/AuthApi.md#auth_invite_info) | **GET** /v1/auth/invite/{token} | Validate an invite token and return invite metadata
*AuthApi* | [**auth_login**](docs/AuthApi.md#auth_login) | **POST** /v1/auth/login | Log in with email and password
*AuthApi* | [**auth_logout**](docs/AuthApi.md#auth_logout) | **POST** /v1/auth/logout | Log out and revoke the refresh token
*AuthApi* | [**auth_me**](docs/AuthApi.md#auth_me) | **GET** /v1/auth/me | Get the authenticated client profile
*AuthApi* | [**auth_refresh**](docs/AuthApi.md#auth_refresh) | **POST** /v1/auth/refresh | Refresh the access token using the refresh cookie
*AuthApi* | [**auth_register**](docs/AuthApi.md#auth_register) | **POST** /v1/auth/register | Register a new API client
*AuthApi* | [**auth_reset_password**](docs/AuthApi.md#auth_reset_password) | **POST** /v1/auth/reset-password | Exchange a reset token for a new password
*AuthApi* | [**auth_update_me**](docs/AuthApi.md#auth_update_me) | **PATCH** /v1/auth/me | Update the authenticated client profile
*BillingApi* | [**billing_cancel_subscription**](docs/BillingApi.md#billing_cancel_subscription) | **DELETE** /v1/billing/subscription | Cancel the current subscription at period end
*BillingApi* | [**billing_change_plan**](docs/BillingApi.md#billing_change_plan) | **PUT** /v1/billing/plan | Change the current billing plan
*BillingApi* | [**billing_get_payment_method**](docs/BillingApi.md#billing_get_payment_method) | **GET** /v1/billing/payment-method | Get the saved payment method
*BillingApi* | [**billing_handle_webhook**](docs/BillingApi.md#billing_handle_webhook) | **POST** /v1/billing/webhook | Stripe webhook endpoint for API billing
*BillingApi* | [**billing_list_invoices**](docs/BillingApi.md#billing_list_invoices) | **GET** /v1/billing/invoices | List recent invoices
*BillingApi* | [**billing_purchase_topup**](docs/BillingApi.md#billing_purchase_topup) | **POST** /v1/billing/topup | Purchase a one-time credit top-up
*BillingApi* | [**billing_status**](docs/BillingApi.md#billing_status) | **GET** /v1/billing | Get the current billing status
*BillingApi* | [**billing_subscribe**](docs/BillingApi.md#billing_subscribe) | **POST** /v1/billing/subscribe | Subscribe to a paid plan
*BillingApi* | [**billing_update_payment_method**](docs/BillingApi.md#billing_update_payment_method) | **PUT** /v1/billing/payment-method | Update the saved payment method
*ChangelogApi* | [**changelog_create**](docs/ChangelogApi.md#changelog_create) | **POST** /v1/changelog | Create a changelog entry
*ChangelogApi* | [**changelog_delete**](docs/ChangelogApi.md#changelog_delete) | **DELETE** /v1/changelog/{id} | Delete a changelog entry
*ChangelogApi* | [**changelog_list**](docs/ChangelogApi.md#changelog_list) | **GET** /v1/changelog | List published changelog entries
*ChangelogApi* | [**changelog_update**](docs/ChangelogApi.md#changelog_update) | **PUT** /v1/changelog/{id} | Update a changelog entry
*DataApi* | [**data_get**](docs/DataApi.md#data_get) | **GET** /v1/data/{market}/{entityType}/{id} | Get a single record by identifier
*DataApi* | [**data_list**](docs/DataApi.md#data_list) | **GET** /v1/data/{market}/{entityType} | List records for a market and entity type
*DataApi* | [**data_market**](docs/DataApi.md#data_market) | **GET** /v1/data/{market} | Get the available entities for a market
*HealthApi* | [**health_get**](docs/HealthApi.md#health_get) | **GET** /v1/health | Health check for the external API
*NotificationsApi* | [**notifications_get_preferences**](docs/NotificationsApi.md#notifications_get_preferences) | **GET** /v1/account/notifications/preferences | Get notification preferences
*NotificationsApi* | [**notifications_list**](docs/NotificationsApi.md#notifications_list) | **GET** /v1/account/notifications | List the latest in-app notifications
*NotificationsApi* | [**notifications_mark_all_read**](docs/NotificationsApi.md#notifications_mark_all_read) | **PUT** /v1/account/notifications/read-all | Mark all notifications as read
*NotificationsApi* | [**notifications_mark_read**](docs/NotificationsApi.md#notifications_mark_read) | **PUT** /v1/account/notifications/{id}/read | Mark a single notification as read
*NotificationsApi* | [**notifications_unread_count**](docs/NotificationsApi.md#notifications_unread_count) | **GET** /v1/account/notifications/unread-count | Get unread notification count
*NotificationsApi* | [**notifications_update_preferences**](docs/NotificationsApi.md#notifications_update_preferences) | **PUT** /v1/account/notifications/preferences | Update notification preferences
*PlansApi* | [**plans_list**](docs/PlansApi.md#plans_list) | **GET** /v1/plans | List public plans
*ReportsApi* | [**reports_create**](docs/ReportsApi.md#reports_create) | **POST** /v1/reports | Create a unified report request
*ReportsApi* | [**reports_create_avm**](docs/ReportsApi.md#reports_create_avm) | **POST** /v1/reports/avm | Create an AVM report
*ReportsApi* | [**reports_create_comparables**](docs/ReportsApi.md#reports_create_comparables) | **POST** /v1/reports/comparables | Create a comparables report
*ReportsApi* | [**reports_get**](docs/ReportsApi.md#reports_get) | **GET** /v1/reports/{id} | Get a report by id
*ReportsApi* | [**reports_get_public**](docs/ReportsApi.md#reports_get_public) | **GET** /v1/reports/public/{reportId} | Get a public report payload for rendering
*ReportsApi* | [**reports_get_white_label**](docs/ReportsApi.md#reports_get_white_label) | **GET** /v1/reports/white-label | Get the current white-label configuration
*ReportsApi* | [**reports_list**](docs/ReportsApi.md#reports_list) | **GET** /v1/reports | List reports for the authenticated client
*ReportsApi* | [**reports_update_white_label**](docs/ReportsApi.md#reports_update_white_label) | **PUT** /v1/reports/white-label | Update the current white-label configuration
*TeamApi* | [**team_invite**](docs/TeamApi.md#team_invite) | **POST** /v1/team/invite | Invite a new team member
*TeamApi* | [**team_list**](docs/TeamApi.md#team_list) | **GET** /v1/team | List team members for the authenticated client
*TeamApi* | [**team_remove**](docs/TeamApi.md#team_remove) | **DELETE** /v1/team/{memberId} | Deactivate a team member
*TeamApi* | [**team_update**](docs/TeamApi.md#team_update) | **PATCH** /v1/team/{memberId} | Update a team member role
*UsageApi* | [**usage_by_endpoint**](docs/UsageApi.md#usage_by_endpoint) | **GET** /v1/account/usage/by-endpoint | Get usage grouped by endpoint
*UsageApi* | [**usage_by_market**](docs/UsageApi.md#usage_by_market) | **GET** /v1/account/usage/by-market | Get usage grouped by market
*UsageApi* | [**usage_daily**](docs/UsageApi.md#usage_daily) | **GET** /v1/account/usage/daily | Get usage grouped by day
*UsageApi* | [**usage_summary**](docs/UsageApi.md#usage_summary) | **GET** /v1/account/usage | Get the current billing-period usage summary


## Documentation For Models

 - [AcceptInviteRequest](docs/AcceptInviteRequest.md)
 - [ApiKey](docs/ApiKey.md)
 - [ApiKeyWithSecret](docs/ApiKeyWithSecret.md)
 - [ApiKeyWithSecretResponse](docs/ApiKeyWithSecretResponse.md)
 - [ApiKeysResponse](docs/ApiKeysResponse.md)
 - [AppNotification](docs/AppNotification.md)
 - [AuthSession](docs/AuthSession.md)
 - [AuthSessionResponse](docs/AuthSessionResponse.md)
 - [AvmReportRequest](docs/AvmReportRequest.md)
 - [BillingPlan](docs/BillingPlan.md)
 - [BillingStatus](docs/BillingStatus.md)
 - [BillingStatusResponse](docs/BillingStatusResponse.md)
 - [CancelSubscriptionPayload](docs/CancelSubscriptionPayload.md)
 - [CancelSubscriptionResponse](docs/CancelSubscriptionResponse.md)
 - [ChangePasswordRequest](docs/ChangePasswordRequest.md)
 - [ChangePlanRequest](docs/ChangePlanRequest.md)
 - [ChangelogEntriesResponse](docs/ChangelogEntriesResponse.md)
 - [ChangelogEntry](docs/ChangelogEntry.md)
 - [ChangelogEntryResponse](docs/ChangelogEntryResponse.md)
 - [ChangelogTag](docs/ChangelogTag.md)
 - [ClientProfile](docs/ClientProfile.md)
 - [ClientProfileResponse](docs/ClientProfileResponse.md)
 - [ComparablesReportRequest](docs/ComparablesReportRequest.md)
 - [CreateApiKeyRequest](docs/CreateApiKeyRequest.md)
 - [CreateChangelogEntryRequest](docs/CreateChangelogEntryRequest.md)
 - [DailyUsageItem](docs/DailyUsageItem.md)
 - [DailyUsageResponse](docs/DailyUsageResponse.md)
 - [DataListResponse](docs/DataListResponse.md)
 - [DataSingleResponse](docs/DataSingleResponse.md)
 - [DataSingleResponseMeta](docs/DataSingleResponseMeta.md)
 - [DateRangeMeta](docs/DateRangeMeta.md)
 - [EntityType](docs/EntityType.md)
 - [ErrorResponse](docs/ErrorResponse.md)
 - [ForgotPasswordRequest](docs/ForgotPasswordRequest.md)
 - [GenericDataResponse](docs/GenericDataResponse.md)
 - [HealthResponse](docs/HealthResponse.md)
 - [InlineObject](docs/InlineObject.md)
 - [InviteInfo](docs/InviteInfo.md)
 - [InviteInfoResponse](docs/InviteInfoResponse.md)
 - [InviteMemberRequest](docs/InviteMemberRequest.md)
 - [Invoice](docs/Invoice.md)
 - [InvoicesResponse](docs/InvoicesResponse.md)
 - [ListingType](docs/ListingType.md)
 - [LoginRequest](docs/LoginRequest.md)
 - [Market](docs/Market.md)
 - [MarketInfo](docs/MarketInfo.md)
 - [MarketInfoResponse](docs/MarketInfoResponse.md)
 - [MessagePayload](docs/MessagePayload.md)
 - [MessageResponse](docs/MessageResponse.md)
 - [NotificationPreferences](docs/NotificationPreferences.md)
 - [NotificationPreferencesResponse](docs/NotificationPreferencesResponse.md)
 - [NotificationType](docs/NotificationType.md)
 - [NotificationsMeta](docs/NotificationsMeta.md)
 - [NotificationsResponse](docs/NotificationsResponse.md)
 - [PaginationMeta](docs/PaginationMeta.md)
 - [PaymentErrorResponse](docs/PaymentErrorResponse.md)
 - [PaymentMethod](docs/PaymentMethod.md)
 - [PaymentMethodResponse](docs/PaymentMethodResponse.md)
 - [Plan](docs/Plan.md)
 - [PlansResponse](docs/PlansResponse.md)
 - [PublicReportData](docs/PublicReportData.md)
 - [PublicReportResponse](docs/PublicReportResponse.md)
 - [QuotaExceededResponse](docs/QuotaExceededResponse.md)
 - [RateLimit](docs/RateLimit.md)
 - [RefreshPayload](docs/RefreshPayload.md)
 - [RefreshResponse](docs/RefreshResponse.md)
 - [RegisterRequest](docs/RegisterRequest.md)
 - [ReportListResponse](docs/ReportListResponse.md)
 - [ReportListResponseMeta](docs/ReportListResponseMeta.md)
 - [ReportLocation](docs/ReportLocation.md)
 - [ReportResponse](docs/ReportResponse.md)
 - [ReportSummary](docs/ReportSummary.md)
 - [ReportType](docs/ReportType.md)
 - [ResetPasswordRequest](docs/ResetPasswordRequest.md)
 - [SubscribeRequest](docs/SubscribeRequest.md)
 - [SubscribeResponseEnvelope](docs/SubscribeResponseEnvelope.md)
 - [SubscribeResult](docs/SubscribeResult.md)
 - [TeamInvitePayload](docs/TeamInvitePayload.md)
 - [TeamInviteResponse](docs/TeamInviteResponse.md)
 - [TeamMember](docs/TeamMember.md)
 - [TeamMembersResponse](docs/TeamMembersResponse.md)
 - [TierAccessDeniedResponse](docs/TierAccessDeniedResponse.md)
 - [TopupRequest](docs/TopupRequest.md)
 - [TopupResponse](docs/TopupResponse.md)
 - [TopupResult](docs/TopupResult.md)
 - [UnifiedReportRequest](docs/UnifiedReportRequest.md)
 - [UnreadNotificationCountPayload](docs/UnreadNotificationCountPayload.md)
 - [UnreadNotificationCountResponse](docs/UnreadNotificationCountResponse.md)
 - [UpdateChangelogEntryRequest](docs/UpdateChangelogEntryRequest.md)
 - [UpdateClientRequest](docs/UpdateClientRequest.md)
 - [UpdateNotificationPreferencesRequest](docs/UpdateNotificationPreferencesRequest.md)
 - [UpdatePaymentMethodRequest](docs/UpdatePaymentMethodRequest.md)
 - [UpdateTeamMemberPayload](docs/UpdateTeamMemberPayload.md)
 - [UpdateTeamMemberRequest](docs/UpdateTeamMemberRequest.md)
 - [UpdateTeamMemberResponse](docs/UpdateTeamMemberResponse.md)
 - [UpdateWhiteLabelRequest](docs/UpdateWhiteLabelRequest.md)
 - [UsageByEndpointItem](docs/UsageByEndpointItem.md)
 - [UsageByEndpointResponse](docs/UsageByEndpointResponse.md)
 - [UsageByMarketItem](docs/UsageByMarketItem.md)
 - [UsageByMarketResponse](docs/UsageByMarketResponse.md)
 - [UsagePlan](docs/UsagePlan.md)
 - [UsageSummary](docs/UsageSummary.md)
 - [UsageSummaryResponse](docs/UsageSummaryResponse.md)
 - [WhiteLabelConfig](docs/WhiteLabelConfig.md)
 - [WhiteLabelResponse](docs/WhiteLabelResponse.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="bearerAuth"></a>
### bearerAuth

- **Type**: Bearer authentication (API key or JWT)

<a id="cookieAuth"></a>
### cookieAuth

- **Type**: API key
- **API key parameter name**: apiRefreshToken
- **Location**: 

<a id="adminKeyAuth"></a>
### adminKeyAuth

- **Type**: API key
- **API key parameter name**: x-admin-key
- **Location**: HTTP header


## Author




