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

# List jobs

> 
API call to return a paginated list of [jobs](https://support.phrase.com/hc/en-us/articles/5709686763420-Jobs-TMS-)
in the given project.

Use the query parameters to further narrow down the searching criteria.

- **pageNumber** - A zero-based parameter indicating the page number you wish to retrieve. The total number of pages is
returned in each response in the `totalPages` field in the top level of the response.
- **pageSize** - A parameter indicating the size of the page you wish to return.
This has direct effect on the `totalPages`
retrieved in each response and can hence influence the number of times to iterate over to get all the jobs.
- **count** - When set to `true`, the response will not contain the list of jobs (the `content` field) but only the
counts of elements and pages. Can be used to quickly retrieve the number of elements and pages to iterate over.
- **workflowLevel** - A non-zero based parameter indicating which
[workflow steps](https://support.phrase.com/hc/en-us/articles/5709717879324-Workflow-TMS-)
the returned jobs belong to. If left unspecified, its value is set to 1.
- **status** - A parameter allowing for filtering only for jobs in a specific status.
- **assignedUser** - A parameter allowing for filtering only for jobs assigned to a specific user.
The parameter accepts a user ID.
- **dueInHours** - A parameter allowing for filtering only for jobs whose due date is less or equal to the number
 of hours specified. This does not exclude jobs by status - jobs already `DELIVERED`, `COMPLETED`, `CANCELLED`,
 `DECLINED` or `REJECTED` are still matched. Combine with `status` (excluding `DELIVERED`, `COMPLETED`,
 `CANCELLED`, `DECLINED` and `REJECTED`) to match the product's "overdue" definition.
- **filename** - A parameter allowing for filtering only for jobs with a specific file name.
- **targetLang** - A parameter allowing for filtering only for jobs with a specific target language.
- **assignedVendor** - A parameter allowing for filtering only for jobs assigned to a specific vendor.
The parameter accepts a user ID.
- **notReady** - A parameter allowing for filtering only jobs that have been imported. When set to `true` the response
 will only contain jobs that have not been imported yet.
 This will also return jobs that have not been imported correctly, e.g. due to an error.

For jobs assigned to one user across all projects, use GET /api2/v1/users/{userUid}/jobs instead.




## OpenAPI

````yaml /openapi/phrase-tms-latest.json get /api2/v2/projects/{projectUid}/jobs
openapi: 3.0.0
info:
  description: |-
    Welcome to Phrase's TMS API documentation. 

     Please visit our [help center](https://support.phrase.com/hc/en-us/sections/5709662083612) for more information about the APIs. 

     If you have any questions, please contact [Support](https://support.phrase.com/hc/requests/new). 

     Please, include the `User-Agent` header with the name of your application or project. It might be a good idea to include some sort of contact information as well, so that we can get in touch if necessary. Examples of excellent `User-Agent` headers:
     > User-Agent: Example mobile app (example@phrase.com) <br/> User-Agent: ACME Inc Java 1.8 Client (http://acmeinc.com/contact)
  version: Latest
  title: Phrase TMS API
servers:
  - url: https://cloud.memsource.com/web
security:
  - ApiToken: []
  - OAuth2: []
tags:
  - name: Additional Workflow Step
  - name: Analysis
  - name: Async Request
  - name: Authentication
  - name: Automations
  - name: Bilingual File
  - name: Business Unit
  - name: Buyer
  - name: Client
  - name: Connector
  - name: Conversations
  - name: Cost Center
  - name: Custom Fields
  - name: Custom File Type
  - name: Domain
  - name: Due Date Scheme
  - name: Email Template
  - name: File
  - name: Glossary
  - name: Import settings
  - name: Job
  - name: Language AI
  - name: Language Assets
  - name: Language Quality Assessment
  - name: Machine Translation
  - name: Machine Translation Settings
  - name: Mapping
  - name: Net Rate Scheme
  - name: Notifications
  - name: Price List
  - name: Project
  - name: Project Template
  - name: Provider
  - name: Quality Assurance
  - name: Quality Profile
  - name: Quote
  - name: Reference File
  - name: SCIM
  - name: Segment
  - name: Segmentation Rules
  - name: Service
  - name: Spell Check
  - name: SubDomain
  - name: Supported Languages
  - name: Term Base
  - name: Translation
  - name: Translation Memory
  - name: User
  - name: Vendor
  - name: Webhook
  - name: Workflow Step
  - name: Workflow changes
  - name: XML Assistant
paths:
  /api2/v2/projects/{projectUid}/jobs:
    get:
      tags:
        - Job
      summary: List jobs
      description: >

        API call to return a paginated list of
        [jobs](https://support.phrase.com/hc/en-us/articles/5709686763420-Jobs-TMS-)

        in the given project.


        Use the query parameters to further narrow down the searching criteria.


        - **pageNumber** - A zero-based parameter indicating the page number you
        wish to retrieve. The total number of pages is

        returned in each response in the `totalPages` field in the top level of
        the response.

        - **pageSize** - A parameter indicating the size of the page you wish to
        return.

        This has direct effect on the `totalPages`

        retrieved in each response and can hence influence the number of times
        to iterate over to get all the jobs.

        - **count** - When set to `true`, the response will not contain the list
        of jobs (the `content` field) but only the

        counts of elements and pages. Can be used to quickly retrieve the number
        of elements and pages to iterate over.

        - **workflowLevel** - A non-zero based parameter indicating which

        [workflow
        steps](https://support.phrase.com/hc/en-us/articles/5709717879324-Workflow-TMS-)

        the returned jobs belong to. If left unspecified, its value is set to 1.

        - **status** - A parameter allowing for filtering only for jobs in a
        specific status.

        - **assignedUser** - A parameter allowing for filtering only for jobs
        assigned to a specific user.

        The parameter accepts a user ID.

        - **dueInHours** - A parameter allowing for filtering only for jobs
        whose due date is less or equal to the number
         of hours specified. This does not exclude jobs by status - jobs already `DELIVERED`, `COMPLETED`, `CANCELLED`,
         `DECLINED` or `REJECTED` are still matched. Combine with `status` (excluding `DELIVERED`, `COMPLETED`,
         `CANCELLED`, `DECLINED` and `REJECTED`) to match the product's "overdue" definition.
        - **filename** - A parameter allowing for filtering only for jobs with a
        specific file name.

        - **targetLang** - A parameter allowing for filtering only for jobs with
        a specific target language.

        - **assignedVendor** - A parameter allowing for filtering only for jobs
        assigned to a specific vendor.

        The parameter accepts a user ID.

        - **notReady** - A parameter allowing for filtering only jobs that have
        been imported. When set to `true` the response
         will only contain jobs that have not been imported yet.
         This will also return jobs that have not been imported correctly, e.g. due to an error.

        For jobs assigned to one user across all projects, use GET
        /api2/v1/users/{userUid}/jobs instead.
      operationId: listPartsV2
      parameters:
        - name: projectUid
          in: path
          required: true
          schema:
            type: string
        - name: pageNumber
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 50
            default: 50
        - name: count
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: workflowLevel
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 15
            default: 1
        - name: status
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - NEW
                - ACCEPTED
                - DECLINED
                - REJECTED
                - DELIVERED
                - EMAILED
                - COMPLETED
                - CANCELLED
        - name: assignedUser
          in: query
          required: false
          schema:
            type: integer
            format: int64
        - name: dueInHours
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - name: filename
          in: query
          required: false
          schema:
            type: string
        - name: targetLang
          in: query
          required: false
          schema:
            type: string
        - name: assignedVendor
          in: query
          required: false
          schema:
            type: integer
            format: int64
        - name: notReady
          in: query
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageDtoJobPartReferenceV2'
        '400':
          description: Bad request
        '401':
          description: Not authorized
        '403':
          description: Forbidden
        '404':
          description: Resource not found
        '405':
          description: Method not allowed
        '408':
          description: Timeout
        '410':
          description: Gone
        '415':
          description: Unsupported media type
        '429':
          description: Too many requests
        '500':
          description: Internal server error
        '501':
          description: Not implemented
components:
  schemas:
    PageDtoJobPartReferenceV2:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/JobPartReferenceV2'
        numberOfElements:
          type: integer
          format: int32
        pageNumber:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        sort:
          $ref: '#/components/schemas/Sort'
        totalElements:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    JobPartReferenceV2:
      type: object
      properties:
        continuous:
          type: boolean
        dateCreated:
          type: string
          format: date-time
        dateDue:
          type: string
          format: date-time
        filename:
          type: string
        importStatus:
          $ref: '#/components/schemas/ImportStatusDtoV2'
        imported:
          type: boolean
          description: 'Default: false'
        innerId:
          type: string
          description: |-
            InnerId is a sequential number of a job in a project.
                        Jobs created from the same file share the same innerId across workflow steps
        originalFileDirectory:
          type: string
        owner:
          $ref: '#/components/schemas/UserReferenceV1'
        providers:
          type: array
          items:
            $ref: '#/components/schemas/ProviderReferenceV1'
        remoteFile:
          $ref: '#/components/schemas/JobRemoteFileReferenceV1'
        serverTaskId:
          type: string
        sourceFileUid:
          type: string
        split:
          type: boolean
        status:
          type: string
          enum:
            - NEW
            - ACCEPTED
            - DECLINED
            - REJECTED
            - DELIVERED
            - EMAILED
            - COMPLETED
            - CANCELLED
        targetLang:
          type: string
        uid:
          type: string
        workflowStep:
          $ref: '#/components/schemas/ProjectWorkflowStepReferenceV1'
    Sort:
      type: object
      properties:
        orders:
          type: array
          items:
            $ref: '#/components/schemas/SortOrder'
    ImportStatusDtoV2:
      type: object
      properties:
        errorMessage:
          type: string
        status:
          type: string
          enum:
            - RUNNING
            - ERROR
            - OK
    UserReferenceV1:
      type: object
      properties:
        email:
          type: string
          description: Email address of the user
        firstName:
          type: string
          description: First name of the user
        id:
          type: string
          description: Unique numeric identifier of the user
        lastName:
          type: string
          description: Last name of the user
        role:
          type: string
          description: Role of the user in the organization
          enum:
            - SYS_ADMIN
            - SYS_ADMIN_READ
            - ADMIN
            - PROJECT_MANAGER
            - LINGUIST
            - GUEST
            - SUBMITTER
            - PORTAL_MEMBER
            - BOT
        uid:
          type: string
          description: Unique string identifier of the user
        userName:
          type: string
          description: Username of the user
    ProviderReferenceV1:
      type: object
      required:
        - type
      discriminator:
        propertyName: type
      properties:
        id:
          type: string
        type:
          type: string
        uid:
          type: string
          description: UID of the provider
          readOnly: true
    JobRemoteFileReferenceV1:
      type: object
      properties:
        encodedFileName:
          type: string
        encodedFolder:
          type: string
        humanReadableFileName:
          type: string
        humanReadableFolder:
          type: string
    ProjectWorkflowStepReferenceV1:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        order:
          type: integer
          format: int32
        workflowLevel:
          type: integer
          format: int32
    SortOrder:
      type: object
      properties:
        direction:
          type: string
          enum:
            - ASC
            - DESC
        property:
          type: string
  securitySchemes:
    ApiToken:
      description: >-
        Get a token from `auth/login` [endpoint](#operation/login) and then pass
        it in the `Authorization` HTTP header in every subsequent API call. For
        more information visit our [help
        center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#token-0-0).
      type: apiKey
      name: Authorization
      in: header
    OAuth2:
      description: >-
        A standard OAuth 2.0 authorization code flow. For more information visit
        our [help
        center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#oauth-2-0-0-1).
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://cloud.memsource.com/web/oauth/authorize
          tokenUrl: https://cloud.memsource.com/web/oauth/token
          scopes: {}

````