# Representatives ## Create a representative `embed.representatives.create(**kwargs) -> Representative` **post** `/v1/representatives` Creates a new representative associated with an account. Representatives are individuals who have legal authority or significant responsibility within the business. ### Parameters - `account_id: String` The unique identifier of the account this representative is associated with. - `dob: Date` Date of birth for the representative in ISO 8601 format (YYYY-MM-DD). - `email: String` The company email address of the representative. - `first_name: String` The first name of the representative. - `last_name: String` The last name of the representative. - `mobile_number: String` The mobile phone number of the representative. - `relationship: { control, owner, primary, 2 more}` - `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: Float` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: String` The job title of the representative. - `ssn_last4: String` The last 4 digits of the representative's Social Security Number. - `external_id: String` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Hash[Symbol, String]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `correlation_id: String` - `idempotency_key: String` - `request_id: String` ### Returns - `class Representative` - `data: { id, account_id, created_at, 15 more}` - `id: String` Unique identifier for the representative. - `account_id: String` The unique identifier of the account this representative is associated with. - `created_at: Time` Timestamp of when the representative was created. - `dob: Date` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: String` The email address of the representative. - `first_name: String` The first name of the representative. - `last_name: String` The last name of the representative. - `mobile_number: String` The mobile phone number of the representative. - `name: String` - `relationship: { control, owner, primary, 2 more}` - `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: Float` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: String` The job title of the representative. - `ssn_last4: String` The last 4 digits of the representative's Social Security Number. - `status: :created | :onboarding | :active | 2 more` The current status of the representative. - `:created` - `:onboarding` - `:active` - `:rejected` - `:inactive` - `status_detail: { code, message, reason, source}` - `code: String` A machine-readable code for the specific status, useful for programmatic handling. - `message: String` A human-readable message describing the current status. - `reason: :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: :watchtower` Identifies the origin of the status change (e.g., `watchtower`). This helps in tracking the cause of status updates. - `:watchtower` - `updated_at: Time` Timestamp of the most recent update to the representative. - `external_id: String` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Hash[Symbol, String]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `phone: String` - `user_id: String` 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: String` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: Time` Timestamp for this API request, useful for troubleshooting. - `response_type: :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 ```ruby require "straddle" straddle = Straddle::Client.new( api_key: "My API Key", environment: "production" # defaults to "sandbox" ) representative = straddle.embed.representatives.create( account_id: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", dob: "1980-01-01", email: "ron.swanson@pawnee.com", first_name: "first_name", last_name: "last_name", mobile_number: "+12128675309", relationship: {control: true, owner: true, primary: true}, ssn_last4: "1234" ) puts(representative) ``` #### 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" } ``` ## List representatives `embed.representatives.list(**kwargs) -> PageNumberSchema<{ id, account_id, created_at, 15 more}>` **get** `/v1/representatives` Returns a list of representatives associated with a specific account or organization. The representatives are returned sorted by creation date, with the most recently created representatives appearing first. This endpoint supports advanced sorting and filtering options. ### Parameters - `account_id: String` The unique identifier of the account to list representatives for. - `level: :account | :platform` - `:account` - `:platform` - `organization_id: String` - `page_number: Integer` Results page number. Starts at page 1. - `page_size: Integer` Page size. Max value: 1000 - `platform_id: String` - `sort_by: String` Sort By. - `sort_order: :asc | :desc` Sort Order. - `:asc` - `:desc` - `correlation_id: String` - `request_id: String` ### Returns - `{ id, account_id, created_at, 15 more}` - `id: String` Unique identifier for the representative. - `account_id: String` The unique identifier of the account this representative is associated with. - `created_at: Time` Timestamp of when the representative was created. - `dob: Date` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: String` The email address of the representative. - `first_name: String` The first name of the representative. - `last_name: String` The last name of the representative. - `mobile_number: String` The mobile phone number of the representative. - `name: String` - `relationship: { control, owner, primary, 2 more}` - `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: Float` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: String` The job title of the representative. - `ssn_last4: String` The last 4 digits of the representative's Social Security Number. - `status: :created | :onboarding | :active | 2 more` The current status of the representative. - `:created` - `:onboarding` - `:active` - `:rejected` - `:inactive` - `status_detail: { code, message, reason, source}` - `code: String` A machine-readable code for the specific status, useful for programmatic handling. - `message: String` A human-readable message describing the current status. - `reason: :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: :watchtower` Identifies the origin of the status change (e.g., `watchtower`). This helps in tracking the cause of status updates. - `:watchtower` - `updated_at: Time` Timestamp of the most recent update to the representative. - `external_id: String` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Hash[Symbol, String]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `phone: String` - `user_id: String` The unique identifier of the user account associated with this representative, if applicable. ### Example ```ruby require "straddle" straddle = Straddle::Client.new( api_key: "My API Key", environment: "production" # defaults to "sandbox" ) page = straddle.embed.representatives.list puts(page) ``` #### 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", "max_page_size": 0, "page_number": 0, "page_size": 0, "sort_by": "sort_by", "sort_order": "asc", "total_items": 0, "total_pages": 0 }, "response_type": "object" } ``` ## Update a representative `embed.representatives.update(representative_id, **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: String` - `dob: Date` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: String` The email address of the representative. - `first_name: String` The first name of the representative. - `last_name: String` The last name of the representative. - `mobile_number: String` The mobile phone number of the representative. - `relationship: { control, owner, primary, 2 more}` - `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: Float` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: String` The job title of the representative. - `ssn_last4: String` The last 4 digits of the representative's Social Security Number. - `external_id: String` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Hash[Symbol, String]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `correlation_id: String` - `idempotency_key: String` - `request_id: String` ### Returns - `class Representative` - `data: { id, account_id, created_at, 15 more}` - `id: String` Unique identifier for the representative. - `account_id: String` The unique identifier of the account this representative is associated with. - `created_at: Time` Timestamp of when the representative was created. - `dob: Date` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: String` The email address of the representative. - `first_name: String` The first name of the representative. - `last_name: String` The last name of the representative. - `mobile_number: String` The mobile phone number of the representative. - `name: String` - `relationship: { control, owner, primary, 2 more}` - `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: Float` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: String` The job title of the representative. - `ssn_last4: String` The last 4 digits of the representative's Social Security Number. - `status: :created | :onboarding | :active | 2 more` The current status of the representative. - `:created` - `:onboarding` - `:active` - `:rejected` - `:inactive` - `status_detail: { code, message, reason, source}` - `code: String` A machine-readable code for the specific status, useful for programmatic handling. - `message: String` A human-readable message describing the current status. - `reason: :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: :watchtower` Identifies the origin of the status change (e.g., `watchtower`). This helps in tracking the cause of status updates. - `:watchtower` - `updated_at: Time` Timestamp of the most recent update to the representative. - `external_id: String` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Hash[Symbol, String]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `phone: String` - `user_id: String` 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: String` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: Time` Timestamp for this API request, useful for troubleshooting. - `response_type: :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 ```ruby require "straddle" straddle = Straddle::Client.new( api_key: "My API Key", environment: "production" # defaults to "sandbox" ) representative = straddle.embed.representatives.update( "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", dob: "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" ) puts(representative) ``` #### 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" } ``` ## Lookup a representative `embed.representatives.get(representative_id, **kwargs) -> Representative` **get** `/v1/representatives/{representative_id}` Retrieves the details of an existing representative. Supply the unique representative ID, and Straddle will return the corresponding representative information. ### Parameters - `representative_id: String` - `correlation_id: String` - `request_id: String` ### Returns - `class Representative` - `data: { id, account_id, created_at, 15 more}` - `id: String` Unique identifier for the representative. - `account_id: String` The unique identifier of the account this representative is associated with. - `created_at: Time` Timestamp of when the representative was created. - `dob: Date` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: String` The email address of the representative. - `first_name: String` The first name of the representative. - `last_name: String` The last name of the representative. - `mobile_number: String` The mobile phone number of the representative. - `name: String` - `relationship: { control, owner, primary, 2 more}` - `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: Float` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: String` The job title of the representative. - `ssn_last4: String` The last 4 digits of the representative's Social Security Number. - `status: :created | :onboarding | :active | 2 more` The current status of the representative. - `:created` - `:onboarding` - `:active` - `:rejected` - `:inactive` - `status_detail: { code, message, reason, source}` - `code: String` A machine-readable code for the specific status, useful for programmatic handling. - `message: String` A human-readable message describing the current status. - `reason: :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: :watchtower` Identifies the origin of the status change (e.g., `watchtower`). This helps in tracking the cause of status updates. - `:watchtower` - `updated_at: Time` Timestamp of the most recent update to the representative. - `external_id: String` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Hash[Symbol, String]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `phone: String` - `user_id: String` 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: String` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: Time` Timestamp for this API request, useful for troubleshooting. - `response_type: :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 ```ruby require "straddle" straddle = Straddle::Client.new( api_key: "My API Key", environment: "production" # defaults to "sandbox" ) representative = straddle.embed.representatives.get("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") puts(representative) ``` #### 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" } ``` ## Retrieve unmasked representative details `embed.representatives.unmask(representative_id, **kwargs) -> Representative` **get** `/v1/representatives/{representative_id}/unmask` Retrieves the unmasked details of a representative that has previously been created. Supply the unique representative ID, and Straddle will return the corresponding representative information, including sensitive details. This endpoint requires additional authentication and should be used with caution. ### Parameters - `representative_id: String` - `correlation_id: String` - `request_id: String` ### Returns - `class Representative` - `data: { id, account_id, created_at, 15 more}` - `id: String` Unique identifier for the representative. - `account_id: String` The unique identifier of the account this representative is associated with. - `created_at: Time` Timestamp of when the representative was created. - `dob: Date` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: String` The email address of the representative. - `first_name: String` The first name of the representative. - `last_name: String` The last name of the representative. - `mobile_number: String` The mobile phone number of the representative. - `name: String` - `relationship: { control, owner, primary, 2 more}` - `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: Float` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: String` The job title of the representative. - `ssn_last4: String` The last 4 digits of the representative's Social Security Number. - `status: :created | :onboarding | :active | 2 more` The current status of the representative. - `:created` - `:onboarding` - `:active` - `:rejected` - `:inactive` - `status_detail: { code, message, reason, source}` - `code: String` A machine-readable code for the specific status, useful for programmatic handling. - `message: String` A human-readable message describing the current status. - `reason: :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: :watchtower` Identifies the origin of the status change (e.g., `watchtower`). This helps in tracking the cause of status updates. - `:watchtower` - `updated_at: Time` Timestamp of the most recent update to the representative. - `external_id: String` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Hash[Symbol, String]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `phone: String` - `user_id: String` 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: String` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: Time` Timestamp for this API request, useful for troubleshooting. - `response_type: :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 ```ruby require "straddle" straddle = Straddle::Client.new( api_key: "My API Key", environment: "production" # defaults to "sandbox" ) representative = straddle.embed.representatives.unmask("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") puts(representative) ``` #### 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" } ``` ## Domain Types ### Representative - `class Representative` - `data: { id, account_id, created_at, 15 more}` - `id: String` Unique identifier for the representative. - `account_id: String` The unique identifier of the account this representative is associated with. - `created_at: Time` Timestamp of when the representative was created. - `dob: Date` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: String` The email address of the representative. - `first_name: String` The first name of the representative. - `last_name: String` The last name of the representative. - `mobile_number: String` The mobile phone number of the representative. - `name: String` - `relationship: { control, owner, primary, 2 more}` - `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: Float` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: String` The job title of the representative. - `ssn_last4: String` The last 4 digits of the representative's Social Security Number. - `status: :created | :onboarding | :active | 2 more` The current status of the representative. - `:created` - `:onboarding` - `:active` - `:rejected` - `:inactive` - `status_detail: { code, message, reason, source}` - `code: String` A machine-readable code for the specific status, useful for programmatic handling. - `message: String` A human-readable message describing the current status. - `reason: :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: :watchtower` Identifies the origin of the status change (e.g., `watchtower`). This helps in tracking the cause of status updates. - `:watchtower` - `updated_at: Time` Timestamp of the most recent update to the representative. - `external_id: String` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Hash[Symbol, String]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `phone: String` - `user_id: String` 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: String` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: Time` Timestamp for this API request, useful for troubleshooting. - `response_type: :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` ### Representative Paged - `class RepresentativePaged` - `data: Array[{ id, account_id, created_at, 15 more}]` - `id: String` Unique identifier for the representative. - `account_id: String` The unique identifier of the account this representative is associated with. - `created_at: Time` Timestamp of when the representative was created. - `dob: Date` The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD). - `email: String` The email address of the representative. - `first_name: String` The first name of the representative. - `last_name: String` The last name of the representative. - `mobile_number: String` The mobile phone number of the representative. - `name: String` - `relationship: { control, owner, primary, 2 more}` - `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: Float` The percentage of ownership the representative has. Required if 'Owner' is true. - `title: String` The job title of the representative. - `ssn_last4: String` The last 4 digits of the representative's Social Security Number. - `status: :created | :onboarding | :active | 2 more` The current status of the representative. - `:created` - `:onboarding` - `:active` - `:rejected` - `:inactive` - `status_detail: { code, message, reason, source}` - `code: String` A machine-readable code for the specific status, useful for programmatic handling. - `message: String` A human-readable message describing the current status. - `reason: :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: :watchtower` Identifies the origin of the status change (e.g., `watchtower`). This helps in tracking the cause of status updates. - `:watchtower` - `updated_at: Time` Timestamp of the most recent update to the representative. - `external_id: String` Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems. - `metadata: Hash[Symbol, String]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the represetative in a structured format. - `phone: String` - `user_id: String` The unique identifier of the user account associated with this representative, if applicable. - `meta: PagedResponseMetadata` Metadata about the API request, including an identifier, timestamp, and pagination details. - `api_request_id: String` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: Time` Timestamp for this API request, useful for troubleshooting. - `max_page_size: Integer` Maximum allowed page size for this endpoint. - `page_number: Integer` Page number for paginated results. - `page_size: Integer` Number of items per page in this response. - `sort_by: String` The field that the results were sorted by. - `sort_order: :asc | :desc` - `:asc` - `:desc` - `total_items: Integer` Total number of items returned in this response. - `total_pages: Integer` The number of pages available. - `response_type: :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`