Skip to main content

How to Create a 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

Operation: mutation CreateBasicProject($input: CreateProjectInput!) { createBasicProject(input: $input) { project { ...ProjectDetails } } } fragment ProjectDetails on Project { id name primaryDomain # ...other fields you want to retrieve }Variables: { "input": { "accountId": "TjAwN0FjY291bnQ3MTU", "name": "www.lumar.io Basic Project", "primaryDomain": "https://www.lumar.io/" } }Response Example: { "data": { "createBasicProject": { "project": { "id": "TjAwN1Byb2plY3Q2MTMz", "name": "www.lumar.io Basic Project", "primaryDomain": "https://www.lumar.io/" } } } }
CreateBasicProjectTry in Explorer
GraphQL
mutation CreateBasicProject($input: CreateProjectInput!) {
createBasicProject(input: $input) {
project {
...ProjectDetails
}
}
}

fragment ProjectDetails on Project {
id
name
primaryDomain
# ...other fields you want to retrieve
}

Of course, you can pass any of the optional fields at the time of creation. Explore CreateProjectInput to see what fields are available.

SEO Project

Operation: mutation CreateSEOProject($input: CreateProjectInput!) { createSEOProject(input: $input) { project { ...ProjectDetails } } } fragment ProjectDetails on Project { id name primaryDomain # ...other fields you want to retrieve }Variables: { "input": { "accountId": "TjAwN0FjY291bnQ3MTU", "name": "www.lumar.io SEO Project", "primaryDomain": "https://www.lumar.io/" } }Response Example: { "data": { "createSEOProject": { "project": { "id": "TjAwN1Byb2plY3Q2MTM0", "name": "www.lumar.io SEO Project", "primaryDomain": "https://www.lumar.io/" } } } }
CreateSEOProjectTry in Explorer
GraphQL
mutation CreateSEOProject($input: CreateProjectInput!) {
createSEOProject(input: $input) {
project {
...ProjectDetails
}
}
}

fragment ProjectDetails on Project {
id
name
primaryDomain
# ...other fields you want to retrieve
}

Of course, you can pass any of the optional fields at the time of creation. Explore CreateProjectInput to see what fields are available.

Accessibility Project

Operation: mutation CreateAccessibilityProject($input: CreateAccessibilityProjectInput!) { createAccessibilityProject(input: $input) { project { ...ProjectDetails } } } fragment ProjectDetails on Project { id name primaryDomain # ...other fields you want to retrieve }Variables: { "input": { "accountId": "TjAwN0FjY291bnQ3MTU", "name": "www.lumar.io Accessibility Project", "primaryDomain": "https://www.lumar.io/" } }Response Example: { "data": { "createAccessibilityProject": { "project": { "id": "TjAwN1Byb2plY3Q2MTM1", "name": "www.lumar.io Accessibility Project", "primaryDomain": "https://www.lumar.io/" } } } }
CreateAccessibilityProjectTry in Explorer
GraphQL
mutation CreateAccessibilityProject($input: CreateAccessibilityProjectInput!) {
createAccessibilityProject(input: $input) {
project {
...ProjectDetails
}
}
}

fragment ProjectDetails on Project {
id
name
primaryDomain
# ...other fields you want to retrieve
}

Of course, you can pass any of the optional fields at the time of creation. Explore CreateAccessibilityProjectInput to see what fields are available.

Site Speed Project

Operation: mutation CreateSiteSpeedProject($input: CreateSiteSpeedProjectInput!) { createSiteSpeedProject(input: $input) { project { ...ProjectDetails } } } fragment ProjectDetails on Project { id name primaryDomain # ...other fields you want to retrieve }Variables: { "input": { "accountId": "TjAwN0FjY291bnQ3MTU", "name": "www.lumar.io Site Speed Project", "primaryDomain": "https://www.lumar.io/" } }Response Example: { "data": { "createSiteSpeedProject": { "project": { "id": "TjAwN1Byb2plY3Q2MTM2", "name": "www.lumar.io Site Speed Project", "primaryDomain": "https://www.lumar.io/" } } } }
CreateSiteSpeedProjectTry in Explorer
GraphQL
mutation CreateSiteSpeedProject($input: CreateSiteSpeedProjectInput!) {
createSiteSpeedProject(input: $input) {
project {
...ProjectDetails
}
}
}

fragment ProjectDetails on Project {
id
name
primaryDomain
# ...other fields you want to retrieve
}

Of course, you can pass any of the optional fields at the time of creation. Explore CreateSiteSpeedProjectInput to see what fields are available.