Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions robosystems_client/api/connections/create_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,9 @@ def sync_detailed(
Plaid: returns a pending connection — `POST /oauth/init` returns a `link_token` for Plaid Link. A
bank feed (Mercury, Plaid) names the entity its accounts book to (`entity_id`, the group parent when
omitted) and is refused (409) when that entity has no chart of accounts or is the one QuickBooks
keeps; QuickBooks is refused (409) when the group parent's books are already native.
keeps. QuickBooks keeps the group parent's books only: `entity_id` may be omitted, and naming a
subsidiary is refused (409 PARENT_ONLY); it is refused (409) too when the group parent's books are
already native. Every connection's `entity_id` is the entity whose books it keeps.

Args:
graph_id (str):
Expand Down Expand Up @@ -157,7 +159,9 @@ def sync(
Plaid: returns a pending connection — `POST /oauth/init` returns a `link_token` for Plaid Link. A
bank feed (Mercury, Plaid) names the entity its accounts book to (`entity_id`, the group parent when
omitted) and is refused (409) when that entity has no chart of accounts or is the one QuickBooks
keeps; QuickBooks is refused (409) when the group parent's books are already native.
keeps. QuickBooks keeps the group parent's books only: `entity_id` may be omitted, and naming a
subsidiary is refused (409 PARENT_ONLY); it is refused (409) too when the group parent's books are
already native. Every connection's `entity_id` is the entity whose books it keeps.

Args:
graph_id (str):
Expand Down Expand Up @@ -194,7 +198,9 @@ async def asyncio_detailed(
Plaid: returns a pending connection — `POST /oauth/init` returns a `link_token` for Plaid Link. A
bank feed (Mercury, Plaid) names the entity its accounts book to (`entity_id`, the group parent when
omitted) and is refused (409) when that entity has no chart of accounts or is the one QuickBooks
keeps; QuickBooks is refused (409) when the group parent's books are already native.
keeps. QuickBooks keeps the group parent's books only: `entity_id` may be omitted, and naming a
subsidiary is refused (409 PARENT_ONLY); it is refused (409) too when the group parent's books are
already native. Every connection's `entity_id` is the entity whose books it keeps.

Args:
graph_id (str):
Expand Down Expand Up @@ -234,7 +240,9 @@ async def asyncio(
Plaid: returns a pending connection — `POST /oauth/init` returns a `link_token` for Plaid Link. A
bank feed (Mercury, Plaid) names the entity its accounts book to (`entity_id`, the group parent when
omitted) and is refused (409) when that entity has no chart of accounts or is the one QuickBooks
keeps; QuickBooks is refused (409) when the group parent's books are already native.
keeps. QuickBooks keeps the group parent's books only: `entity_id` may be omitted, and naming a
subsidiary is refused (409 PARENT_ONLY); it is refused (409) too when the group parent's books are
already native. Every connection's `entity_id` is the entity whose books it keeps.

Args:
graph_id (str):
Expand Down
8 changes: 4 additions & 4 deletions robosystems_client/api/connections/list_connections.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ def sync_detailed(

Args:
graph_id (str):
entity_id (None | str | Unset): Filter by entity ID
entity_id (None | str | Unset): Only the connections that keep this entity's books
provider (ListConnectionsProviderType0 | None | Unset): Filter by provider type

Raises:
Expand Down Expand Up @@ -162,7 +162,7 @@ def sync(

Args:
graph_id (str):
entity_id (None | str | Unset): Filter by entity ID
entity_id (None | str | Unset): Only the connections that keep this entity's books
provider (ListConnectionsProviderType0 | None | Unset): Filter by provider type

Raises:
Expand Down Expand Up @@ -192,7 +192,7 @@ async def asyncio_detailed(

Args:
graph_id (str):
entity_id (None | str | Unset): Filter by entity ID
entity_id (None | str | Unset): Only the connections that keep this entity's books
provider (ListConnectionsProviderType0 | None | Unset): Filter by provider type

Raises:
Expand Down Expand Up @@ -225,7 +225,7 @@ async def asyncio(

Args:
graph_id (str):
entity_id (None | str | Unset): Filter by entity ID
entity_id (None | str | Unset): Only the connections that keep this entity's books
provider (ListConnectionsProviderType0 | None | Unset): Filter by provider type

Raises:
Expand Down
60 changes: 44 additions & 16 deletions robosystems_client/api/graph_operations/delete_graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,12 @@ def sync_detailed(
Permanently destroys a user graph and cancels its subscription. Two modes via the `at_period_end`
body flag: omit it (or pass `false`) to tear down immediately (~10 min); pass `true` to keep the
graph usable through the current billing period and tear it down at the period boundary via the
existing suspend → deprovision pipeline. Requires `confirm` to equal the URL `graph_id`. Caller must
be both org owner (billing authority) and admin on the graph (operational authority). Not allowed on
shared repositories.
existing suspend → deprovision pipeline. An immediate delete credits the unused part of the billed
period; it is not refunded. On a card-billed plan the credit goes to the organization's account
balance and is applied to its next invoice; on an invoiced plan it is a credit line on that period's
invoice, or a separate credit invoice if that one is already paid. Requires `confirm` to equal the
URL `graph_id`. Caller must be both org owner (billing authority) and admin on the graph
(operational authority). Not allowed on shared repositories.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand All @@ -130,7 +133,11 @@ def sync_detailed(

- **Immediate** (default): subscription canceled now (`ends_at = now`) and
fast-path deprovisioning fires within ~10 minutes. Use when you want
the data gone and the slot freed right away.
the data gone and the slot freed right away. The unused part of the
billed period is credited, not refunded: on a card-billed plan to the
organization's account balance, applied to its next invoice; on an
invoiced plan as a credit on that period's invoice, or a separate credit
invoice if it is already paid.
- **At period end** (`at_period_end=true`): subscription canceled but
`ends_at = current_period_end` so the graph stays usable through the
paid period. The existing suspend → deprovision sensor pipeline tears
Expand Down Expand Up @@ -172,9 +179,12 @@ def sync(
Permanently destroys a user graph and cancels its subscription. Two modes via the `at_period_end`
body flag: omit it (or pass `false`) to tear down immediately (~10 min); pass `true` to keep the
graph usable through the current billing period and tear it down at the period boundary via the
existing suspend → deprovision pipeline. Requires `confirm` to equal the URL `graph_id`. Caller must
be both org owner (billing authority) and admin on the graph (operational authority). Not allowed on
shared repositories.
existing suspend → deprovision pipeline. An immediate delete credits the unused part of the billed
period; it is not refunded. On a card-billed plan the credit goes to the organization's account
balance and is applied to its next invoice; on an invoiced plan it is a credit line on that period's
invoice, or a separate credit invoice if that one is already paid. Requires `confirm` to equal the
URL `graph_id`. Caller must be both org owner (billing authority) and admin on the graph
(operational authority). Not allowed on shared repositories.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand All @@ -188,7 +198,11 @@ def sync(

- **Immediate** (default): subscription canceled now (`ends_at = now`) and
fast-path deprovisioning fires within ~10 minutes. Use when you want
the data gone and the slot freed right away.
the data gone and the slot freed right away. The unused part of the
billed period is credited, not refunded: on a card-billed plan to the
organization's account balance, applied to its next invoice; on an
invoiced plan as a credit on that period's invoice, or a separate credit
invoice if it is already paid.
- **At period end** (`at_period_end=true`): subscription canceled but
`ends_at = current_period_end` so the graph stays usable through the
paid period. The existing suspend → deprovision sensor pipeline tears
Expand Down Expand Up @@ -225,9 +239,12 @@ async def asyncio_detailed(
Permanently destroys a user graph and cancels its subscription. Two modes via the `at_period_end`
body flag: omit it (or pass `false`) to tear down immediately (~10 min); pass `true` to keep the
graph usable through the current billing period and tear it down at the period boundary via the
existing suspend → deprovision pipeline. Requires `confirm` to equal the URL `graph_id`. Caller must
be both org owner (billing authority) and admin on the graph (operational authority). Not allowed on
shared repositories.
existing suspend → deprovision pipeline. An immediate delete credits the unused part of the billed
period; it is not refunded. On a card-billed plan the credit goes to the organization's account
balance and is applied to its next invoice; on an invoiced plan it is a credit line on that period's
invoice, or a separate credit invoice if that one is already paid. Requires `confirm` to equal the
URL `graph_id`. Caller must be both org owner (billing authority) and admin on the graph
(operational authority). Not allowed on shared repositories.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand All @@ -241,7 +258,11 @@ async def asyncio_detailed(

- **Immediate** (default): subscription canceled now (`ends_at = now`) and
fast-path deprovisioning fires within ~10 minutes. Use when you want
the data gone and the slot freed right away.
the data gone and the slot freed right away. The unused part of the
billed period is credited, not refunded: on a card-billed plan to the
organization's account balance, applied to its next invoice; on an
invoiced plan as a credit on that period's invoice, or a separate credit
invoice if it is already paid.
- **At period end** (`at_period_end=true`): subscription canceled but
`ends_at = current_period_end` so the graph stays usable through the
paid period. The existing suspend → deprovision sensor pipeline tears
Expand Down Expand Up @@ -281,9 +302,12 @@ async def asyncio(
Permanently destroys a user graph and cancels its subscription. Two modes via the `at_period_end`
body flag: omit it (or pass `false`) to tear down immediately (~10 min); pass `true` to keep the
graph usable through the current billing period and tear it down at the period boundary via the
existing suspend → deprovision pipeline. Requires `confirm` to equal the URL `graph_id`. Caller must
be both org owner (billing authority) and admin on the graph (operational authority). Not allowed on
shared repositories.
existing suspend → deprovision pipeline. An immediate delete credits the unused part of the billed
period; it is not refunded. On a card-billed plan the credit goes to the organization's account
balance and is applied to its next invoice; on an invoiced plan it is a credit line on that period's
invoice, or a separate credit invoice if that one is already paid. Requires `confirm` to equal the
URL `graph_id`. Caller must be both org owner (billing authority) and admin on the graph
(operational authority). Not allowed on shared repositories.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand All @@ -297,7 +321,11 @@ async def asyncio(

- **Immediate** (default): subscription canceled now (`ends_at = now`) and
fast-path deprovisioning fires within ~10 minutes. Use when you want
the data gone and the slot freed right away.
the data gone and the slot freed right away. The unused part of the
billed period is credited, not refunded: on a card-billed plan to the
organization's account balance, applied to its next invoice; on an
invoiced plan as a credit on that period's invoice, or a separate credit
invoice if it is already paid.
- **At period end** (`at_period_end=true`): subscription canceled but
`ends_at = current_period_end` so the graph stays usable through the
paid period. The existing suspend → deprovision sensor pipeline tears
Expand Down
2 changes: 1 addition & 1 deletion robosystems_client/graphql/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -1848,7 +1848,6 @@ type Agent {
agentType: String!
name: String!
legalName: String
taxId: String
registrationNumber: String
duns: String
lei: String
Expand All @@ -1864,6 +1863,7 @@ type Agent {
createdAt: DateTime
updatedAt: DateTime
createdBy: String
taxId: String
openReceivable: OpenBalanceByAgent
openPayable: OpenBalanceByAgent
}
Expand Down
21 changes: 1 addition & 20 deletions robosystems_client/models/accept_suggestions_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
from typing import Any, TypeVar, cast

from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..types import UNSET, Unset

Expand Down Expand Up @@ -44,7 +43,6 @@ class AcceptSuggestionsRequest:
commit: bool | Unset = False
limit: int | Unset = 200
dry_run: bool | Unset = False
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> dict[str, Any]:
entity_id: None | str | Unset
Expand Down Expand Up @@ -103,7 +101,7 @@ def to_dict(self) -> dict[str, Any]:
dry_run = self.dry_run

field_dict: dict[str, Any] = {}
field_dict.update(self.additional_properties)

field_dict.update({})
if entity_id is not UNSET:
field_dict["entity_id"] = entity_id
Expand Down Expand Up @@ -238,21 +236,4 @@ def _parse_occurred_to(data: object) -> datetime.date | None | Unset:
dry_run=dry_run,
)

accept_suggestions_request.additional_properties = d
return accept_suggestions_request

@property
def additional_keys(self) -> list[str]:
return list(self.additional_properties.keys())

def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]

def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value

def __delitem__(self, key: str) -> None:
del self.additional_properties[key]

def __contains__(self, key: str) -> bool:
return key in self.additional_properties
21 changes: 1 addition & 20 deletions robosystems_client/models/backup_create_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from typing import Any, TypeVar, cast

from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..types import UNSET, Unset

Expand All @@ -31,7 +30,6 @@ class BackupCreateRequest:
retention_days: int | Unset = 30
compression: bool | Unset = True
schedule: None | str | Unset = UNSET
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> dict[str, Any]:
backup_format = self.backup_format
Expand All @@ -49,7 +47,7 @@ def to_dict(self) -> dict[str, Any]:
schedule = self.schedule

field_dict: dict[str, Any] = {}
field_dict.update(self.additional_properties)

field_dict.update({})
if backup_format is not UNSET:
field_dict["backup_format"] = backup_format
Expand Down Expand Up @@ -92,21 +90,4 @@ def _parse_schedule(data: object) -> None | str | Unset:
schedule=schedule,
)

backup_create_request.additional_properties = d
return backup_create_request

@property
def additional_keys(self) -> list[str]:
return list(self.additional_properties.keys())

def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]

def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value

def __delitem__(self, key: str) -> None:
del self.additional_properties[key]

def __contains__(self, key: str) -> bool:
return key in self.additional_properties
21 changes: 1 addition & 20 deletions robosystems_client/models/cancel_subscription_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from typing import Any, TypeVar, cast

from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..types import UNSET, Unset

Expand Down Expand Up @@ -33,7 +32,6 @@ class CancelSubscriptionRequest:
immediate: bool | Unset = False
confirm: None | str | Unset = UNSET
user_id: None | str | Unset = UNSET
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> dict[str, Any]:
immediate = self.immediate
Expand All @@ -51,7 +49,7 @@ def to_dict(self) -> dict[str, Any]:
user_id = self.user_id

field_dict: dict[str, Any] = {}
field_dict.update(self.additional_properties)

field_dict.update({})
if immediate is not UNSET:
field_dict["immediate"] = immediate
Expand Down Expand Up @@ -91,21 +89,4 @@ def _parse_user_id(data: object) -> None | str | Unset:
user_id=user_id,
)

cancel_subscription_request.additional_properties = d
return cancel_subscription_request

@property
def additional_keys(self) -> list[str]:
return list(self.additional_properties.keys())

def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]

def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value

def __delitem__(self, key: str) -> None:
del self.additional_properties[key]

def __contains__(self, key: str) -> bool:
return key in self.additional_properties
4 changes: 3 additions & 1 deletion robosystems_client/models/connection_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ class ConnectionResponse:
status (str): Connection status
created_at (datetime.datetime | str): Creation timestamp
metadata (ConnectionResponseMetadata): Provider-specific metadata
entity_id (None | str | Unset): Entity identifier
entity_id (None | str | Unset): The entity whose books the connection keeps: the group parent for QuickBooks,
the entity a bank feed was connected for (each of its accounts can move to another entity later), none for an
external source, whose events name their own.
updated_at (datetime.datetime | None | str | Unset): Last update timestamp
last_sync (datetime.datetime | None | str | Unset): Last sync timestamp
write_policy (None | str | Unset): Source-of-truth write policy: 'native' (RoboSystems is authoritative; no
Expand Down
3 changes: 2 additions & 1 deletion robosystems_client/models/create_connection_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ class CreateConnectionRequest:

Attributes:
provider (CreateConnectionRequestProvider): Connection provider type
entity_id (None | str | Unset): Entity identifier. Required for QuickBooks.
entity_id (None | str | Unset): QuickBooks: the entity whose books it keeps, which can only be the group parent;
omit it. A bank feed names its entity on its own config.
quickbooks_config (None | QuickBooksConnectionConfig | Unset):
external_config (ExternalConnectionConfig | None | Unset):
mercury_config (MercuryConnectionConfig | None | Unset):
Expand Down
6 changes: 5 additions & 1 deletion robosystems_client/models/delete_graph_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,11 @@ class DeleteGraphOp:

- **Immediate** (default): subscription canceled now (`ends_at = now`) and
fast-path deprovisioning fires within ~10 minutes. Use when you want
the data gone and the slot freed right away.
the data gone and the slot freed right away. The unused part of the
billed period is credited, not refunded: on a card-billed plan to the
organization's account balance, applied to its next invoice; on an
invoiced plan as a credit on that period's invoice, or a separate credit
invoice if it is already paid.
- **At period end** (`at_period_end=true`): subscription canceled but
`ends_at = current_period_end` so the graph stays usable through the
paid period. The existing suspend → deprovision sensor pipeline tears
Expand Down
Loading
Loading