## Create a list (app/CRM) `client.Prism.Lists.New(ctx, params) (*List, error)` **post** `/v2/prism/{teamId}/lists` Creates a list from a template. Seeds properties, pipeline stages (when applicable), and default views — identical to the session-auth `/default_app/create` path. API-key callers are fully supported; `type` is derived from `template_id` and must not be supplied. ### Parameters - `params PrismListNewParams` - `TeamID param.Field[string]` Path param - `ListCreate param.Field[ListCreate]` Body param - `IdempotencyKey param.Field[string]` Header param: A unique key (UUID or any opaque string up to 255 chars) for an authenticated POST, PUT, or PATCH request. The server retains the initial claim for 24 hours and replays a completed non-5xx response only when the method, path, and request body all match. Reusing a non-expired key with a different method, path, or body returns 409 `idempotency_key_mismatch`; reusing it after expiry returns 409 `idempotency_key_stale`, so use a new key. Replays include the `idempotent-replay: true` response header. ### Returns - `type List struct{…}` - `ID string` - `Name string` - `ObjectType ListObjectType` Prism object type this list holds. - `const ListObjectTypeOrganization ListObjectType = "organization"` - `const ListObjectTypeIdentity ListObjectType = "identity"` - `const ListObjectTypeAction ListObjectType = "action"` - `const ListObjectTypeDocument ListObjectType = "document"` - `const ListObjectTypeDeal ListObjectType = "deal"` - `TeamID string` - `CreatedAt Time` - `Description string` - `Icon string` Emoji or icon key for the list. - `Type string` Internal template type (e.g. dealFlow, hiring). Derived from template_id on create. - `Views []ListView` - `ID string` - `Name string` ### Example ```go package main import ( "context" "fmt" "github.com/micro-so/micro-sdk-go" "github.com/micro-so/micro-sdk-go/option" ) func main() { client := micro.NewClient( option.WithAPIKey("My API Key"), option.WithTeamID("My Team ID"), ) list, err := client.Prism.Lists.New(context.TODO(), micro.PrismListNewParams{ ListCreate: micro.ListCreateParam{ TemplateID: micro.F(micro.ListCreateTemplateIDSalesDeals), }, }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", list.ID) } ``` #### Response ```json { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "name": "x", "object_type": "organization", "team_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "description": "description", "icon": "icon", "type": "type", "views": [ { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "name": "name" } ] } ```