{
  "info": {
    "_postman_id": "524a163a-f616-4ea7-912a-5b998b641c16",
    "name": "flow_external_api_v",
    "description": "# 🚀 Get started here\n\nThis template guides you through GraphQL Endpoints of our SpeechMind API V2.\n\nFill out all the missing values in the Variables-Tab.\n\nUse new values for unique_object_name for each of the documents you want to create.\n\n## 🔖 Further details\n\nSee our website:\n\n[https://speechmind.com/api-docs/v2/](https://speechmind.com/api-docs/v2/)\n\n[https://speechmind.com/tutorials-v2/](https://speechmind.com/tutorials-v2/)",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Get all projects",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "query GetAllProjects{\r\n    getAllProjects{\r\n        slug\r\n        name\r\n    }\r\n}",
            "variables": ""
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Get protocols by project",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment protocolDetails on ApiProtocolType {\r\n  slug\r\n  name\r\n  status\r\n  date\r\n  language\r\n  empty\r\n  creatingStep\r\n  status\r\n}\r\n\r\nquery GetProtocolsByProject($slug: String!){\r\n    getProtocolsByProject(slug: $slug){\r\n        ...protocolDetails\r\n    }\r\n}",
            "variables": "{\r\n    \"slug\": {{project_slug}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Get protocol by slug",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment protocolDetails on ApiProtocolType {\r\n  slug\r\n  name\r\n  status\r\n  date\r\n  language\r\n  empty\r\n  creatingStep\r\n  creatingStepList\r\n  status\r\n}\r\n\r\nfragment speakerDetails on ApiSpeakerType{\r\n    slug\r\n    gender\r\n    familyName\r\n    givenName\r\n    party\r\n    preTitle\r\n    postTitle\r\n    posShort\r\n    posLong\r\n    systemId\r\n}\r\n\r\nfragment summaryPerSpeakerDetails on ApiSummaryPerSpeakerItemTypeWithSpeaker{\r\n    speakerObj{\r\n        ...speakerDetails\r\n    }\r\n    textList\r\n    speakerSuggestion\r\n}\r\n\r\nquery GetProtocolBySlug($protocolSlug: String!){\r\n    getProtocolBySlug(protocolSlug: $protocolSlug){\r\n        serverLoad\r\n        protocol{\r\n            ...protocolDetails\r\n        }\r\n        speakerList\r\n        summaryPerSpeakerList{\r\n            ...summaryPerSpeakerDetails\r\n        }\r\n        attendees{\r\n            ...speakerDetails\r\n        }\r\n    }\r\n}",
            "variables": "{\r\n    \"protocolSlug\": {{protocol_slug}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Get results",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment protocolDetails on ApiProtocolType {\r\n  slug\r\n  name\r\n  status\r\n  date\r\n  language\r\n  empty\r\n  creatingStep\r\n  status\r\n}\r\n\r\n\r\nfragment agendaItemDetails on ApiAgendaItemType{\r\n    id\r\n    classType\r\n    title\r\n    depth\r\n    maxDepth\r\n    textList\r\n    resolutionList {\r\n        decision\r\n        resolution\r\n    }\r\n    texts {\r\n        depth\r\n        name\r\n        text\r\n        hasBulletpoints\r\n    }\r\n    resolutions {\r\n        id\r\n        resolution\r\n        decision\r\n        positiveVote\r\n        negativeVote\r\n        neutralVote\r\n        numberAttendees\r\n    }\r\n}\r\n\r\nfragment taskItemDetails on ApiTaskType{\r\n    id\r\n    text\r\n    date\r\n    assignedTo\r\n    done\r\n}\r\n\r\n\r\nquery GetResults($protocolSlug: String!){\r\n    getResults(protocolSlug: $protocolSlug){\r\n        creationDone\r\n        protocol{\r\n            ...protocolDetails\r\n        }\r\n        agendaItemList{\r\n            ...agendaItemDetails\r\n        }\r\n        taskItemList{\r\n            ...taskItemDetails\r\n        }\r\n    }\r\n}",
            "variables": "{\r\n    \"protocolSlug\": {{protocol_slug}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Get upload url",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment awsUrlObject on AWSUrlObject {\r\n    url\r\n    fields\r\n}\r\n\r\nquery GetUploadUrl($uniqueObjName: String!) {\r\n  getUploadUrl(uniqueObjName: $uniqueObjName) {\r\n    ...awsUrlObject\r\n  }\r\n}",
            "variables": "{\r\n    \"uniqueObjName\": {{unique_object_name}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Get rephrase element by protocol slug",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "query GetRephraseElementByProtocolSlug($protocolSlug: String!){\r\n    getRephraseElementByProtocolSlug(protocolSlug: $protocolSlug){\r\n        agendaItemId\r\n        agendaItemDepth\r\n        refactoredSuggestion\r\n    }\r\n}",
            "variables": "{\r\n    \"protocolSlug\": {{protocol_slug}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Get transcript by protocol slug",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment transcriptDetails on TranscriptSegment{\r\n    text\r\n    startTime\r\n    endTime\r\n}\r\n\r\nfragment speakerDetails on ApiSpeakerType{\r\n    slug\r\n    givenName\r\n    familyName\r\n    preTitle\r\n    postTitle\r\n    gender\r\n    party\r\n    posLong\r\n    posShort\r\n    systemId\r\n}\r\n\r\nquery GetTextsegmentsByProtocolAndPage($protocolSlug:String!, $page:Int!){\r\n  getTextsegmentsByProtocolAndPage(protocolSlug:$protocolSlug, page:$page){\r\n    textsegmentList{\r\n      id\r\n      speakerObj{\r\n        ...speakerDetails\r\n      }\r\n      textJson{\r\n        ...transcriptDetails\r\n      }\r\n      pos\r\n    }\r\n  }\r\n}",
            "variables": "{\r\n    \"protocolSlug\": {{protocol_slug}},\r\n    \"page\": 1\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Get transcript by agenda item id",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment transcriptDetails on TranscriptSegment{\r\n    text\r\n    startTime\r\n    endTime\r\n}\r\n\r\nfragment apiSpeakerDetails on ApiSpeakerType{\r\n    slug\r\n    gender\r\n    givenName\r\n    familyName\r\n    preTitle\r\n    postTitle\r\n    posShort\r\n    posLong\r\n    systemId\r\n}\r\n\r\nquery GetTranscriptByAgendaItemId($protocolSlug:String!, $agendaItemId:String!){\r\n  getTranscriptByAgendaItemId(protocolSlug:$protocolSlug, agendaItemId:$agendaItemId){\r\n    id\r\n    speakerObj{\r\n        ...apiSpeakerDetails\r\n    }\r\n    textJson{\r\n        ...transcriptDetails\r\n    }\r\n    pos\r\n  }\r\n}",
            "variables": "{\r\n    \"protocolSlug\": {{protocol_slug}},\r\n    \"agendaItemId\": {{agenda_item_id}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Get usage records by api key",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "query GetUsageRecordsByApiKey{\r\n    getUsageRecordsByApiKey{\r\n        id\r\n        email\r\n        amount\r\n        createdAt\r\n    }\r\n}",
            "variables": ""
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Upload file",
      "request": {
        "auth": {
          "type": "noauth"
        },
        "method": "POST",
        "header": [],
        "body": {
          "mode": "formdata",
          "formdata": [
            {
              "key": "Content-Type",
              "value": "multipart/form-data",
              "type": "text"
            },
            {
              "key": "key",
              "value": "KEY",
              "type": "text"
            },
            {
              "key": "x-amz-algorithm",
              "value": "AWS4-HMAC-SHA256",
              "type": "text"
            },
            {
              "key": "x-amz-credential",
              "value": "X-AMZ_CREDENTIALS",
              "type": "text"
            },
            {
              "key": "x-amz-date",
              "value": "X-AMZ-DATE",
              "type": "text"
            },
            {
              "key": "policy",
              "value": "TOKEN",
              "type": "text"
            },
            {
              "key": "x-amz-signature",
              "value": "X-AMZ-SIGNATURE",
              "type": "text"
            },
            {
              "key": "file",
              "type": "file",
              "value": null
            }
          ]
        },
        "url": {
          "raw": "UPLOAD_URL",
          "host": [
            "UPLOAD_URL"
          ]
        }
      },
      "response": []
    },
    {
      "name": "Create project",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation CreateProject($name: String!) {\r\n    createProject(name: $name) {\r\n        project {\r\n            slug\r\n            name\r\n        }\r\n    }\r\n}",
            "variables": "{\r\n    \"name\": \"Mein API Testprojekt\"\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        }
      },
      "response": []
    },
    {
      "name": "Create API organization",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation CreateApiOrganization($name: String!){\r\n  createApiOrganization(name:$name){\r\n    organization{\r\n      id\r\n      name\r\n    }\r\n    plainKey\r\n  }\r\n}",
            "variables": "{\r\n   \"name\": \"Mein Organisationsname\"\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        }
      },
      "response": []
    },
    {
      "name": "Delete audio by protocol slug",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment protocolDetails on ApiProtocolType {\r\n  slug\r\n  name\r\n  status\r\n  date\r\n  language\r\n  empty\r\n  creatingStep\r\n  status\r\n}\r\n\r\nmutation DeleteAudioByProtocolSlug($protocolSlug:String!){\r\n  deleteAudioByProtocolSlug(protocolSlug:$protocolSlug){\r\n    success\r\n    protocol{\r\n        ...protocolDetails\r\n    }\r\n  }\r\n}",
            "variables": "{\r\n  \"protocolSlug\": {{protocol_slug}}  \r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Delete protocol",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation DeleteProtocol($protocolSlug:String!){\r\n  deleteProtocol(protocolSlug:$protocolSlug){\r\n    success\r\n  }\r\n}",
            "variables": "{\r\n  \"protocolSlug\": {{protocol_slug}}  \r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Extend agenda item",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation ExtendAgendaItem($agendaItemId:String!, $userInput:String!){\r\n  extendAgendaItem(agendaItemId:$agendaItemId, userInput:$userInput){\r\n    rephraseElement{\r\n      id\r\n      status\r\n      userInput\r\n      rephraseType\r\n    }\r\n  }\r\n}",
            "variables": "{\r\n   \"agendaItemId\": {{agenda_item_id}},\r\n    \"userInput\": \"Schreibe mir den Inhalt 40% länger\"\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Init protocol",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment protocolDetails on ApiProtocolType {\r\n  slug\r\n  name\r\n  status\r\n  date\r\n  language\r\n  empty\r\n  creatingStep\r\n  status\r\n}\r\n\r\nmutation InitProtocol(\r\n  $date: Date!\r\n  $name: String!\r\n  $agendaItemList: [AgendaItemListInput]\r\n  $speakerList: [PersonInputList]\r\n  $projectSlug: String!\r\n  $language: String!\r\n  $uniqueObjName: String!\r\n  $typeOfDocument: String!\r\n  ){\r\n      initProtocol(\r\n        name: $name\r\n        date: $date,\r\n        language: $language,\r\n        typeOfDocument: $typeOfDocument\r\n        agendaItemList: $agendaItemList\r\n        speakerList: $speakerList\r\n        uniqueObjName: $uniqueObjName\r\n        projectSlug: $projectSlug\r\n        ){\r\n        success\r\n        protocol{\r\n          ...protocolDetails\r\n        }\r\n      }\r\n  }\r\n",
            "variables": "{\r\n    \"agendaItemList\": [\r\n      {\r\n        \"title\":\"TOP 1\",\r\n        \"systemId\":\"1\",\r\n        \"startTime\":\"\",\r\n        \"resolution\":\"\"\r\n      },\r\n      {\r\n        \"title\":\"Agenda Point 2\",\r\n        \"systemId\":\"2\",\r\n        \"startTime\":\"\",\r\n        \"resolution\":\"\"\r\n      }\r\n    ], \r\n    \"date\":\"2025-11-20\", \r\n    \"language\":\"de-DE\",\r\n    \"name\":\"Testprotokoll\",\r\n    \"projectSlug\":{{project_slug}},\r\n    \"speakerList\":[{\r\n      \"gender\":\"m\", \r\n      \"givenName\":\"Thomas\",\r\n      \"familyName\":\"Müller\",\r\n      \"party\":\"\",\r\n      \"preTitle\":\"\",\r\n      \"postTitle\":\"\",\r\n      \"systemId\":\"\"\r\n    },{\r\n      \"gender\":\"w\", \r\n      \"givenName\":\"Maxi\",\r\n      \"familyName\":\"Musterfrau\",\r\n      \"party\":\"\",\r\n      \"preTitle\":\"\",\r\n      \"postTitle\":\"\",\r\n      \"systemId\":\"\"\r\n    }],\r\n    \"typeOfDocument\":\"politics\",\r\n    \"uniqueObjName\": {{unique_object_name}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Rephrase agenda item",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation RephraseAgendaItem($agendaItemId:String!, $userInput:String!){\r\n  rephraseAgendaItem(agendaItemId:$agendaItemId, userInput:$userInput){\r\n    rephraseElement{\r\n      id\r\n      status\r\n      userInput\r\n      rephraseType\r\n    }\r\n  }\r\n}",
            "variables": "{\r\n   \"agendaItemId\": {{agenda_item_id}},\r\n    \"userInput\": \"Schreibe mir die Namen anonym\"\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Rename speaker in textsegment",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation RenameSpeakerInTextsegment(\r\n    $protocolSlug: String!\r\n    $speakerList: [SpeakerDataInput]!\r\n){\r\n    renameSpeakerInTextsegment(\r\n        protocolSlug: $protocolSlug\r\n        speakerList: $speakerList\r\n    ){\r\n        success\r\n        nextSteps\r\n    }\r\n}",
            "variables": "{\r\n    \"speakerList\":[{\r\n        \"oldSlug\": {{speaker_slug1}},\r\n        \"gender\":\"m\", \r\n        \"givenName\":\"Thomas\",\r\n        \"familyName\":\"Müller\",\r\n        \"party\":\"\",\r\n        \"preTitle\":\"\",\r\n        \"postTitle\":\"\",\r\n        \"posShort\":\"\",\r\n        \"posLong\":\"\",\r\n        \"systemId\":\"\",\r\n        \"specialCase\":false\r\n    },{\r\n        \"oldSlug\": {{speaker_slug2}},\r\n        \"gender\":\"m\", \r\n        \"givenName\":\"Max\",\r\n        \"familyName\":\"Mustermann\",\r\n        \"party\":\"\",\r\n        \"preTitle\":\"\",\r\n        \"postTitle\":\"\",\r\n        \"posShort\":\"\",\r\n        \"posLong\":\"\",\r\n        \"systemId\":\"\",\r\n        \"specialCase\":false\r\n    }],\r\n    \"protocolSlug\":{{protocol_slug}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Shorten agenda item",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation ShortenAgendaItem($agendaItemId:String!, $userInput:String!){\r\n  shortenAgendaItem(agendaItemId:$agendaItemId, userInput:$userInput){\r\n    rephraseElement{\r\n      id\r\n      status\r\n      userInput\r\n      rephraseType\r\n    }\r\n  }\r\n}",
            "variables": "{\r\n   \"agendaItemId\": {{agenda_item_id}},\r\n    \"userInput\": \"Schreibe mir den Inhalt 40% kürzer\"\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Update all agenda items by depth",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment agendaItemDetails on ApiAgendaItemType{\r\n    id\r\n    classType\r\n    title\r\n    depth\r\n    maxDepth\r\n    textList\r\n    resolutionList {\r\n        decision\r\n        resolution\r\n    }\r\n    texts {\r\n        depth\r\n        name\r\n        text\r\n        hasBulletpoints\r\n    }\r\n    resolutions {\r\n        id\r\n        resolution\r\n        decision\r\n        positiveVote\r\n        negativeVote\r\n        neutralVote\r\n        numberAttendees\r\n    }\r\n}\r\n\r\nmutation UpdateAllAgendaItemsByDepth($depth: Int!, $protocolSlug:String!){\r\n    updateAllAgendaItemsByDepth(depth: $depth, protocolSlug:$protocolSlug){   \r\n        agendaItemList{\r\n            ...agendaItemDetails\r\n        }\r\n        success\r\n    }\r\n}\r\n\r\n",
            "variables": "{\r\n    \"depth\": 0,\r\n    \"protocolSlug\": {{protocol_slug}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Update agenda item by id",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment agendaItemDetails on ApiAgendaItemType{\r\n    id\r\n    classType\r\n    title\r\n    depth\r\n    maxDepth\r\n    textList\r\n    resolutionList {\r\n        decision\r\n        resolution\r\n    }\r\n    texts {\r\n        depth\r\n        name\r\n        text\r\n        hasBulletpoints\r\n    }\r\n    resolutions {\r\n        id\r\n        resolution\r\n        decision\r\n        positiveVote\r\n        negativeVote\r\n        neutralVote\r\n        numberAttendees\r\n    }\r\n}\r\n\r\nmutation UpdateAgendaItemById($agendaItem: AgendaItemInput!, $agendaItemId: Int!){\r\n    updateAgendaItemById(agendaItem: $agendaItem, agendaItemId:$agendaItemId){\r\n        agendaItem{\r\n            ...agendaItemDetails\r\n        }\r\n    }\r\n}\r\n\r\n",
            "variables": "{\r\n    \"agendaItem\":{\r\n        \"title\":\"TOP 1\",\r\n        \"systemId\":\"TOP-1-RIS\",\r\n        \"depth\":0,\r\n        \"textList\":[\r\n            {\r\n                \"depth\": \"0\",\r\n                \"sentenceList\": [\"Test\", \"text 2\"]\r\n            }, {\r\n                \"depth\": \"1\",\r\n                \"sentenceList\": [\"Test\", \"text 2\"]\r\n            }\r\n        ],\r\n        \"resolutionList\":[{\r\n            \"resolution\": \"Beschluss\",\r\n            \"decision\": \"Text\"\r\n        }]\r\n    },\r\n    \"agendaItemId\": {{agenda_item_id}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        },
        "description": "This is a GET request and it is used to \"get\" data from an endpoint. There is no request body for a GET request, but you can use query parameters to help specify the resource you want data on (e.g., in this request, we have `id=1`).\n\nA successful GET response will have a `200 OK` status, and should include some kind of response body - for example, HTML web content or JSON data."
      },
      "response": []
    },
    {
      "name": "Init protocol multi",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "fragment protocolDetails on ApiProtocolType {\r\n  slug\r\n  name\r\n  status\r\n  date\r\n  language\r\n  empty\r\n  creatingStep\r\n  status\r\n}\r\n\r\nmutation InitProtocolMulti(\r\n  $uniqueObjNames: [String!]!\r\n  $projectSlug: String!\r\n  $name: String!\r\n  $date: Date!\r\n  $language: String!\r\n  $typeOfDocument: String!\r\n  $addressConfig: AddressConfigInput\r\n  $agendaItemList: [AgendaItemListInput]\r\n  $speakerList: [PersonInputList]\r\n) {\r\n  initProtocolMulti(\r\n    uniqueObjNames: $uniqueObjNames\r\n    projectSlug: $projectSlug\r\n    name: $name\r\n    date: $date\r\n    language: $language\r\n    typeOfDocument: $typeOfDocument\r\n    addressConfig: $addressConfig\r\n    agendaItemList: $agendaItemList\r\n    speakerList: $speakerList\r\n  ) {\r\n    success\r\n    protocol {\r\n      ...protocolDetails\r\n    }\r\n  }\r\n}",
            "variables": "{\r\n    \"uniqueObjNames\": [{{unique_object_name}}],\r\n    \"projectSlug\": {{project_slug}},\r\n    \"name\": \"Testprotokoll Multi\",\r\n    \"date\": \"2025-11-20\",\r\n    \"language\": \"de-DE\",\r\n    \"typeOfDocument\": \"politics\",\r\n    \"addressConfig\": {\r\n        \"gender\": true,\r\n        \"givenName\": true,\r\n        \"familyName\": true,\r\n        \"preTitle\": true,\r\n        \"postTitle\": false,\r\n        \"party\": true,\r\n        \"posLong\": true,\r\n        \"posShort\": false\r\n    },\r\n    \"agendaItemList\": [\r\n        { \"title\": \"TOP 1\", \"systemId\": \"1\", \"startTime\": \"\" },\r\n        { \"title\": \"TOP 2\", \"systemId\": \"2\", \"startTime\": \"\" }\r\n    ]\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        }
      },
      "response": []
    },
    {
      "name": "Update address config",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation UpdateAddressConfig(\r\n  $protocolSlug: String!\r\n  $addressConfig: AddressConfigInput!\r\n) {\r\n  updateAddressConfig(\r\n    protocolSlug: $protocolSlug\r\n    addressConfig: $addressConfig\r\n  ) {\r\n    success\r\n    protocol {\r\n      slug\r\n    }\r\n  }\r\n}",
            "variables": "{\r\n    \"protocolSlug\": {{protocol_slug}},\r\n    \"addressConfig\": {\r\n        \"gender\": false,\r\n        \"givenName\": true,\r\n        \"familyName\": true,\r\n        \"preTitle\": true,\r\n        \"postTitle\": false,\r\n        \"party\": true,\r\n        \"posLong\": true,\r\n        \"posShort\": false\r\n    }\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        }
      },
      "response": []
    },
    {
      "name": "Delete agenda item by id",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation DeleteAgendaItemById($agendaItemId: Int!) {\r\n  deleteAgendaItemById(agendaItemId: $agendaItemId) {\r\n    success\r\n  }\r\n}",
            "variables": "{\r\n    \"agendaItemId\": {{agenda_item_id}}\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        }
      },
      "response": []
    },
    {
      "name": "Add glossary",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation AddGlossary(\r\n  $protocolSlug: String!\r\n  $term: String!\r\n  $correctWord: String!\r\n) {\r\n  addGlossary(\r\n    protocolSlug: $protocolSlug\r\n    term: $term\r\n    correctWord: $correctWord\r\n  ) {\r\n    success\r\n  }\r\n}",
            "variables": "{\r\n    \"protocolSlug\": {{protocol_slug}},\r\n    \"term\": \"Buergermeister\",\r\n    \"correctWord\": \"Bürgermeister\"\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        }
      },
      "response": []
    },
    {
      "name": "Split textsegment",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "pm.test(\"Status code is 200\", function () {",
              "    pm.response.to.have.status(200);",
              "});"
            ],
            "type": "text/javascript",
            "packages": {},
            "requests": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "x-api-key",
            "value": "{{x-api-key}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "graphql",
          "graphql": {
            "query": "mutation SplitTextsegment(\r\n  $textsegmentId: Int!\r\n  $newSegments: [NewSegmentInput!]!\r\n) {\r\n  splitTextsegment(\r\n    textsegmentId: $textsegmentId\r\n    newSegments: $newSegments\r\n  ) {\r\n    success\r\n    newTextsegmentIds\r\n  }\r\n}",
            "variables": "{\r\n    \"textsegmentId\": 123,\r\n    \"newSegments\": [\r\n        {\r\n            \"speakerSlug\": \"spk-abc\",\r\n            \"textJson\": [\r\n                { \"text\": \"Erster Satz.\", \"startTime\": 0.0, \"endTime\": 2.5 }\r\n            ]\r\n        },\r\n        {\r\n            \"speakerSlug\": \"spk-def\",\r\n            \"textJson\": [\r\n                { \"text\": \"Zweiter Satz.\", \"startTime\": 2.5, \"endTime\": 5.0 }\r\n            ]\r\n        }\r\n    ]\r\n}"
          }
        },
        "url": {
          "raw": "{{base_url}}",
          "host": [
            "{{base_url}}"
          ]
        }
      },
      "response": []
    }
  ],
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "requests": {},
        "exec": [
          ""
        ]
      }
    },
    {
      "listen": "test",
      "script": {
        "type": "text/javascript",
        "requests": {},
        "exec": [
          ""
        ]
      }
    }
  ],
  "variable": [
    {
      "key": "base_url",
      "value": "https://api-v2.speechmind.com/external/v2/graphql"
    },
    {
      "key": "x-api-key",
      "value": ""
    },
    {
      "key": "protocol_slug",
      "value": ""
    },
    {
      "key": "project_slug",
      "value": ""
    },
    {
      "key": "unique_object_name",
      "value": ""
    },
    {
      "key": "agenda_item_id",
      "value": ""
    },
    {
      "key": "speaker_slug1",
      "value": ""
    },
    {
      "key": "speaker_slug2",
      "value": ""
    }
  ]
}