openapi: 3.0.0 info: title: VTex Anti-fraud Provider Account Pages API description: ">ℹ️ Onboarding guide\r\n>\r\n> Check the new [Payments onboarding guide](https://developers.vtex.com/docs/guides/payments-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Payments and is organized by focusing on the developer's journey.\r\n\r\nThe Anti-fraud Provider Protocol is a set of definitions to help you integrate your anti-fraud service API into VTEX platform.\r\n\r\nTo achieve this, you need to implement a web API (REST) following the specifications described in this documentation.\r\n\r\n>⚠️ You can also access our [template on GitHub](https://github.com/vtex-apps/antifraud-provider-example) to help you quickly develop your anti-fraud connector using the Anti-fraud Provider Protocol and VTEX IO.\r\n\r\nTo learn more about the Anti-fraud Provider Protocol, check our [developer guide](https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works).\r\n\r\n## Anti-fraud Provider API Index\r\n\r\n### Anti-fraud Flow\r\n\r\n- `POST` [Send Anti-fraud Pre-Analysis Data (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/pre-analysis)\r\n- `POST` [Send Anti-fraud Data](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/transactions)\r\n- `PUT` [Update Anti-fraud Transactions (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#put-/transactions/-transactionId-)\r\n- `GET` [List Anti-fraud Provider Manifest](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/manifest)\r\n- `GET` [Get Anti-fraud Status](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/transactions/-transactions.id-)\r\n- `DELETE` [Stop Anti-fraud Analysis (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#delete-/transactions/-transactions.Id-)\r\n\r\n### OAuth Flow\r\n\r\n1. `POST` [Retrieve Token](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/authorization/token)\r\n2. `GET` [Redirect](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/redirect)\r\n3. `GET` [Return to VTEX](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorizationCode)\r\n4. `GET` [Get Credentials](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorization/credentials)" version: '1.0' servers: - url: https://{providerApiEndpoint} description: Anti-fraud provider endpoint URL. variables: providerApiEndpoint: description: Anti-fraud provider endpoint URL. default: '{providerApiEndpoint}' tags: - name: Pages paths: /_v/cms/api/{projectId}: get: summary: VTex Get all content types tags: - Pages description: "Retrieves data from all Content Types.\r\n\r\n## Permissions\n\nAny user or [application key](https://developers.vtex.com/docs/guides/authentication-overview#application-keys) must have the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise, they will receive a status code `403` error. These are the applicable resources for this endpoint:\n\n| **Product** | **Category** | **Resource** |\n| --------------- | ----------------- | ----------------- |\n| CMS | cms | **See CMS menu on the top-bar** |\n| CMS | cms | **Settings** |\n| CMS | GraphQL | **CMS GraphQL API** | \n\n There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add the resources above to use this endpoint.\r\n\r\nTo learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication-overview#machine-authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations." operationId: GetAllContentTypes parameters: - name: projectId in: path description: Project ID specified in the settings of the CMS (alpha) app. required: true style: simple schema: type: string example: faststore responses: '200': description: OK headers: {} content: application/json: schema: description: Response body object. type: object properties: contentTypes: description: Array with data of each content type. type: array items: description: Object with data of a specific content type. type: object properties: id: description: Content type identifier specified in the FastStore project. type: string name: description: Content type name specified in the FastStore project. type: string configurationSchemaSets: description: Array with data of the `configurationSchemaSets` tabs specified in the FastStore project. type: array items: description: Object with data about a specific content type tab. type: object properties: name: description: Name of the content type tab. type: string configurations: description: Custom configurations of the content type tab, which may vary based on the content type schema defined in the FastStore project. type: array items: type: object description: Object with custom configurations of the content type tab. properties: name: description: Section of a form. type: string schema: type: object description: Customizable [JSON schema](https://json-schema.org/learn/getting-started-step-by-step). required: - title - description properties: title: type: string description: Section title. description: type: string description: Section description. widget: type: object description: '[Widget](https://v1.faststore.dev/tutorials/cms-storecomponents/3#using-widgets) to be used in the UI. Should be filled with [`uiSchema`](https://react-jsonschema-form.readthedocs.io/en/docs/api-reference/uiSchema/) along with [`widgets`](https://react-jsonschema-form.readthedocs.io/en/docs/usage/widgets/) to specify which UI widget should be used to render a given field of your schema. The format should be `"{uiSchema}": "{widgetName}"`.' additionalProperties: true additionalProperties: true example: contentTypes: - id: home name: Home Page configurationSchemaSets: [] - id: plp name: PLP configurationSchemaSets: - name: Parameters configurations: - name: Collection schema: title: Collection description: Definition of a Collection for the CMS. oneOf: - title: Category description: Configure a Category. type: object required: - categoryId - sort properties: categoryId: title: Category ID description: Category identifier to organize the store's products. type: string sort: title: Default ordering description: Organizes and displays a set of products based on filters. type: string default: '""' enum: - '""' - discount:desc - release:desc - name:asc - name:desc - orders:desc - price:asc - price:desc enumNames: - Relevance - Discount - Release date - Name, ascending - Name, descending - Sales - 'Price: Low to High' - 'Price: High to Low' - title: Brand description: Configure a brand page. type: object required: - brandId - sort properties: brandId: title: Brand ID description: Brand identifier to categorize a group of products. type: string sort: title: Default ordering description: Organizes and displays a set of products based on filters. type: string enum: - '""' - discount:desc - release:desc - name:asc - name:desc - orders:desc - price:asc - price:desc enumNames: - Relevance - Discount - Release date - Name, ascending - Name, descending - Sales - 'Price: Low to High' - 'Price: High to Low' - title: Collection description: Configure a collection page. type: object required: - clusterId - sort - seo properties: clusterId: title: Collection ID description: Collection identifier to categorize a group of products. type: string sort: title: Default ordering description: Organizes and displays a set of products based on filters. type: string default: '""' enum: - '""' - discount:desc - release:desc - name:asc - name:desc - orders:desc - price:asc - price:desc enumNames: - Relevance - Discount - Release date - Name, ascending - Name, descending - Sales - 'Price: Low to High' - 'Price: High to Low' seo: type: object title: Seo description: Search Engine Optimization options. widget: ui:ObjectFieldTemplate: GoogleSeoPreview required: - title - description - slug properties: title: type: string title: Title description: Title that appears in the browser tab and is suggested for search engines. default: Page title slug: type: string title: URL slug description: Final part of the page's address. No spaces allowed. default: /path/to/page pattern: ^/([a-zA-Z0-9]|-|/|_)* description: type: string title: Description (Meta description) description: Suggested meta description for search engines. default: Page description - id: institutionalPage name: Institutional page configurationSchemaSets: - name: SEO configurations: - name: siteMetadataWithSlug schema: title: Site Metadata description: Configure global site metadata. type: object widget: ui:ObjectFieldTemplate: GoogleSeoPreview properties: title: title: Default page title description: Display this title when no other title is available. type: string default: Store Theme | VTEX FastStore description: title: Meta tag description description: Meta tag description. A HTML tag that provides a concise summary of a web page. type: string default: A beautifully designed site for general VTEX stores. titleTemplate: title: Title template description: Title template to be used in category/product pages. type: string default: '%s | Store Theme' slug: title: URL Slug description: Part of the URL to identify a particular page or product. type: string default: /landing-page-url '404': description: Not Found headers: {} content: application/json: schema: type: object description: Response body object. properties: code: type: string description: Error type code. message: type: string description: Error message. source: type: string description: Error source. requestId: type: string description: VTEX request identifier. example: code: NotFound message: storeframework.myvtex.com.br not found source: Vtex.Kube.Router.WebApi requestId: b49522afa7c94b76885450f652be7bfc '500': description: Internal Server Error headers: {} content: {} deprecated: false /_v/cms/api/{projectId}/{content-type}: get: summary: VTex Get all CMS pages by content type tags: - Pages description: "Gets data from all pages of a given content type.\r\n\r\n## Permissions\n\nAny user or [application key](https://developers.vtex.com/docs/guides/authentication-overview#application-keys) must have the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise, they will receive a status code `403` error. These are the applicable resources for this endpoint:\n\n| **Product** | **Category** | **Resource** |\n| --------------- | ----------------- | ----------------- |\n| CMS | cms | **See CMS menu on the top-bar** |\n| CMS | cms | **Settings** |\n| CMS | GraphQL | **CMS GraphQL API** | \n\n There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add the resources above to use this endpoint.\r\n\r\nTo learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication-overview#machine-authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations." operationId: GetPagesbyContentType parameters: - name: projectId in: path description: Project ID specified in the settings of the CMS (alpha) app. required: true style: simple schema: type: string example: faststore - name: content-type in: path description: Content type identifier defined in the FastStore project. required: true style: simple schema: type: string example: plp - name: versionId in: query description: Version ID presented in the URL path of a CMS preview. style: form explode: true schema: type: string example: e7263fc8-bc68-4052-9e25-dd5a2572d3bb - name: releaseId in: query description: Release ID presented in the URL path of a CMS preview. style: form explode: true schema: type: string example: 6196c277c6dce15f9709a2a7 - name: filters[{field}] in: query description: 'Filter results by a property of the page (e.g., `filters[status]`) or by a nested custom field of the `parameters` object (e.g., `filters[parameters.collection.sort]`). *Replace {field} with the desired property.*' style: form explode: true schema: type: string example: published responses: '200': description: OK headers: {} content: application/json: schema: type: object properties: hasNextPage: description: Indicates if there are more items to fetch. type: boolean totalItems: description: Total number of results. type: integer data: description: Array with data from all pages of the given content type. type: array items: description: Object with data from a specific page. type: object properties: id: description: Document ID presented in the URL path of a CMS preview. type: string name: description: Name of the page created via the CMS interface. type: string type: description: Name of the content type defined in the FastStore project. type: string status: description: Current status of the page. type: string versionId: description: Version ID. type: string versionStatus: description: Version status. type: string sections: description: Sections that compose the page. type: array items: description: Object with data about a specific section. type: object properties: id: description: Section ID. type: string name: description: Section name. type: string data: description: Custom field values of the Section. Varies depending on the Section schema defined in the FastStore project. type: object parameters: description: Object with the configuration values of a `configurationSchemaSets` tab. Varies depending on the content type schema defined in the FastStore project. type: object example: hasNextPage: false totalItems: 2 data: - id: d05d3db8-62b2-4f0b-9b70-d6d25ff29b6e name: Electronics type: plp status: published versionId: ed51d1cd-e020-4f16-b48b-ca83e720472d versionStatus: published sections: - id: '1632244409269' name: RichText data: content: '{"blocks":[{"key":"dtg7g","text":"-","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}' - id: '1632244445091' name: RichText data: content: '{"blocks":[{"key":"2qtft","text":",","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}' parameters: collection: sort: '""' brandId: '123' - id: 4ab6388d-79e6-492f-adda-3e251b85eeb6 name: Beauty type: plp status: published versionId: 95f940d4-584e-4b3d-9872-8c713ba42583 versionStatus: published sections: - id: '1643319987751' name: SearchBanner data: desktop: srcSet: https://storecomponents.vtexassets.com/assets/vtex.file-manager-graphql/images/dda7c17e-5182-4439-b5af-94f651e2d835___1ef09be73ec9e80c719da13432666441.jpeg mobile: srcSet: https://storecomponents.vtexassets.com/assets/vtex.file-manager-graphql/images/ed8ef334-c1e5-4269-8728-34dbffeda424___1ef09be73ec9e80c719da13432666441.jpeg title: beauty description: beauty products alt: beauty parameters: collection: sort: '""' seo: title: Page title slug: /beauty description: beauty products clusterId: '1182' '404': description: Not Found headers: {} content: application/json: schema: type: object description: Response body object. properties: code: type: string description: Error type code. message: type: string description: Error message. source: type: string description: Error source. requestId: type: string description: VTEX request identifier. example: code: NotFound message: storeframework.myvtex.com.br not found source: Vtex.Kube.Router.WebApi requestId: b49522afa7c94b76885450f652be7bfc '500': description: Internal Server Error headers: {} content: {} deprecated: false /_v/cms/api/{projectId}/{content-type}/{document-id}: get: summary: VTex Get CMS page tags: - Pages description: "Gets all data from a given page.\r\n\r\n## Permissions\n\nAny user or [application key](https://developers.vtex.com/docs/guides/authentication-overview#application-keys) must have the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise, they will receive a status code `403` error. These are the applicable resources for this endpoint:\n\n| **Product** | **Category** | **Resource** |\n| --------------- | ----------------- | ----------------- |\n| CMS | cms | **See CMS menu on the top-bar** |\n| CMS | cms | **Settings** |\n| CMS | GraphQL | **CMS GraphQL API** | \n\n There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add the resources above to use this endpoint.\r\n\r\nTo learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication-overview#machine-authentication).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations." operationId: GetCMSpage parameters: - name: projectId in: path description: Project ID specified in the settings of the CMS (alpha) app. required: true style: simple schema: type: string example: faststore - name: content-type in: path description: Content type ID defined in the FastStore project. required: true style: simple schema: type: string example: plp - name: document-id in: path description: Document ID presented in the URL path of a CMS preview. required: true style: simple schema: type: string example: 5af643b5-9a6d-48f2-9b34-919dd762c908 - name: versionId in: query description: Version ID presented in the URL path of a CMS preview. style: form explode: true schema: type: string example: e7263fc8-bc68-4052-9e25-dd5a2572d3bb - name: releaseId in: query description: Release ID presented in the URL path of a CMS preview. style: form explode: true schema: type: string example: 6196c277c6dce15f9709a2a7 responses: '200': description: OK headers: {} content: application/json: example: id: ad2fd81d-a53c-4281-8d01-a4fc2f274db3 name: Home type: home status: published versionId: e3867e2c-7082-4fe6-83ed-c473242b6970 versionStatus: publishing sections: - id: '1651804180614' name: Alert data: dismissible: true icon: Bell text: alert text linkText: alert link actionLink: link.url.com - id: '1647286556072' name: Hero data: imageSrc: https://storeframework.vtexassets.com/assets/vtex.file-manager-graphql/images/299f7d32-bb6a-40fd-82a0-4af5573ba572___17239443c00c1e894cff10ca05018058.jpg title: New Products Available subtitle: At FastStore you can shop the best tech of 2022. Enjoy and get 10% off on your first purchase. linkText: See all link: /office imageAlt: hero image - id: '1649293076336' name: ProductShelf data: first: 5 after: '0' sort: score_desc selectedFacets: - key: productClusterIds value: '140' title: Most Wanted! - id: '1649293548351' name: ProductTiles data: first: 3 after: '0' sort: score_desc selectedFacets: - key: productClusterIds value: '141' title: Just Arrived - id: '1647286735093' name: BannerText data: title: Receive our news and promotions in advance. caption: Enjoy and get 10% off on your first purchase!! actionPath: /office actionLabel: See all - id: '1649293131632' name: ProductShelf data: first: 5 after: '0' sort: score_desc selectedFacets: - key: productClusterIds value: '142' title: Deals & Promotions schema: description: Object containing the data related to a specific page. type: object required: - id - name - type - status properties: id: description: Document ID. type: string name: description: Name of the page created in the CMS app. type: string type: description: Name of the content type defined in the FastStore project. type: string status: description: Current status of the page. type: string versionId: description: Version ID. type: string versionStatus: description: Version status. type: string sections: description: Sections that compose the page. type: array items: description: Object with data about a specific section. type: object required: - id - name - data properties: id: description: Section ID. type: string name: description: Section name. type: string data: description: Content of the Section. Varies depending on the Section schema defined in the FastStore project. type: object '404': description: Not Found headers: {} content: application/json: schema: type: object description: Response body object. properties: code: type: string description: Error type code. message: type: string description: Error message. source: type: string description: Error source. requestId: type: string description: VTEX request identifier. example: code: NotFound message: storeframework.myvtex.com.br not found source: Vtex.Kube.Router.WebApi requestId: b49522afa7c94b76885450f652be7bfc '500': description: Internal Server Error headers: {} content: {} deprecated: false components: securitySchemes: VtexIdclientAutCookie: type: apiKey in: header name: VtexIdclientAutCookie description: '[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours.'