Zuora · Capability

API Reference — Custom Object Jobs

API Reference — Custom Object Jobs. 6 operations. Lead operation: Submit a custom object bulk job. Self-contained Naftiko capability covering one Zuora business surface.

Run with Naftiko ZuoraCustom Object Jobs

What You Can Do

POST
Postcustomobjectbulkjob — Submit a custom object bulk job
/v1/objects/jobs
GET
Getallcustomobjectbulkjobs — List all custom object bulk jobs
/v1/objects/jobs
GET
Getcustomobjectbulkjob — Retrieve a custom object bulk job
/v1/objects/jobs/{id}
PATCH
Patchcustomobjectbulkjob — Cancel a custom object bulk job
/v1/objects/jobs/{id}/cancel
GET
Getcustomobjectbulkjoberrors — List all errors for a custom object bulk job
/v1/objects/jobs/{id}/errors
POST
Postuploadfileforcustomobjectbulkjob — Upload a file for a custom object bulk job
/v1/objects/jobs/{id}/files

MCP Tools

submit-custom-object-bulk-job

Submit a custom object bulk job

list-all-custom-object-bulk

List all custom object bulk jobs

read-only idempotent
retrieve-custom-object-bulk-job

Retrieve a custom object bulk job

read-only idempotent
cancel-custom-object-bulk-job

Cancel a custom object bulk job

idempotent
list-all-errors-custom-object

List all errors for a custom object bulk job

read-only idempotent
upload-file-custom-object-bulk

Upload a file for a custom object bulk job

Capability Spec

v1-custom-object-jobs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: API Reference — Custom Object Jobs
  description: 'API Reference — Custom Object Jobs. 6 operations. Lead operation: Submit a custom object bulk job. Self-contained
    Naftiko capability covering one Zuora business surface.'
  tags:
  - Zuora
  - Custom Object Jobs
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ZUORA_API_KEY: ZUORA_API_KEY
capability:
  consumes:
  - type: http
    namespace: v1-custom-object-jobs
    baseUri: https://rest.zuora.com
    description: API Reference — Custom Object Jobs business capability. Self-contained, no shared references.
    resources:
    - name: objects-jobs
      path: /objects/jobs
      operations:
      - name: postcustomobjectbulkjob
        method: POST
        description: Submit a custom object bulk job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Zuora-Version
          in: header
          type: string
          description: API version that determines the response schema. The default version is used if this parameter is not
            included. Specify `Zuora-Version` in the request header if
        - name: CustomObjectBulkJobRequest
          in: body
          type: string
          description: Custom Objects bulk job request
          required: true
      - name: getallcustomobjectbulkjobs
        method: GET
        description: List all custom object bulk jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Zuora-Version
          in: header
          type: string
          description: API version that determines the response schema. The default version is used if this parameter is not
            included. Specify `Zuora-Version` in the request header if
        - name: pageSize
          in: query
          type: integer
          description: The number of records returned per page in the response.
        - name: cursor
          in: query
          type: string
          description: The `cursor` points to the last job of the previous result set. The cursor job is not included in this
            query result. The call returns the first page if `cursor`
        - name: status
          in: query
          type: string
          description: The status of bulk jobs to be retrieved.
    - name: objects-jobs-id
      path: /objects/jobs/{id}
      operations:
      - name: getcustomobjectbulkjob
        method: GET
        description: Retrieve a custom object bulk job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Zuora-Version
          in: header
          type: string
          description: API version that determines the response schema. The default version is used if this parameter is not
            included. Specify `Zuora-Version` in the request header if
        - name: id
          in: path
          type: string
          description: The ID of the custom object bulk job to be retrieved.
          required: true
    - name: objects-jobs-id-cancel
      path: /objects/jobs/{id}/cancel
      operations:
      - name: patchcustomobjectbulkjob
        method: PATCH
        description: Cancel a custom object bulk job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Zuora-Version
          in: header
          type: string
          description: API version that determines the response schema. The default version is used if this parameter is not
            included. Specify `Zuora-Version` in the request header if
        - name: id
          in: path
          type: string
          description: The ID of the custom object bulk job that you want to cancel.
          required: true
    - name: objects-jobs-id-errors
      path: /objects/jobs/{id}/errors
      operations:
      - name: getcustomobjectbulkjoberrors
        method: GET
        description: List all errors for a custom object bulk job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Zuora-Version
          in: header
          type: string
          description: API version that determines the response schema. The default version is used if this parameter is not
            included. Specify `Zuora-Version` in the request header if
        - name: id
          in: path
          type: string
          description: The ID of the custom object bulk job that you retrieve errors for.
          required: true
    - name: objects-jobs-id-files
      path: /objects/jobs/{id}/files
      operations:
      - name: postuploadfileforcustomobjectbulkjob
        method: POST
        description: Upload a file for a custom object bulk job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Zuora-Version
          in: header
          type: string
          description: API version that determines the response schema. The default version is used if this parameter is not
            included. Specify `Zuora-Version` in the request header if
        - name: Content-Type
          in: header
          type: string
          description: The `Content-Type` of the request must be `text/csv`.
          required: true
        - name: id
          in: path
          type: string
          description: The ID of the custom object bulk job that the file is uploaded to.
          required: true
        - name: file
          in: body
          type: string
          required: true
  exposes:
  - type: rest
    namespace: v1-custom-object-jobs-rest
    port: 8080
    description: REST adapter for API Reference — Custom Object Jobs. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/objects/jobs
      name: objects-jobs
      description: REST surface for objects-jobs.
      operations:
      - method: POST
        name: postcustomobjectbulkjob
        description: Submit a custom object bulk job
        call: v1-custom-object-jobs.postcustomobjectbulkjob
        with:
          Zuora-Version: rest.Zuora-Version
          CustomObjectBulkJobRequest: rest.CustomObjectBulkJobRequest
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getallcustomobjectbulkjobs
        description: List all custom object bulk jobs
        call: v1-custom-object-jobs.getallcustomobjectbulkjobs
        with:
          Zuora-Version: rest.Zuora-Version
          pageSize: rest.pageSize
          cursor: rest.cursor
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/objects/jobs/{id}
      name: objects-jobs-id
      description: REST surface for objects-jobs-id.
      operations:
      - method: GET
        name: getcustomobjectbulkjob
        description: Retrieve a custom object bulk job
        call: v1-custom-object-jobs.getcustomobjectbulkjob
        with:
          Zuora-Version: rest.Zuora-Version
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/objects/jobs/{id}/cancel
      name: objects-jobs-id-cancel
      description: REST surface for objects-jobs-id-cancel.
      operations:
      - method: PATCH
        name: patchcustomobjectbulkjob
        description: Cancel a custom object bulk job
        call: v1-custom-object-jobs.patchcustomobjectbulkjob
        with:
          Zuora-Version: rest.Zuora-Version
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/objects/jobs/{id}/errors
      name: objects-jobs-id-errors
      description: REST surface for objects-jobs-id-errors.
      operations:
      - method: GET
        name: getcustomobjectbulkjoberrors
        description: List all errors for a custom object bulk job
        call: v1-custom-object-jobs.getcustomobjectbulkjoberrors
        with:
          Zuora-Version: rest.Zuora-Version
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/objects/jobs/{id}/files
      name: objects-jobs-id-files
      description: REST surface for objects-jobs-id-files.
      operations:
      - method: POST
        name: postuploadfileforcustomobjectbulkjob
        description: Upload a file for a custom object bulk job
        call: v1-custom-object-jobs.postuploadfileforcustomobjectbulkjob
        with:
          Zuora-Version: rest.Zuora-Version
          Content-Type: rest.Content-Type
          id: rest.id
          file: rest.file
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: v1-custom-object-jobs-mcp
    port: 9090
    transport: http
    description: MCP adapter for API Reference — Custom Object Jobs. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: submit-custom-object-bulk-job
      description: Submit a custom object bulk job
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-custom-object-jobs.postcustomobjectbulkjob
      with:
        Zuora-Version: tools.Zuora-Version
        CustomObjectBulkJobRequest: tools.CustomObjectBulkJobRequest
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-custom-object-bulk
      description: List all custom object bulk jobs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-custom-object-jobs.getallcustomobjectbulkjobs
      with:
        Zuora-Version: tools.Zuora-Version
        pageSize: tools.pageSize
        cursor: tools.cursor
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-custom-object-bulk-job
      description: Retrieve a custom object bulk job
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-custom-object-jobs.getcustomobjectbulkjob
      with:
        Zuora-Version: tools.Zuora-Version
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: cancel-custom-object-bulk-job
      description: Cancel a custom object bulk job
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v1-custom-object-jobs.patchcustomobjectbulkjob
      with:
        Zuora-Version: tools.Zuora-Version
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-errors-custom-object
      description: List all errors for a custom object bulk job
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-custom-object-jobs.getcustomobjectbulkjoberrors
      with:
        Zuora-Version: tools.Zuora-Version
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: upload-file-custom-object-bulk
      description: Upload a file for a custom object bulk job
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-custom-object-jobs.postuploadfileforcustomobjectbulkjob
      with:
        Zuora-Version: tools.Zuora-Version
        Content-Type: tools.Content-Type
        id: tools.id
        file: tools.file
      outputParameters:
      - type: object
        mapping: $.