## Update a representative `embed.representatives.update(strrepresentative_id, RepresentativeUpdateParams**kwargs) -> Representative` **put** `/v1/representatives/{representative_id}` Updates an existing representative's information. This can be used to update personal details, contact information, or the relationship to the account or organization. ### Parameters - `representative_id: str` - `dob: Union[null, null]` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: str` The email address of the representative. - `first_name: str` The first name of the representative. - `last_name: str` The last name of the representative. - `mobile_number: str` The mobile phone number of the representative. - `relationship: Relationship` - `control: bool` Whether the representative has significant responsibility to control, manage, or direct the organization. One representative must be identified under the control prong for each legal entity. - `owner: bool` Whether the representative owns any percentage of of the equity interests of the legal entity. - `primary: bool` Whether the person is authorized as the primary representative of the account. This is the person chosen by the business to provide information about themselves, general information about the account, and who consented to the services agreement. There can be only one primary representative for an account at a time. - `percent_ownership: Optional[float]` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: Optional[str]` The job title of the representative. - `ssn_last4: str` The last 4 digits of the representative's Social Security Number. - `external_id: Optional[str]` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Optional[Dict[str, str]]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `correlation_id: Optional[str]` - `idempotency_key: Optional[str]` - `request_id: Optional[str]` ### Returns - `class Representative: …` - `data: Data` - `id: str` Unique identifier for the representative. - `account_id: str` The unique identifier of the account this representative is associated with. - `created_at: datetime` Timestamp of when the representative was created. - `dob: date` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: Optional[str]` The email address of the representative. - `first_name: str` The first name of the representative. - `last_name: str` The last name of the representative. - `mobile_number: str` The mobile phone number of the representative. - `name: str` - `relationship: DataRelationship` - `control: bool` Whether the representative has significant responsibility to control, manage, or direct the organization. One representative must be identified under the control prong for each legal entity. - `owner: bool` Whether the representative owns any percentage of of the equity interests of the legal entity. - `primary: bool` Whether the person is authorized as the primary representative of the account. This is the person chosen by the business to provide information about themselves, general information about the account, and who consented to the services agreement. There can be only one primary representative for an account at a time. - `percent_ownership: Optional[float]` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: Optional[str]` The job title of the representative. - `ssn_last4: str` The last 4 digits of the representative's Social Security Number. - `status: Literal["created", "onboarding", "active", 2 more]` The current status of the representative. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `status_detail: DataStatusDetail` - `code: str` A machine-readable code for the specific status, useful for programmatic handling. - `message: str` A human-readable message describing the current status. - `reason: Literal["unverified", "in_review", "pending", 5 more]` A machine-readable identifier for the specific status, useful for programmatic handling. - `"unverified"` - `"in_review"` - `"pending"` - `"stuck"` - `"verified"` - `"failed_verification"` - `"disabled"` - `"new"` - `source: Literal["watchtower"]` Identifies the origin of the status change (e.g., `watchtower`). This helps in tracking the cause of status updates. - `"watchtower"` - `updated_at: datetime` Timestamp of the most recent update to the representative. - `external_id: Optional[str]` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Optional[Dict[str, str]]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `phone: Optional[str]` - `user_id: Optional[str]` The unique identifier of the user account associated with this representative, if applicable. - `meta: ResponseMetadata` Metadata about the API request, including an identifier and timestamp. - `api_request_id: str` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: datetime` Timestamp for this API request, useful for troubleshooting. - `response_type: Literal["object", "array", "error", "none"]` Indicates the structure of the returned content. - "object" means the `data` field contains a single JSON object. - "array" means the `data` field contains an array of objects. - "error" means the `data` field contains an error object with details of the issue. - "none" means no data is returned. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```python import os from datetime import date from straddle import Straddle client = Straddle( api_key=os.environ.get("STRADDLE_API_KEY"), # This is the default and can be omitted ) representative = client.embed.representatives.update( representative_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", dob=date.fromisoformat("1980-01-01"), email="ron.swanson@pawnee.com", first_name="Ron", last_name="Swanson", mobile_number="+12128675309", relationship={ "control": True, "owner": True, "primary": True, }, ssn_last4="1234", ) print(representative.data) ``` #### Response ```json { "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "dob": "1980-01-01", "email": "ron.swanson@pawnee.com", "first_name": "Ron", "last_name": "Swanson", "mobile_number": "+12128675309", "name": "name", "relationship": { "control": true, "owner": true, "primary": true, "percent_ownership": 0, "title": "title" }, "ssn_last4": "1234", "status": "created", "status_detail": { "code": "code", "message": "message", "reason": "unverified", "source": "watchtower" }, "updated_at": "2019-12-27T18:11:19.117Z", "external_id": "external_id", "metadata": { "foo": "string" }, "phone": "phone", "user_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" }, "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z" }, "response_type": "object" } ```