> ## Documentation Index
> Fetch the complete documentation index at: https://docs.powerdrill.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> Converses with your data. Ask any question you have about your data and get insights instantly. 
On Powerdrill, a **job** refers to a task that Powerdrill performs to generate a response based on your request (e.g., a prompt or other workflows). Powerdrill Enterprise supports two types of jobs: **general jobs** and **data agent jobs**. Currently, only general jobs are available, so make sure the **x-pd-api-agent-id** header is set to **GENERAL**.  
- For an in-depth explanation of **jobs**, see [What Is Job?](/enterprise/what-is-job).  
- To quickly create and execute a job, see [Quick Start](/api-reference/quick-start-for-general). 

# Create job

<Tip>
  The **Response** section in this topic describes the structure of the response when `stream` is set to `false`. For an example of the response when `stream` is set to `true` and an explanation of how to interpret the streaming response, refer to [Streaming](/api-reference/streaming).
</Tip>


## OpenAPI

````yaml post /v1/team/jobs
openapi: 3.0.1
info:
  title: Team Open API
  description: ''
  version: 1.0.0
servers:
  - url: https://ai.data.cloud/api
    description: 体验环境
security: []
tags:
  - name: Session
  - name: Dataset
  - name: Data source
  - name: File
  - name: Job
paths:
  /v1/team/jobs:
    post:
      tags:
        - Job
      summary: Create job
      description: >+
        Converses with your data. Ask any question you have about your data and
        get insights instantly.  


        On Powerdrill, a **job** refers to a task that Powerdrill performs to
        generate a response based on your request (e.g., a prompt or other
        workflows). Powerdrill Enterprise supports two types of jobs: **general
        jobs** and **data agent jobs**. Currently, only general jobs are
        available, so make sure the **x-pd-api-agent-id** header is set to
        **GENERAL**.  


        - For an in-depth explanation of **jobs**, see [What Is
        Job?](/enterprise/what-is-job).  


        - To quickly create and execute a job, see [Quick
        Start](/api-reference/quick-start-for-general).

      parameters:
        - name: userId
          in: query
          description: >-
            Your user ID.


            How to obtain your user ID: Sign in to Powerdrill Enterprise, click
            **Users** in the top navigation bar, and find your user ID in the
            list of users.
          required: true
          schema:
            type: string
        - name: x-pd-external-trace-id
          in: header
          description: The external trace ID. The length ranges from 0 to 128 characters.
          required: false
          example: ''
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                sessionId:
                  type: string
                  description: The session ID.
                stream:
                  type: boolean
                  description: >-
                    Whether to use stream mode. If set to `true`, Powerdrill
                    will send real-time updates to the client, delivering
                    continuous data as it becomes available. If set to `false`,
                    Powerdrill will return the full response only once the
                    entire answer is ready.


                    If not specified, the default value `false` will be used.


                    For details about how to understand streaming responses, see
                    "Content description" in
                    [Streaming](/api-reference/streaming#content-description).
                  default: false
                question:
                  type: string
                  description: The question you want Powerdrill to answer.
                datasetId:
                  type: string
                  description: >-
                    The ID of the dataset to attach to the session. If not
                    specified, the job will run without being associated with
                    any dataset.
                datasourceIdList:
                  type: array
                  items:
                    type: string
                  description: >-
                    Specifies the IDs of the data sources to use in the
                    conversation, rather than the entire dataset. You can
                    specify up to 1,000 data sources.
                languageType:
                  type: string
                  description: >-
                    The language in which the output is generated. Possible
                    values are:

                    - `AUTO`: adaptive recognition

                    - `EN`: English

                    - `ES`: Spanish

                    - `AR`: Arabic

                    - `PT`: Portuguese

                    - `ID`: Indonesian

                    - `JA`: Japanese

                    - `RU`: Russian

                    - `HI`: Hindi

                    - `FR`: French

                    - `DE`: German

                    - `VI`: Vietnamese

                    - `TR`: Turkish

                    - `PL`: Polish

                    - `IT`: Italian

                    - `KO`: Korean

                    - `ZH-CN`: Simplified Chinese

                    - `ZH-TW`: Traditional Chinese
                  enum:
                    - AUTO
                    - EN
                    - ES
                    - AR
                    - PT
                    - ID
                    - JA
                    - RU
                    - HI
                    - FR
                    - DE
                    - VI
                    - TR
                    - PL
                    - IT
                    - KO
                    - ZH-CN
                    - ZH-TW
                  default: AUTO
                jobMode:
                  type: string
                  description: >-
                    Job mode. Possible values are:

                    - `AUTO`: Powerdrill automatically detects your intent and
                    selects the appropriate job mode from data analysis and
                    information retrieval.

                    - `DATA_ANALYTICS`: Powerdrill focuses specifically on data
                    analysis.
                  enum:
                    - AUTO
                    - DATA_ANALYTICS
                  default: AUTO
                answerConfig:
                  $ref: '#/components/schemas/answerConfig'
              required:
                - question
                - sessionId
            example:
              datasetId: cm1gjmg8e0057r3x22v1fdu8m
              datasourceIdList:
                - cm1gjmmoo0001h0x24uk1xgu9
              languageType: EN
              question: Hello World
              sessionId: 5534f591-1520-4e74-b753-b87615b2c57a
              stream: false
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: >-
                      Status code. **0** indicates that the operation is
                      successful. Otherwise, the operation fails. Possible error
                      codes include: 


                      - **100112:** The `modelGroup` parameter must be set to
                      its default value.

                      - **1003:** Authentication failed. Please check if the API
                      key is correct.

                      - **210020:** An error occurred during job execution.
                      Please try again.

                      - **210021:** Job quota exceeded. Please review your usage
                      limits.

                      - **210022:** The question is too long. Please shorten it
                      and try again.

                      - **210023:** The selected data sources are not yet ready.
                      Only data sources in the **Synched** state are available
                      for use.

                      - **210024:** The text is too long for the text-to-speech
                      service. The maximum allowed length is 5000 characters.

                      - **210025:** Too many data sources selected. You can
                      select up to 1,000 data sources.
                  data:
                    type: object
                    properties:
                      jobId:
                        type: string
                        description: The job ID.
                      blocks:
                        type: array
                        items:
                          $ref: '#/components/schemas/BlockDTO'
                    required:
                      - jobId
                      - blocks
                required:
                  - data
                  - code
              examples:
                '1':
                  summary: Stream=false
                  value:
                    code: 0
                    data:
                      jobId: job-cm3ikdeuj02zk01l1yeuirt77
                      blocks:
                        - type: CODE
                          content: |-
                            ```python

                            import pandas as pd

                            def invoke(input_0: pd.DataFrame) -> pd.DataFrame:
                                '''
                                input_0: pd.DataFrame  makeovermonday-a-century-of-global-deaths-from-disasters_decadal-deaths-disasters-type.csv
                                '''
                                # Group by 'Year' and sum the deaths for each type of disaster
                                aggregated_data = input_0.groupby('Year').sum().reset_index()
                                
                                # Select only the columns related to deaths
                                death_columns = [
                                    'Deaths - Drought (decadal)', 'Deaths - Flood (decadal)', 
                                    'Deaths - Earthquake (decadal)', 'Deaths - Extreme weather (decadal)', 
                                    'Deaths - Extreme temperature (decadal)', 'Deaths - Volcanic activity (decadal)', 
                                    'Deaths - Wildfire (decadal)', 'Deaths - Glacial lake outburst flood (decadal)', 
                                    'Deaths - Dry mass movement (decadal)', 'Deaths - Wet mass movement (decadal)', 
                                    'Deaths - Fog (decadal)'
                                ]
                                
                                # Create a new DataFrame with the aggregated results
                                output = aggregated_data[['Year'] + death_columns]
                                
                                # Rename columns to be more descriptive
                                output.columns = ['Decade'] + [col.replace('Deaths - ', '').replace(' (decadal)', '') for col in death_columns]
                                
                                return output

                            ```
                          groupId: 33063572-6e88-4912-8e2d-4166bcc8caee
                          groupName: >-
                            Analyze the dataset to observe the trend of deaths
                            caused by different types of natural disasters over
                            the past century. This involves aggregating the data
                            by decade and calculating the total number of deaths
                            for each type of disaster to identify any changes in
                            trends.
                          stage: Analyze
                        - type: TABLE
                          content:
                            url: >-
                              https://static.powerdrill.ai/tmp_datasource_cache/code_result/cm37bchx106e301l1v9yf67yc/e24b6a5f-fdb8-48ca-ae35-dc91ac8e8ef7.csv
                            name: trend_data.csv
                            expiredAt: '2024-11-21T09:56:34.290544Z'
                          groupId: 33063572-6e88-4912-8e2d-4166bcc8caee
                          groupName: >-
                            Analyze the dataset to observe the trend of deaths
                            caused by different types of natural disasters over
                            the past century. This involves aggregating the data
                            by decade and calculating the total number of deaths
                            for each type of disaster to identify any changes in
                            trends.
                          stage: Analyze
                        - type: IMAGE
                          content:
                            url: >-
                              https://static.powerdrill.ai/tmp_datasource_cache/code_result/cm37bchx106e301l1v9yf67yc/81b75a33-a223-4954-9680-9f397872c8ad.png
                            name: >-
                              Trend of Deaths from Natural Disasters Over the
                              Century
                            expiredAt: '2024-11-21T09:56:34.290544Z'
                          groupId: 7501680b-5879-441b-bd96-f58b1029ae17
                          groupName: >-
                            Visualize the trend data to show how the number of
                            deaths from different types of natural disasters has
                            changed over the past century. Use line charts to
                            represent the trends for each disaster type, which
                            will help in understanding the impact of measures
                            and technological advancements on reducing deaths.
                          stage: Analyze
                        - type: MESSAGE
                          content: |+


                            `Analyzing Conclusions` 

                            ### 自然灾害死亡人数变化趋势分析

                            #### 数据分析

                          groupId: b842aca7-6fd5-4190-85fa-97085e473877
                          groupName: Conclusions
                          stage: Respond
                        - type: TABLE
                          content:
                            url: >-
                              https://static.powerdrill.ai/tmp_datasource_cache/code_result/cm37bchx106e301l1v9yf67yc/e24b6a5f-fdb8-48ca-ae35-dc91ac8e8ef7.csv
                            name: trend_data.csv
                            expiredAt: '2024-11-21T09:56:34.290544Z'
                          groupId: b842aca7-6fd5-4190-85fa-97085e473877
                          groupName: Conclusions
                          stage: Respond
                        - type: MESSAGE
                          content: >+


                            - **Droughts and Floods**: In the early 20th
                            century, droughts and floods caused extremely high
                            death tolls, particularly during the 1920s and
                            1930s.

                            - **Earthquakes and Extreme Weather**: Earthquakes
                            and extreme weather also led to significant death
                            tolls throughout the century, especially in the
                            1970s and 1990s.

                            - **Extreme Temperatures and Volcanic Activity**:
                            These disasters had relatively lower death tolls,
                            but in certain decades, such as the 2000s, deaths
                            caused by extreme temperatures increased.


                            #### Trend Visualization

                          groupId: b842aca7-6fd5-4190-85fa-97085e473877
                          groupName: Conclusions
                          stage: Respond
                        - type: IMAGE
                          content:
                            url: >-
                              https://static.powerdrill.ai/tmp_datasource_cache/code_result/cm37bchx106e301l1v9yf67yc/81b75a33-a223-4954-9680-9f397872c8ad.png
                            name: >-
                              Trend of Deaths from Natural Disasters Over the
                              Century
                            expiredAt: '2024-11-21T09:56:34.290544Z'
                          groupId: b842aca7-6fd5-4190-85fa-97085e473877
                          groupName: Conclusions
                          stage: Respond
                        - type: MESSAGE
                          content: >-


                            - **Overall Trend**: The chart shows that although
                            certain decades experienced spikes in death tolls
                            caused by natural disasters, the overall trend is
                            declining.

                            - **Impact of Technology and Measures**: Over time,
                            advancements in technology and the implementation of
                            disaster prevention measures are likely key factors
                            in reducing death tolls.


                            #### Conclusions and Insights

                            - **Technological Advancements**: Modern
                            technological progress, such as improved early
                            warning systems and better construction techniques,
                            may have reduced the fatalities caused by
                            earthquakes and extreme weather.

                            - **Disaster Prevention Measures**: The enhancement
                            of disaster prevention measures and emergency
                            response capabilities on a global scale has likely
                            contributed to the decreased fatality rates of
                            natural disasters.
                          groupId: b842aca7-6fd5-4190-85fa-97085e473877
                          groupName: Conclusions
                          stage: Respond
                        - type: SOURCES
                          content:
                            - source: >-
                                makeovermonday-a-century-of-global-deaths-from-disasters_decadal-deaths-disasters-type.csv
                              datasourceId: clxin6l9200oo01l1457bolx3
                              datasetId: clxin6l8400ok01l1ff2m0s25
                              fileType: csv
                          groupId: ''
                          groupName: ''
                          stage: Respond
                        - type: QUESTIONS
                          content:
                            - >-
                              Analyze the trends in death tolls from different
                              types of natural disasters over the past century
                              and explore which disaster types have shown the
                              most significant reduction in fatalities.
                            - >-
                              Study the technological advancements and measures
                              in responding to natural disasters across
                              different regions globally, and analyze how these
                              differences have influenced changes in death tolls
                              in each region.
                            - >-
                              Explore how future technological advancements and
                              policy measures could further reduce fatalities
                              caused by natural disasters, and assess their
                              feasibility and potential impacts.
                          groupId: '-1'
                          stage: Respond
          headers:
            x-pd-trace-id:
              example: ''
              required: true
              description: The trace ID of Powerdrill.
              schema:
                type: string
        '400':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                '1':
                  summary: '400'
                  value:
                    code: 210021
                    msg: Job quota exceeded
          headers: {}
        '403':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                '1':
                  summary: '403'
                  value:
                    code: 1003
                    msg: insufficient.authentication
          headers: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                '1':
                  summary: '500'
                  value:
                    code: 210020
                    msg: >-
                      Something went wrong during job execution. Please try
                      again.
          headers: {}
      deprecated: false
      security:
        - apikey-header-x-pd-api-key: []
components:
  schemas:
    answerConfig:
      type: object
      properties:
        modelGroup:
          type: string
          description: |+
            The model used for generating responses, for example, **default**.

          enum:
            - default
        temperature:
          type: number
          description: >-
            Specifies the level of randomness in the AI model's responses,
            ranging from **0** (safer choices) to **1** (more exploratory
            choices). The default value is **0**.
      required:
        - modelGroup
    BlockDTO:
      type: object
      properties:
        type:
          type: string
          enum:
            - MESSAGE
            - CODE
            - TABLE
            - IMAGE
            - SOURCES
            - QUESTIONS
          description: The block type.
        content:
          type: string
          description: The block content.
        groupId:
          type: string
          description: The ID of the group containing the block.
        groupName:
          type: string
          description: The name of the group containing the block.
        stage:
          type: string
          enum:
            - Analyze
            - Respond
          description: The stage of the block.
      required:
        - type
        - content
        - groupId
        - groupName
        - stage
  securitySchemes:
    apikey-header-x-pd-api-key:
      type: apiKey
      in: header
      name: x-pd-api-key

````