Skip to content
  • Auto
  • Light
  • Dark

Create

Create a new project
client.Projects.New(ctx, body) (*ConfigRepostringDisplayNamestringObjectProjectObjectOrgstringSlugstringTargetsarrayProject, error)
post/v0/projects

Create a new project

Parameters
bodyDisplayNamefieldOrgfieldRevisionfieldSlugfieldTargetsfieldProjectNewParams
Hide ParametersShow Parameters
DisplayNamefield
param.Field[string]

Human-readable project name

Orgfield
param.Field[string]

Organization name

Revisionfield
param.Field[map[string, FileInputUnion]]

File contents to commit

Hide ParametersShow Parameters
Slugfield
param.Field[string]

Project name/slug

Targetsfield
param.Field[[]TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget]

Targets to generate for

Hide ParametersShow Parameters
TargetNodeconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"node"
TargetTypescriptconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"typescript"
TargetPythonconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"python"
TargetGoconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"go"
TargetJavaconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"java"
TargetKotlinconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"kotlin"
TargetRubyconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"ruby"
TargetTerraformconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"terraform"
TargetCliconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"cli"
TargetPhpconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"php"
TargetCsharpconst
TargetNodeTargetTargetTypescriptTargetTargetPythonTargetTargetGoTargetTargetJavaTargetTargetKotlinTargetTargetRubyTargetTargetTerraformTargetTargetCliTargetTargetPhpTargetTargetCsharpTargetTarget
"csharp"
Returns
ConfigRepostringDisplayNamestringObjectProjectObjectOrgstringSlugstringTargetsarrayProject
package main

import (
  "context"
  "fmt"

  "github.com/stainless-api/stainless-api-go"
  "github.com/stainless-api/stainless-api-go/option"
  "github.com/stainless-api/stainless-api-go/shared"
)

func main() {
  client := stainless.NewClient(
    option.WithAPIKey("My API Key"),
  )
  project, err := client.Projects.New(context.TODO(), stainless.ProjectNewParams{
    DisplayName: "display_name",
    Org: "org",
    Revision: map[string]shared.FileInputUnionParam{
    "foo": shared.FileInputUnionParam{
      OfFileInputContent: &shared.FileInputContentParam{
        Content: "content",
      },
    },
    },
    Slug: "slug",
    Targets: []stainless.Target{stainless.TargetNode},
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", project.ConfigRepo)
}
200 Example
{
  "config_repo": "config_repo",
  "display_name": "display_name",
  "object": "project",
  "org": "org",
  "slug": "slug",
  "targets": [
    "node"
  ]
}