## Create an organization `client.Embed.Organizations.New(ctx, params) (*OrganizationV1, error)` **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 - `params EmbedOrganizationNewParams` - `Name param.Field[string]` Body param: The name of the organization. - `ExternalID param.Field[string]` Body param: Unique identifier for the organization in your database, used for cross-referencing between Straddle and your systems. - `Metadata param.Field[map[string, string]]` Body param: Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the organization in a structured format. - `CorrelationID param.Field[string]` Header param: Optional client generated identifier to trace and debug a series of requests. - `IdempotencyKey param.Field[string]` Header param: Optional client generated value to use for idempotent requests. - `RequestID param.Field[string]` Header param: Optional client generated identifier to trace and debug a request. ### Returns - `type OrganizationV1 struct{…}` - `Data OrganizationV1Data` - `ID string` Straddle's unique identifier for the organization. - `CreatedAt Time` Timestamp of when the organization was created. - `Name string` The name of the organization. - `UpdatedAt Time` Timestamp of the most recent update to the organization. - `ExternalID string` Unique identifier for the organization in your database, used for cross-referencing between Straddle and your systems. - `Metadata map[string, string]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the organization in a structured format. - `Meta ResponseMetadata` Metadata about the API request, including an identifier and timestamp. - `APIRequestID string` Unique identifier for this API request, useful for troubleshooting. - `APIRequestTimestamp Time` Timestamp for this API request, useful for troubleshooting. - `ResponseType OrganizationV1ResponseType` 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. - `const OrganizationV1ResponseTypeObject OrganizationV1ResponseType = "object"` - `const OrganizationV1ResponseTypeArray OrganizationV1ResponseType = "array"` - `const OrganizationV1ResponseTypeError OrganizationV1ResponseType = "error"` - `const OrganizationV1ResponseTypeNone OrganizationV1ResponseType = "none"` ### Example ```go package main import ( "context" "fmt" "github.com/straddleio/straddle-go" "github.com/straddleio/straddle-go/option" ) func main() { client := straddle.NewClient( option.WithAPIKey("My API Key"), ) organizationV1, err := client.Embed.Organizations.New(context.TODO(), straddle.EmbedOrganizationNewParams{ Name: "name", }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", organizationV1.Data) } ``` #### 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" } ```