# How to Create a Project https://api-docs.lumar.io/docs/graphql/create-project To create a Project, you must use one of the following mutations based on the desired project type. As a bare minimum, you have to provide the `accountId` in which you are creating your Project, a `name` for your Project, and a `primaryDomain`. The `createProject` mutation has been deprecated and split into four different mutations based on the project type. ### Project Types - **Basic**: Generate basic crawl metrics and add extensions for custom metrics and reports. - **SEO**: Generate SEO reports and metrics to optimize for search engines. - **Accessibility**: Generate Accessibility reports and metrics to optimize for inclusive user experiences and compliance with accessibility standards. - **Site Speed**: Generate Site Speed reports and metrics to optimize for speed performance. ### Basic Project ```graphql mutation CreateBasicProject($input: CreateProjectInput!) { createBasicProject(input: $input) { project { ...ProjectDetails } } } fragment ProjectDetails on Project { id name primaryDomain # ...other fields you want to retrieve } ``` **Variables:** ```json { "input": { "accountId": "TjAwN0FjY291bnQ3MTU", "name": "www.lumar.io Basic Project", "primaryDomain": "https://www.lumar.io/" } } ``` **Response:** ```json { "data": { "createBasicProject": { "project": { "id": "TjAwN1Byb2plY3Q2MTMz", "name": "www.lumar.io Basic Project", "primaryDomain": "https://www.lumar.io/" } } } } ``` Of course, you can pass any of the optional fields at the time of creation. Explore [`CreateProjectInput`](/docs/schema/inputs/create-project-input.md) to see what fields are available. ### SEO Project ```graphql mutation CreateSEOProject($input: CreateProjectInput!) { createSEOProject(input: $input) { project { ...ProjectDetails } } } fragment ProjectDetails on Project { id name primaryDomain # ...other fields you want to retrieve } ``` **Variables:** ```json { "input": { "accountId": "TjAwN0FjY291bnQ3MTU", "name": "www.lumar.io SEO Project", "primaryDomain": "https://www.lumar.io/" } } ``` **Response:** ```json { "data": { "createSEOProject": { "project": { "id": "TjAwN1Byb2plY3Q2MTM0", "name": "www.lumar.io SEO Project", "primaryDomain": "https://www.lumar.io/" } } } } ``` Of course, you can pass any of the optional fields at the time of creation. Explore [`CreateProjectInput`](/docs/schema/inputs/create-project-input.md) to see what fields are available. ### Accessibility Project ```graphql mutation CreateAccessibilityProject($input: CreateAccessibilityProjectInput!) { createAccessibilityProject(input: $input) { project { ...ProjectDetails } } } fragment ProjectDetails on Project { id name primaryDomain # ...other fields you want to retrieve } ``` **Variables:** ```json { "input": { "accountId": "TjAwN0FjY291bnQ3MTU", "name": "www.lumar.io Accessibility Project", "primaryDomain": "https://www.lumar.io/" } } ``` **Response:** ```json { "data": { "createAccessibilityProject": { "project": { "id": "TjAwN1Byb2plY3Q2MTM1", "name": "www.lumar.io Accessibility Project", "primaryDomain": "https://www.lumar.io/" } } } } ``` Of course, you can pass any of the optional fields at the time of creation. Explore [`CreateAccessibilityProjectInput`](/docs/schema/inputs/create-accessibility-project-input.md) to see what fields are available. ### Site Speed Project ```graphql mutation CreateSiteSpeedProject($input: CreateSiteSpeedProjectInput!) { createSiteSpeedProject(input: $input) { project { ...ProjectDetails } } } fragment ProjectDetails on Project { id name primaryDomain # ...other fields you want to retrieve } ``` **Variables:** ```json { "input": { "accountId": "TjAwN0FjY291bnQ3MTU", "name": "www.lumar.io Site Speed Project", "primaryDomain": "https://www.lumar.io/" } } ``` **Response:** ```json { "data": { "createSiteSpeedProject": { "project": { "id": "TjAwN1Byb2plY3Q2MTM2", "name": "www.lumar.io Site Speed Project", "primaryDomain": "https://www.lumar.io/" } } } } ``` Of course, you can pass any of the optional fields at the time of creation. Explore [`CreateSiteSpeedProjectInput`](/docs/schema/inputs/create-site-speed-project-input.md) to see what fields are available.