openapi: 3.0.0 info: title: VTex Anti-fraud Provider Account Reports 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: Reports paths: /api/rns/pvt/reports: get: tags: - Reports summary: VTex List report templates description: List all report templates available. parameters: - name: Content-Type in: header description: Type of the content being sent. required: true style: simple schema: type: string example: application/json - name: Accept in: header description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true style: simple schema: type: string example: application/json responses: '200': description: Requested report templates content: text/plain: schema: type: array items: $ref: '#/components/schemas/SubscriptionReport' application/json: schema: type: array items: $ref: '#/components/schemas/SubscriptionReport' text/json: schema: type: array items: $ref: '#/components/schemas/SubscriptionReport' /api/rns/pvt/reports/{reportName}/documents/{documentId}: get: tags: - Reports summary: VTex Get report document details description: Retrieve a specific report document by its Id. parameters: - name: reportName in: path required: true description: Name of the report schema: type: string nullable: true - name: documentId in: path required: true description: Id from the desired report document schema: type: string nullable: true - name: Content-Type in: header description: Type of the content being sent. required: true style: simple schema: type: string example: application/json - name: Accept in: header description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true style: simple schema: type: string example: application/json responses: '200': description: Requested report document content: text/plain: schema: $ref: '#/components/schemas/ReportResponse' application/json: schema: $ref: '#/components/schemas/ReportResponse' text/json: schema: $ref: '#/components/schemas/ReportResponse' /api/rns/pvt/reports/{reportName}/documents: post: tags: - Reports summary: VTex Generate report description: "This endpoint creates a new report in the format of a CSV file and sends it via email. You can generate one of the following reports: \n\n - subscriptionsWithStatus \n\n - subscriptionsScheduledBetweenDate \n\n - subscriptionsUpdatedBetweenDate \n\n - subscriptionsCreatedBetweenDate \n\n - executionsBetweenDate" parameters: - name: reportName in: path required: true description: "Name of the type of report in wish to generate. The following values are accepted: \n\n - `subscriptionsWithStatus` \n\n - `subscriptionsScheduledBetweenDate` \n\n - `subscriptionsUpdatedBetweenDate` \n\n - `subscriptionsCreatedBetweenDate` \n\n - `executionsBetweenDate`" schema: type: string nullable: true - name: email in: query description: The report is sent to the email in this field. schema: type: string nullable: false default: receiver@email.com - name: beginDate in: query description: Start date of the report with the format `yyyy-mm-dd`. This field is required for any type of report. schema: type: string default: '2022-09-01' - name: endDate in: query description: End date of the report with the format `yyyy-mm-dd`. This field is required for any type of report. schema: type: string default: '2022-10-01' - name: Content-Type in: header description: Type of the content being sent. required: true style: simple schema: type: string example: application/json - name: Accept in: header description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true style: simple schema: type: string example: application/json responses: '200': description: Requested report content: text/plain: schema: $ref: '#/components/schemas/ReportResponse' application/json: schema: $ref: '#/components/schemas/ReportResponse' text/json: schema: $ref: '#/components/schemas/ReportResponse' components: schemas: ReportResponse: type: object properties: id: type: string nullable: true finished: type: boolean recordsProcessed: type: integer format: int64 readOnly: true recordsSum: type: integer format: int64 nullable: true startDate: type: string format: date-time nullable: true lastUpdateTime: type: string format: date-time nullable: true completedDate: type: string format: date-time nullable: true errorCount: type: integer format: int64 nullable: true percentageProcessed: type: integer format: int64 enqueueDate: type: string format: date-time nullable: true email: type: string nullable: true canceled: type: boolean outputType: type: string nullable: true zipped: type: boolean linkToDownload: type: string nullable: true lastErrorMessage: type: string nullable: true statusMessage: type: string nullable: true readOnly: true additionalProperties: false SubscriptionReport: type: object properties: account: type: string nullable: true key: type: string nullable: true name: type: string nullable: true description: type: string nullable: true requesterEmail: type: string nullable: true entity: type: string nullable: true schema: type: string nullable: true query: type: string nullable: true params: type: array items: $ref: '#/components/schemas/SubscriptionReportParam' nullable: true additionalProperties: false SubscriptionReportParam: type: object properties: name: type: string nullable: true type: type: string nullable: true value: nullable: true additionalProperties: false 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.'