Skip to content
Get started

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.

ParametersExpand Collapse
params EmbedOrganizationNewParams
Name param.Field[string]

Body param: The name of the organization.

ExternalID param.Field[string]optional

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]]optional

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]optional

Header param: Optional client generated identifier to trace and debug a series of requests.

IdempotencyKey param.Field[string]optional

Header param: Optional client generated value to use for idempotent requests.

maxLength40
minLength10
RequestID param.Field[string]optional

Header param: Optional client generated identifier to trace and debug a request.

ReturnsExpand Collapse
type OrganizationV1 struct{…}
Data OrganizationV1Data
ID string

Straddle's unique identifier for the organization.

formatuuid
CreatedAt Time

Timestamp of when the organization was created.

formatdate-time
Name string

The name of the organization.

UpdatedAt Time

Timestamp of the most recent update to the organization.

formatdate-time
ExternalID stringoptional

Unique identifier for the organization in your database, used for cross-referencing between Straddle and your systems.

Metadata map[string, string]optional

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the organization in a structured format.

Metadata about the API request, including an identifier and timestamp.

APIRequestID string

Unique identifier for this API request, useful for troubleshooting.

formatuuid
APIRequestTimestamp Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
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.
One of the following:
const OrganizationV1ResponseTypeObject OrganizationV1ResponseType = "object"
const OrganizationV1ResponseTypeArray OrganizationV1ResponseType = "array"
const OrganizationV1ResponseTypeError OrganizationV1ResponseType = "error"
const OrganizationV1ResponseTypeNone OrganizationV1ResponseType = "none"

Create an organization

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)
}
{
  "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"
}
Returns Examples
{
  "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"
}