# Organizations ## Create an organization `OrganizationV1 Embed.Organizations.Create(OrganizationCreateParamsparameters, CancellationTokencancellationToken = default)` **post** `/v1/organizations` Creates a new organization related to your Straddle integration. Organizations can be used to group related accounts and manage permissions across multiple users. ### Parameters - `OrganizationCreateParams parameters` - `required string name` Body param: The name of the organization. - `string? externalID` Body param: Unique identifier for the organization in your database, used for cross-referencing between Straddle and your systems. - `IReadOnlyDictionary? metadata` Body param: Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the organization in a structured format. - `string correlationID` Header param: Optional client generated identifier to trace and debug a series of requests. - `string idempotencyKey` Header param: Optional client generated value to use for idempotent requests. - `string requestID` Header param: Optional client generated identifier to trace and debug a request. ### Returns - `class OrganizationV1:` - `required Data Data` - `required string ID` Straddle's unique identifier for the organization. - `required DateTimeOffset CreatedAt` Timestamp of when the organization was created. - `required string Name` The name of the organization. - `required DateTimeOffset UpdatedAt` Timestamp of the most recent update to the organization. - `string? ExternalID` Unique identifier for the organization in your database, used for cross-referencing between Straddle and your systems. - `IReadOnlyDictionary? Metadata` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the organization in a structured format. - `required ResponseMetadata Meta` Metadata about the API request, including an identifier and timestamp. - `required string ApiRequestID` Unique identifier for this API request, useful for troubleshooting. - `required DateTimeOffset ApiRequestTimestamp` Timestamp for this API request, useful for troubleshooting. - `required ResponseType ResponseType` 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"Object` - `"array"Array` - `"error"Error` - `"none"None` ### Example ```csharp OrganizationCreateParams parameters = new() { Name = "name" }; var organizationV1 = await client.Embed.Organizations.Create(parameters); Console.WriteLine(organizationV1); ``` #### Response ```json { "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "name": "name", "updated_at": "2019-12-27T18:11:19.117Z", "external_id": "external_id", "metadata": { "foo": "string" } }, "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z" }, "response_type": "object" } ``` ## List organizations `OrganizationPagedV1 Embed.Organizations.List(OrganizationListParams?parameters, CancellationTokencancellationToken = default)` **get** `/v1/organizations` Retrieves a list of organizations associated with your Straddle integration. The organizations are returned sorted by creation date, with the most recently created organizations appearing first. This endpoint supports advanced sorting and filtering options to help you find specific organizations. ### Parameters - `OrganizationListParams parameters` - `string externalID` Query param: List organizations by their external ID. - `string name` Query param: List organizations by name (partial match supported). - `Int pageNumber` Query param: Results page number. Starts at page 1. - `Int pageSize` Query param: Page size. Max value: 1000 - `string sortBy` Query param: Sort By. - `SortOrder sortOrder` Query param: Sort Order. - `"asc"Asc` - `"desc"Desc` - `string correlationID` Header param: Optional client generated identifier to trace and debug a series of requests. - `string requestID` Header param: Optional client generated identifier to trace and debug a request. ### Returns - `class OrganizationPagedV1:` - `required IReadOnlyList Data` - `required string ID` Straddle's unique identifier for the organization. - `required DateTimeOffset CreatedAt` Timestamp of when the organization was created. - `required string Name` The name of the organization. - `required DateTimeOffset UpdatedAt` Timestamp of the most recent update to the organization. - `string? ExternalID` Unique identifier for the organization in your database, used for cross-referencing between Straddle and your systems. - `IReadOnlyDictionary? Metadata` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the organization in a structured format. - `required PagedResponseMetadata Meta` Metadata about the API request, including an identifier, timestamp, and pagination details. - `required string ApiRequestID` Unique identifier for this API request, useful for troubleshooting. - `required DateTimeOffset ApiRequestTimestamp` Timestamp for this API request, useful for troubleshooting. - `required Int MaxPageSize` Maximum allowed page size for this endpoint. - `required Int PageNumber` Page number for paginated results. - `required Int PageSize` Number of items per page in this response. - `required string SortBy` The field that the results were sorted by. - `required SortOrder SortOrder` - `"asc"Asc` - `"desc"Desc` - `required Int TotalItems` Total number of items returned in this response. - `required Int TotalPages` The number of pages available. - `required ResponseType ResponseType` 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"Object` - `"array"Array` - `"error"Error` - `"none"None` ### Example ```csharp OrganizationListParams parameters = new(); var page = await client.Embed.Organizations.List(parameters); await foreach (var item in page.Paginate()) { Console.WriteLine(item); } ``` #### Response ```json { "data": [ { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "name": "name", "updated_at": "2019-12-27T18:11:19.117Z", "external_id": "external_id", "metadata": { "foo": "string" } } ], "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" } ``` ## Retrieve organization details `OrganizationV1 Embed.Organizations.Get(OrganizationGetParamsparameters, CancellationTokencancellationToken = default)` **get** `/v1/organizations/{organization_id}` Retrieves the details of an Organization that has previously been created. Supply the unique organization ID that was returned from your previous request, and Straddle will return the corresponding organization information. ### Parameters - `OrganizationGetParams parameters` - `required string organizationID` - `string correlationID` Optional client generated identifier to trace and debug a series of requests. - `string requestID` Optional client generated identifier to trace and debug a request. ### Returns - `class OrganizationV1:` - `required Data Data` - `required string ID` Straddle's unique identifier for the organization. - `required DateTimeOffset CreatedAt` Timestamp of when the organization was created. - `required string Name` The name of the organization. - `required DateTimeOffset UpdatedAt` Timestamp of the most recent update to the organization. - `string? ExternalID` Unique identifier for the organization in your database, used for cross-referencing between Straddle and your systems. - `IReadOnlyDictionary? Metadata` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the organization in a structured format. - `required ResponseMetadata Meta` Metadata about the API request, including an identifier and timestamp. - `required string ApiRequestID` Unique identifier for this API request, useful for troubleshooting. - `required DateTimeOffset ApiRequestTimestamp` Timestamp for this API request, useful for troubleshooting. - `required ResponseType ResponseType` 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"Object` - `"array"Array` - `"error"Error` - `"none"None` ### Example ```csharp OrganizationGetParams parameters = new() { OrganizationID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" }; var organizationV1 = await client.Embed.Organizations.Get(parameters); Console.WriteLine(organizationV1); ``` #### Response ```json { "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "name": "name", "updated_at": "2019-12-27T18:11:19.117Z", "external_id": "external_id", "metadata": { "foo": "string" } }, "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z" }, "response_type": "object" } ``` ## Domain Types ### Organization Paged V1 - `class OrganizationPagedV1:` - `required IReadOnlyList Data` - `required string ID` Straddle's unique identifier for the organization. - `required DateTimeOffset CreatedAt` Timestamp of when the organization was created. - `required string Name` The name of the organization. - `required DateTimeOffset UpdatedAt` Timestamp of the most recent update to the organization. - `string? ExternalID` Unique identifier for the organization in your database, used for cross-referencing between Straddle and your systems. - `IReadOnlyDictionary? Metadata` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the organization in a structured format. - `required PagedResponseMetadata Meta` Metadata about the API request, including an identifier, timestamp, and pagination details. - `required string ApiRequestID` Unique identifier for this API request, useful for troubleshooting. - `required DateTimeOffset ApiRequestTimestamp` Timestamp for this API request, useful for troubleshooting. - `required Int MaxPageSize` Maximum allowed page size for this endpoint. - `required Int PageNumber` Page number for paginated results. - `required Int PageSize` Number of items per page in this response. - `required string SortBy` The field that the results were sorted by. - `required SortOrder SortOrder` - `"asc"Asc` - `"desc"Desc` - `required Int TotalItems` Total number of items returned in this response. - `required Int TotalPages` The number of pages available. - `required ResponseType ResponseType` 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"Object` - `"array"Array` - `"error"Error` - `"none"None` ### Organization V1 - `class OrganizationV1:` - `required Data Data` - `required string ID` Straddle's unique identifier for the organization. - `required DateTimeOffset CreatedAt` Timestamp of when the organization was created. - `required string Name` The name of the organization. - `required DateTimeOffset UpdatedAt` Timestamp of the most recent update to the organization. - `string? ExternalID` Unique identifier for the organization in your database, used for cross-referencing between Straddle and your systems. - `IReadOnlyDictionary? Metadata` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the organization in a structured format. - `required ResponseMetadata Meta` Metadata about the API request, including an identifier and timestamp. - `required string ApiRequestID` Unique identifier for this API request, useful for troubleshooting. - `required DateTimeOffset ApiRequestTimestamp` Timestamp for this API request, useful for troubleshooting. - `required ResponseType ResponseType` 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"Object` - `"array"Array` - `"error"Error` - `"none"None`