diff --git a/robosystems_client/api/graph_members/add_graph_member.py b/robosystems_client/api/graph_members/add_graph_member.py index 68e0003b..fc8865f3 100644 --- a/robosystems_client/api/graph_members/add_graph_member.py +++ b/robosystems_client/api/graph_members/add_graph_member.py @@ -103,7 +103,8 @@ def sync_detailed( ) -> Response[ErrorResponse | GraphMemberResponse | HTTPValidationError]: """Add Graph Member - Grant a member of the graph's organization access at a chosen role. Requires graph admin. + Grant a member of the graph's organization access at a chosen role. Requires graph admin. Requires a + signed-in session; API keys are not accepted. Args: graph_id (str): Graph identifier @@ -137,7 +138,8 @@ def sync( ) -> ErrorResponse | GraphMemberResponse | HTTPValidationError | None: """Add Graph Member - Grant a member of the graph's organization access at a chosen role. Requires graph admin. + Grant a member of the graph's organization access at a chosen role. Requires graph admin. Requires a + signed-in session; API keys are not accepted. Args: graph_id (str): Graph identifier @@ -166,7 +168,8 @@ async def asyncio_detailed( ) -> Response[ErrorResponse | GraphMemberResponse | HTTPValidationError]: """Add Graph Member - Grant a member of the graph's organization access at a chosen role. Requires graph admin. + Grant a member of the graph's organization access at a chosen role. Requires graph admin. Requires a + signed-in session; API keys are not accepted. Args: graph_id (str): Graph identifier @@ -198,7 +201,8 @@ async def asyncio( ) -> ErrorResponse | GraphMemberResponse | HTTPValidationError | None: """Add Graph Member - Grant a member of the graph's organization access at a chosen role. Requires graph admin. + Grant a member of the graph's organization access at a chosen role. Requires graph admin. Requires a + signed-in session; API keys are not accepted. Args: graph_id (str): Graph identifier diff --git a/robosystems_client/api/graph_members/update_graph_member_role.py b/robosystems_client/api/graph_members/update_graph_member_role.py index 9b60c97b..f76ea0f3 100644 --- a/robosystems_client/api/graph_members/update_graph_member_role.py +++ b/robosystems_client/api/graph_members/update_graph_member_role.py @@ -107,7 +107,7 @@ def sync_detailed( """Update Graph Member Role Change an explicit member's graph role. Requires graph admin. Implicit org owner/admin access is - managed through org roles. + managed through org roles. Requires a signed-in session; API keys are not accepted. Args: graph_id (str): Graph identifier @@ -145,7 +145,7 @@ def sync( """Update Graph Member Role Change an explicit member's graph role. Requires graph admin. Implicit org owner/admin access is - managed through org roles. + managed through org roles. Requires a signed-in session; API keys are not accepted. Args: graph_id (str): Graph identifier @@ -178,7 +178,7 @@ async def asyncio_detailed( """Update Graph Member Role Change an explicit member's graph role. Requires graph admin. Implicit org owner/admin access is - managed through org roles. + managed through org roles. Requires a signed-in session; API keys are not accepted. Args: graph_id (str): Graph identifier @@ -214,7 +214,7 @@ async def asyncio( """Update Graph Member Role Change an explicit member's graph role. Requires graph admin. Implicit org owner/admin access is - managed through org roles. + managed through org roles. Requires a signed-in session; API keys are not accepted. Args: graph_id (str): Graph identifier diff --git a/robosystems_client/api/org_members/create_org_invitation.py b/robosystems_client/api/org_members/create_org_invitation.py index dd904649..c80b4a9a 100644 --- a/robosystems_client/api/org_members/create_org_invitation.py +++ b/robosystems_client/api/org_members/create_org_invitation.py @@ -115,7 +115,8 @@ def sync_detailed( Invite a new user to the organization by email. Disabled by default (ORG_MEMBER_INVITATIONS_ENABLED=false); returns 501 when disabled. Requires admin or owner role. - Only emails without an existing account can be invited. + Only emails without an existing account can be invited. Requires a signed-in session; API keys are + not accepted. Args: org_id (str): @@ -151,7 +152,8 @@ def sync( Invite a new user to the organization by email. Disabled by default (ORG_MEMBER_INVITATIONS_ENABLED=false); returns 501 when disabled. Requires admin or owner role. - Only emails without an existing account can be invited. + Only emails without an existing account can be invited. Requires a signed-in session; API keys are + not accepted. Args: org_id (str): @@ -182,7 +184,8 @@ async def asyncio_detailed( Invite a new user to the organization by email. Disabled by default (ORG_MEMBER_INVITATIONS_ENABLED=false); returns 501 when disabled. Requires admin or owner role. - Only emails without an existing account can be invited. + Only emails without an existing account can be invited. Requires a signed-in session; API keys are + not accepted. Args: org_id (str): @@ -216,7 +219,8 @@ async def asyncio( Invite a new user to the organization by email. Disabled by default (ORG_MEMBER_INVITATIONS_ENABLED=false); returns 501 when disabled. Requires admin or owner role. - Only emails without an existing account can be invited. + Only emails without an existing account can be invited. Requires a signed-in session; API keys are + not accepted. Args: org_id (str): diff --git a/robosystems_client/api/org_members/resend_org_invitation.py b/robosystems_client/api/org_members/resend_org_invitation.py index 8beff68a..6f1e2e93 100644 --- a/robosystems_client/api/org_members/resend_org_invitation.py +++ b/robosystems_client/api/org_members/resend_org_invitation.py @@ -102,7 +102,7 @@ def sync_detailed( """Resend Invitation Requires admin or owner role. Rotates the invitation token, extends its expiry, and re-sends the - email. + email. Requires a signed-in session; API keys are not accepted. Args: org_id (str): @@ -137,7 +137,7 @@ def sync( """Resend Invitation Requires admin or owner role. Rotates the invitation token, extends its expiry, and re-sends the - email. + email. Requires a signed-in session; API keys are not accepted. Args: org_id (str): @@ -167,7 +167,7 @@ async def asyncio_detailed( """Resend Invitation Requires admin or owner role. Rotates the invitation token, extends its expiry, and re-sends the - email. + email. Requires a signed-in session; API keys are not accepted. Args: org_id (str): @@ -200,7 +200,7 @@ async def asyncio( """Resend Invitation Requires admin or owner role. Rotates the invitation token, extends its expiry, and re-sends the - email. + email. Requires a signed-in session; API keys are not accepted. Args: org_id (str): diff --git a/robosystems_client/api/org_members/update_org_member_role.py b/robosystems_client/api/org_members/update_org_member_role.py index 78f9b15e..1311c4bf 100644 --- a/robosystems_client/api/org_members/update_org_member_role.py +++ b/robosystems_client/api/org_members/update_org_member_role.py @@ -107,7 +107,7 @@ def sync_detailed( """Update Member Role Requires admin or owner role. Owner promotion/demotion requires a dedicated ownership transfer - workflow. + workflow. Requires a signed-in session; API keys are not accepted. Args: org_id (str): @@ -145,7 +145,7 @@ def sync( """Update Member Role Requires admin or owner role. Owner promotion/demotion requires a dedicated ownership transfer - workflow. + workflow. Requires a signed-in session; API keys are not accepted. Args: org_id (str): @@ -178,7 +178,7 @@ async def asyncio_detailed( """Update Member Role Requires admin or owner role. Owner promotion/demotion requires a dedicated ownership transfer - workflow. + workflow. Requires a signed-in session; API keys are not accepted. Args: org_id (str): @@ -214,7 +214,7 @@ async def asyncio( """Update Member Role Requires admin or owner role. Owner promotion/demotion requires a dedicated ownership transfer - workflow. + workflow. Requires a signed-in session; API keys are not accepted. Args: org_id (str): diff --git a/robosystems_client/api/robo_ledger_setup/change_reporting_style.py b/robosystems_client/api/robo_ledger_setup/change_reporting_style.py index f0b36449..891dffcd 100644 --- a/robosystems_client/api/robo_ledger_setup/change_reporting_style.py +++ b/robosystems_client/api/robo_ledger_setup/change_reporting_style.py @@ -118,8 +118,9 @@ def sync_detailed( Switch the reporting entity's Reporting Style — how its statements are laid out (equity-form, close- target concept, per-statement Networks). Validates that the target Style has a complete composition in the tenant schema, then flips `entities.reporting_style_id`. Omit `entity_id` to target the - graph's primary entity. Filed Reports are unaffected (their FactSet rows pin their structures at - create-time); new reports use the new Style. Idempotent on the same id. + graph's primary entity. A group's consolidation entity follows the parent's Style: changing the + parent's changes both, and it cannot be set on its own. Filed Reports are unaffected (their FactSet + rows pin their structures at create-time); new reports use the new Style. Idempotent on the same id. **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. @@ -167,8 +168,9 @@ def sync( Switch the reporting entity's Reporting Style — how its statements are laid out (equity-form, close- target concept, per-statement Networks). Validates that the target Style has a complete composition in the tenant schema, then flips `entities.reporting_style_id`. Omit `entity_id` to target the - graph's primary entity. Filed Reports are unaffected (their FactSet rows pin their structures at - create-time); new reports use the new Style. Idempotent on the same id. + graph's primary entity. A group's consolidation entity follows the parent's Style: changing the + parent's changes both, and it cannot be set on its own. Filed Reports are unaffected (their FactSet + rows pin their structures at create-time); new reports use the new Style. Idempotent on the same id. **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. @@ -211,8 +213,9 @@ async def asyncio_detailed( Switch the reporting entity's Reporting Style — how its statements are laid out (equity-form, close- target concept, per-statement Networks). Validates that the target Style has a complete composition in the tenant schema, then flips `entities.reporting_style_id`. Omit `entity_id` to target the - graph's primary entity. Filed Reports are unaffected (their FactSet rows pin their structures at - create-time); new reports use the new Style. Idempotent on the same id. + graph's primary entity. A group's consolidation entity follows the parent's Style: changing the + parent's changes both, and it cannot be set on its own. Filed Reports are unaffected (their FactSet + rows pin their structures at create-time); new reports use the new Style. Idempotent on the same id. **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. @@ -258,8 +261,9 @@ async def asyncio( Switch the reporting entity's Reporting Style — how its statements are laid out (equity-form, close- target concept, per-statement Networks). Validates that the target Style has a complete composition in the tenant schema, then flips `entities.reporting_style_id`. Omit `entity_id` to target the - graph's primary entity. Filed Reports are unaffected (their FactSet rows pin their structures at - create-time); new reports use the new Style. Idempotent on the same id. + graph's primary entity. A group's consolidation entity follows the parent's Style: changing the + parent's changes both, and it cannot be set on its own. Filed Reports are unaffected (their FactSet + rows pin their structures at create-time); new reports use the new Style. Idempotent on the same id. **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. diff --git a/robosystems_client/api/user/create_user_api_key.py b/robosystems_client/api/user/create_user_api_key.py index de28f83a..032a918b 100644 --- a/robosystems_client/api/user/create_user_api_key.py +++ b/robosystems_client/api/user/create_user_api_key.py @@ -93,7 +93,8 @@ def sync_detailed( ) -> Response[CreateAPIKeyResponse | ErrorResponse | HTTPValidationError]: """Create API Key - The raw key value is only returned once at creation time and cannot be retrieved again. + The raw key value is only returned once at creation time and cannot be retrieved again. Requires a + signed-in session; API keys are not accepted. Args: body (CreateAPIKeyRequest): Request model for creating a new API key. @@ -124,7 +125,8 @@ def sync( ) -> CreateAPIKeyResponse | ErrorResponse | HTTPValidationError | None: """Create API Key - The raw key value is only returned once at creation time and cannot be retrieved again. + The raw key value is only returned once at creation time and cannot be retrieved again. Requires a + signed-in session; API keys are not accepted. Args: body (CreateAPIKeyRequest): Request model for creating a new API key. @@ -150,7 +152,8 @@ async def asyncio_detailed( ) -> Response[CreateAPIKeyResponse | ErrorResponse | HTTPValidationError]: """Create API Key - The raw key value is only returned once at creation time and cannot be retrieved again. + The raw key value is only returned once at creation time and cannot be retrieved again. Requires a + signed-in session; API keys are not accepted. Args: body (CreateAPIKeyRequest): Request model for creating a new API key. @@ -179,7 +182,8 @@ async def asyncio( ) -> CreateAPIKeyResponse | ErrorResponse | HTTPValidationError | None: """Create API Key - The raw key value is only returned once at creation time and cannot be retrieved again. + The raw key value is only returned once at creation time and cannot be retrieved again. Requires a + signed-in session; API keys are not accepted. Args: body (CreateAPIKeyRequest): Request model for creating a new API key. diff --git a/robosystems_client/graphql/schema.graphql b/robosystems_client/graphql/schema.graphql index 47610f48..223f90d5 100644 --- a/robosystems_client/graphql/schema.graphql +++ b/robosystems_client/graphql/schema.graphql @@ -3152,7 +3152,7 @@ type FlowCandidate { name: String! """ - `investing` or `financing`: the section of the statement the row sits in. + `operating`, `investing` or `financing`: the section of the statement the row sits in. """ activity: String! } diff --git a/robosystems_client/models/connection_response.py b/robosystems_client/models/connection_response.py index 1c4ffe7f..18db9825 100644 --- a/robosystems_client/models/connection_response.py +++ b/robosystems_client/models/connection_response.py @@ -29,12 +29,16 @@ class ConnectionResponse: 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. + keeps_books (bool | Unset): Whether this connection is the ledger of record for `entity_id`: its books are kept + in the connected system, and `write_policy` says whether entries are written back to it or only mirrored. False + for a bank feed or an external event source. Default: False. 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): Outbound write policy: 'qb_authoritative' (QuickBooks is the book of record and RoboSystems-originated entries publish to it at close), 'shadow' (QuickBooks is the book of record, nothing is written to it and the close posts nothing locally), or 'native' (no external ledger; what severing leaves). - Set via the write-policy endpoint. + It governs the books of `entity_id`, and only on the connection that keeps them. Set via the write-policy + endpoint. source_name (None | str | Unset): External-provider registered source slug — the value the integration stamps on the events it emits. Null for platform providers. """ @@ -45,6 +49,7 @@ class ConnectionResponse: created_at: datetime.datetime | str metadata: ConnectionResponseMetadata entity_id: None | str | Unset = UNSET + keeps_books: bool | Unset = False updated_at: datetime.datetime | None | str | Unset = UNSET last_sync: datetime.datetime | None | str | Unset = UNSET write_policy: None | str | Unset = UNSET @@ -72,6 +77,8 @@ def to_dict(self) -> dict[str, Any]: else: entity_id = self.entity_id + keeps_books = self.keeps_books + updated_at: None | str | Unset if isinstance(self.updated_at, Unset): updated_at = UNSET @@ -113,6 +120,8 @@ def to_dict(self) -> dict[str, Any]: ) if entity_id is not UNSET: field_dict["entity_id"] = entity_id + if keeps_books is not UNSET: + field_dict["keeps_books"] = keeps_books if updated_at is not UNSET: field_dict["updated_at"] = updated_at if last_sync is not UNSET: @@ -159,6 +168,8 @@ def _parse_entity_id(data: object) -> None | str | Unset: entity_id = _parse_entity_id(d.pop("entity_id", UNSET)) + keeps_books = d.pop("keeps_books", UNSET) + def _parse_updated_at(data: object) -> datetime.datetime | None | str | Unset: if data is None: return data @@ -218,6 +229,7 @@ def _parse_source_name(data: object) -> None | str | Unset: created_at=created_at, metadata=metadata, entity_id=entity_id, + keeps_books=keeps_books, updated_at=updated_at, last_sync=last_sync, write_policy=write_policy, diff --git a/robosystems_client/models/create_entity_request.py b/robosystems_client/models/create_entity_request.py index f1b76e2d..1f6e50d8 100644 --- a/robosystems_client/models/create_entity_request.py +++ b/robosystems_client/models/create_entity_request.py @@ -36,7 +36,8 @@ class CreateEntityRequest: `non_profit`. Picks the default Reporting Style (partnership and llc have equity-form Styles of their own; anything else is corporate) and the equity rows of a chart template. reporting_style_id (None | str | Unset): Structure id of the Reporting Style to present under, validated in the - graph like change-reporting-style. Omit to derive it from `entity_type`. + graph like change-reporting-style. Omit to derive it from `entity_type`. A consolidation entity always takes the + group parent's. parent_entity_id (None | str | Unset): The entity this one is held under. Omit for the group parent; name a subsidiary to nest a sub-group under it. ownership_pct (float | None | Unset): The parent's share of this entity, as a percent (100 = wholly owned). Omit