> ## Documentation Index > Fetch the complete documentation index at: https://support.jacquard.com/llms.txt > Use this file to discover all available pages before exploring further. # Input results > Insert results for a dynamic optimization campaign that is in progress. These results are submitted per batch, and per variant. Currently we accept data on opens, clicks, and unsubs. These results are AGGREGATED results intended to be submitted on a batched basis, even if the language source is the realtime API. This is a complimentary results input method to our tracking pixel and can be used in conjunction with that. ## OpenAPI ````json POST /v2/results/campaigns/{campaign_id} { "openapi": "3.0.0", "info": { "title": "Jacquard Connect API", "description": "# Jacquard - Connect API\n\nConnect is an API to give access to Jacquard services. Using connect clients can access basic reference data, submit results, and utilise the continuous optimisation service.\n\n## Glossary\n\n- Account – the holder for a given company\n \n- Project – a collection of Jacquard experiments linked\n \n- Campaign – an individual split test containing generated language variants\n \n- User – users are granted access to a specified list of projects within Jacquard users can access any campaigns that were created within the projects that they have access to\n \n- Access tokens\n \n\n```\nTo access the Connect API you will need a valid bearer token passed in the Authorization header of your requests. There are 2 types of tokens: Access tokens come in 2 types, user and server. User tokens are generated automatically by a user logging into the Jacquard UI. Server access tokens are generated by Jacquard and provided to clients on an ad hoc basis. \nJacquard provides a facility to generate access tokens these tokens are granted permissions to access specified projects within an account when accessing the API. There could either be a single token with access to the entire account EG for a centralised email ops team. Or multiple tokens with access to specific projects for de-centralised email ops teams. \nUser access tokens can be refreshed in the Jacquard UI and will expire after 2 weeks. Server access tokens do not have an expiry setting.\n\n ```\n\nContact Support: \nEmail: [support@jacquard.com](https://mailto:support@jacquard.com)", "version": "1.0.0" }, "servers": [ { "url": "https://connect.phrasee.co" } ], "security": [ { "bearerAuth": [] } ], "tags": [ { "name": "auth" }, { "name": "auth > check" }, { "name": "accounts" }, { "name": "accounts > {accountid}" }, { "name": "accounts > {accountid} > users" }, { "name": "accounts > {accountid} > projects" }, { "name": "users" }, { "name": "users > {userid}" }, { "name": "users > {userid} > projects" }, { "name": "projects" }, { "name": "projects > {projectid}" }, { "name": "projects > {projectid} > campaigns" }, { "name": "campaigns" }, { "name": "campaigns > {campaignid}" }, { "name": "campaigns > {campaignid} > variants" }, { "name": "results" }, { "name": "results > campaigns" }, { "name": "results > campaigns > {campaign_id}" }, { "name": "variants" }, { "name": "variants > {variantid}" }, { "name": "Dynamic optimization" }, { "name": "Dynamic optimization > Dynamic optimization" }, { "name": "Dynamic optimization > Dynamic optimization > campaigns" }, { "name": "Dynamic optimization > Dynamic optimization > campaigns > {campaign_id}" }, { "name": "Dynamic optimization > Dynamic optimization > campaigns > {campaign_id} > batch-trigger" }, { "name": "live" }, { "name": "live > single_variant" } ], "paths": { "/v2/results/campaigns/{campaign_id}": { "post": { "tags": [ "results > campaigns > {campaign_id}" ], "summary": "Input results", "description": "Insert results for a dynamic optimization campaign that is in progress. These results are submitted per batch, and per variant. Currently we accept data on opens, clicks, and unsubs. \nThese results are AGGREGATED results intended to be submitted on a batched basis, even if the language source is the realtime API. This is a complimentary results input method to our tracking pixel and can be used in conjunction with that.", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "example": { "data": [ { "language_variant_id": "5e37f878f9762374ce288fb8", "number_of_recipients": 5, "unique_clicks": 3, "unique_opens": 2, "in_test": true, "is_winner": true, "estimated_opens": 1, "estimated_open_rate": 2, "phrasee_score": 1, "phrasee_score_rate": 2, "clicks_to_opens": 1, "clicks_to_sends": 2, "unsubscribes": 1, "direct_opens": 2, "influenced_opens": 1, "conversions": 2, "revenue": 1 }, { "language_variant_id": "5e37f878f9762374ce288fb8", "number_of_recipients": 5, "unique_clicks": 3, "unique_opens": 2, "in_test": true, "is_winner": true, "estimated_opens": 1, "estimated_open_rate": 2, "phrasee_score": 1, "phrasee_score_rate": 2, "clicks_to_opens": 1, "clicks_to_sends": 2, "unsubscribes": 1, "direct_opens": 2, "influenced_opens": 1, "conversions": 2, "revenue": 1 } ] } } } } }, "parameters": [ { "name": "Content-Type", "in": "header", "schema": { "type": "string" }, "example": "application/json" }, { "name": "format", "in": "query", "schema": { "type": "string" }, "description": "indicates the format of the results being submitted, use acs for adobe campaigns", "example": "acs" }, { "name": "campaign_id", "in": "path", "schema": { "type": "string" }, "required": true, "description": "(Required) Campaign Id", "example": "ad Ut" } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "string" }, "example": "" } } }, "401": { "description": "Unauthorized", "content": { "text/plain": { "schema": { "type": "string" }, "example": "" } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "type": "string" }, "example": "" } } } } } } }, "components": { "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer" } } } } ````