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

# Move a job to a project

> Requires the projects:write scope.

Accepts a scoped bearer token or interactive owner session.



## OpenAPI

````yaml /openapi.yaml post /api/v1/jobs/{jobId}/project
openapi: 3.1.0
info:
  title: Factorize API
  version: 1.0.0
  description: >-
    Versioned Factorize REST API. See the hosted docs for examples and OAuth
    discovery.
  x-dashboard-auth: >-
    Access-token and authorized-client management and trace replay operations
    require an interactive owner session; all other operations accept a suitably
    scoped bearer token or owner session.
servers:
  - url: https://app.factorize.sh
security:
  - bearerAuth: []
paths:
  /api/v1/jobs/{jobId}/project:
    post:
      tags:
        - jobs
      summary: Move a job to a project
      description: |-
        Requires the projects:write scope.

        Accepts a scoped bearer token or interactive owner session.
      operationId: post_api_v1_jobs_jobId_project
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
            minLength: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                expectedUpdatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
              required:
                - projectId
      responses:
        '200':
          description: Moved
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                  projectId:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                  name:
                    type: string
                  slug:
                    type: string
                  enabled:
                    type: boolean
                  promptTemplate:
                    type: string
                  runNameTemplate:
                    type: string
                  tags:
                    type: array
                    items:
                      type: string
                  model:
                    type: string
                  effort:
                    type: string
                  executionConfig:
                    type: object
                    properties:
                      connectionId:
                        type: string
                      workspace:
                        type: string
                      cwd:
                        type: string
                      agentKind:
                        type: string
                      image:
                        type: string
                    required:
                      - connectionId
                      - agentKind
                    additionalProperties: false
                  executionConfigId:
                    type: string
                  agentKind:
                    type: string
                  concurrencyLimit:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  runningCount:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  currentRuns:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  maxConcurrency:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  lastRunState:
                    anyOf:
                      - type: string
                        enum:
                          - queued
                          - reserved
                          - starting
                          - running
                          - blocked
                          - stopping
                          - succeeded
                          - failed
                          - stopped
                          - done
                          - ignored
                      - type: 'null'
                  triggers:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            slug:
                              type: string
                            kind:
                              type: string
                              const: manual
                            enabled:
                              default: true
                              type: boolean
                            config:
                              default: {}
                              type: object
                              properties: {}
                              additionalProperties: false
                            jobId:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                          required:
                            - id
                            - slug
                            - kind
                            - enabled
                            - config
                            - jobId
                            - createdAt
                            - updatedAt
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            slug:
                              type: string
                            kind:
                              type: string
                              const: schedule
                            enabled:
                              default: true
                              type: boolean
                            config:
                              type: object
                              properties:
                                cron:
                                  type: string
                                  minLength: 1
                                timezone:
                                  type: string
                                  minLength: 1
                              required:
                                - cron
                                - timezone
                              additionalProperties: false
                            jobId:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                          required:
                            - id
                            - slug
                            - kind
                            - enabled
                            - config
                            - jobId
                            - createdAt
                            - updatedAt
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            slug:
                              type: string
                            kind:
                              type: string
                              const: webhook
                            enabled:
                              default: true
                              type: boolean
                            config:
                              oneOf:
                                - type: object
                                  properties:
                                    conditions:
                                      type: object
                                      propertyNames:
                                        type: string
                                      additionalProperties: {}
                                    provider:
                                      type: string
                                      const: linear
                                    projectId:
                                      type: string
                                      minLength: 1
                                    matchRules:
                                      minItems: 1
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                            enum:
                                              - owner
                                              - creator
                                              - status
                                              - label
                                              - assignee
                                          targetId:
                                            type: string
                                            minLength: 1
                                        required:
                                          - type
                                          - targetId
                                        additionalProperties: false
                                    secretConfigured:
                                      type: boolean
                                  required:
                                    - provider
                                    - projectId
                                    - matchRules
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    conditions:
                                      type: object
                                      propertyNames:
                                        type: string
                                      additionalProperties: {}
                                    provider:
                                      type: string
                                      const: clickup
                                    listId:
                                      type: string
                                      minLength: 1
                                    matchRules:
                                      minItems: 1
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                            enum:
                                              - owner
                                              - creator
                                              - status
                                              - label
                                              - assignee
                                          targetId:
                                            type: string
                                            minLength: 1
                                        required:
                                          - type
                                          - targetId
                                        additionalProperties: false
                                    secretConfigured:
                                      type: boolean
                                  required:
                                    - provider
                                    - listId
                                    - matchRules
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    conditions:
                                      type: object
                                      propertyNames:
                                        type: string
                                      additionalProperties: {}
                                    provider:
                                      type: string
                                      const: github
                                    installationId:
                                      type: integer
                                      exclusiveMinimum: 0
                                      maximum: 9007199254740991
                                    repositoryId:
                                      type: integer
                                      exclusiveMinimum: 0
                                      maximum: 9007199254740991
                                    event:
                                      type: string
                                      minLength: 1
                                    action:
                                      type: string
                                      minLength: 1
                                    matchRules:
                                      minItems: 1
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                            enum:
                                              - owner
                                              - creator
                                              - status
                                              - label
                                              - assignee
                                          targetId:
                                            type: string
                                            minLength: 1
                                        required:
                                          - type
                                          - targetId
                                        additionalProperties: false
                                    secretConfigured:
                                      type: boolean
                                  required:
                                    - provider
                                    - installationId
                                    - repositoryId
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    conditions:
                                      type: object
                                      propertyNames:
                                        type: string
                                      additionalProperties: {}
                                    provider:
                                      type: string
                                      const: cloudflareTail
                                    integrationId:
                                      type: string
                                      minLength: 1
                                    destination:
                                      type: string
                                    secretConfigured:
                                      type: boolean
                                  required:
                                    - provider
                                    - integrationId
                                  additionalProperties: false
                            jobId:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                          required:
                            - id
                            - slug
                            - kind
                            - enabled
                            - config
                            - jobId
                            - createdAt
                            - updatedAt
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            slug:
                              type: string
                            kind:
                              type: string
                              const: jobLifecycle
                            enabled:
                              default: true
                              type: boolean
                            config:
                              type: object
                              properties:
                                sourceJobIds:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: string
                                    minLength: 1
                                states:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: string
                                    enum:
                                      - succeeded
                                      - failed
                                      - stopped
                                      - edited
                              required:
                                - sourceJobIds
                                - states
                              additionalProperties: false
                            jobId:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                          required:
                            - id
                            - slug
                            - kind
                            - enabled
                            - config
                            - jobId
                            - createdAt
                            - updatedAt
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            slug:
                              type: string
                            kind:
                              type: string
                              const: jobIdle
                            enabled:
                              default: true
                              type: boolean
                            config:
                              type: object
                              properties:
                                sourceJobIds:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: string
                                    minLength: 1
                              required:
                                - sourceJobIds
                              additionalProperties: false
                            jobId:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                          required:
                            - id
                            - slug
                            - kind
                            - enabled
                            - config
                            - jobId
                            - createdAt
                            - updatedAt
                          additionalProperties: false
                  skills:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                        key:
                          type: string
                        revision:
                          type: integer
                          exclusiveMinimum: 0
                          maximum: 9007199254740991
                        position:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                      required:
                        - id
                        - key
                        - revision
                        - position
                      additionalProperties: false
                  createdAt:
                    type: string
                  updatedAt:
                    type: string
                required:
                  - id
                  - name
                  - slug
                  - enabled
                  - promptTemplate
                  - runNameTemplate
                  - model
                  - executionConfig
                  - executionConfigId
                  - agentKind
                  - concurrencyLimit
                  - runningCount
                  - currentRuns
                  - maxConcurrency
                  - lastRunState
                  - triggers
                  - createdAt
                  - updatedAt
                additionalProperties: false
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '409':
          $ref: '#/components/responses/Error409'
        '415':
          $ref: '#/components/responses/Error415'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
        '503':
          $ref: '#/components/responses/Error503'
      security:
        - bearerAuth: []
        - cookieAuth: []
components:
  responses:
    Error400:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error401:
      description: Invalid or revoked credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error403:
      description: Missing scope or required owner session
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error404:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error409:
      description: Operation conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error415:
      description: Unsupported media type; use application/json
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error429:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error500:
      description: Internal error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error503:
      description: Service unavailable
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
            message:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: OAuth2
    cookieAuth:
      type: apiKey
      in: cookie
      name: factorize_session

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.