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: $.