--- title: catalogCreate - GraphQL Admin description: >- Creates a [`Catalog`](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Catalog) that controls product availability and pricing for specific contexts like [markets](https://shopify.dev/docs/api/admin-graphql/latest/objects/Market) or B2B [company locations](https://shopify.dev/docs/api/admin-graphql/latest/objects/CompanyLocation). Catalogs use [`Publication`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) objects to determine which products are available and [`PriceList`](https://shopify.dev/docs/api/admin-graphql/latest/objects/PriceList) objects to set custom pricing. You can optionally associate a publication and price list when creating the catalog, or add them later using separate mutations. Learn more about [managing catalog contexts](https://shopify.dev/docs/apps/build/markets/new-markets/catalogs) and [using catalogs for different markets](https://shopify.dev/docs/apps/build/markets/catalogs-different-markets). api_version: 2025-01 api_name: admin type: mutation api_type: graphql source_url: html: 'https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/catalogCreate' md: >- https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/catalogCreate.md --- # catalog​Create mutation Requires `write_products` access scope. Also: The user must have permission to create and edit catalogs. Creates a [`Catalog`](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Catalog) that controls product availability and pricing for specific contexts like [markets](https://shopify.dev/docs/api/admin-graphql/latest/objects/Market) or B2B [company locations](https://shopify.dev/docs/api/admin-graphql/latest/objects/CompanyLocation). Catalogs use [`Publication`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) objects to determine which products are available and [`PriceList`](https://shopify.dev/docs/api/admin-graphql/latest/objects/PriceList) objects to set custom pricing. You can optionally associate a publication and price list when creating the catalog, or add them later using separate mutations. Learn more about [managing catalog contexts](https://shopify.dev/docs/apps/build/markets/new-markets/catalogs) and [using catalogs for different markets](https://shopify.dev/docs/apps/build/markets/catalogs-different-markets). ## Arguments * input [Catalog​Create​Input!](https://shopify.dev/docs/api/admin-graphql/2025-01/input-objects/CatalogCreateInput) required The properties of the new catalog. *** ## Catalog​Create​Payload returns * catalog [Catalog](https://shopify.dev/docs/api/admin-graphql/2025-01/interfaces/Catalog) The newly created catalog. * user​Errors [\[Catalog​User​Error!\]!](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/CatalogUserError) non-null The list of errors that occurred from executing the mutation. *** ## Examples * ### catalogCreate reference ## Mutation Reference ```graphql mutation catalogCreate($input: CatalogCreateInput!) { catalogCreate(input: $input) { catalog { # Catalog fields } userErrors { field message } } } ``` ## Input ##### Variables ```json { "input": { "title": "", "status": "ACTIVE", "context": { "companyLocationIds": [ "gid://shopify//10079785100" ] }, "priceListId": "gid://shopify//10079785100", "publicationId": "gid://shopify//10079785100" } } ``` ##### Schema ```graphql input CatalogCreateInput { title: String! status: CatalogStatus! context: CatalogContextInput! priceListId: ID publicationId: ID } input CatalogContextInput { companyLocationIds: [ID!] } ```