Zuora · Capability

API Reference — Attachments

API Reference — Attachments. 5 operations. Lead operation: Create an attachment. Self-contained Naftiko capability covering one Zuora business surface.

Run with Naftiko ZuoraAttachments

What You Can Do

POST
Postattachments — Create an attachment
/v1/v1/attachments
GET
Getattachments — Retrieve an attachment
/v1/v1/attachments/{attachment-id}
PUT
Putattachments — Update an attachment
/v1/v1/attachments/{attachment-id}
DELETE
Deleteattachments — Delete an attachment
/v1/v1/attachments/{attachment-id}
GET
Getattachmentslist — List attachments by object type and key
/v1/v1/attachments/{object-type}/{object-key}

MCP Tools

create-attachment

Create an attachment

retrieve-attachment

Retrieve an attachment

read-only idempotent
update-attachment

Update an attachment

idempotent
delete-attachment

Delete an attachment

idempotent
list-attachments-object-type-and

List attachments by object type and key

read-only idempotent

Capability Spec

v1-attachments.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: API Reference — Attachments
  description: 'API Reference — Attachments. 5 operations. Lead operation: Create an attachment. Self-contained Naftiko capability
    covering one Zuora business surface.'
  tags:
  - Zuora
  - Attachments
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ZUORA_API_KEY: ZUORA_API_KEY
capability:
  consumes:
  - type: http
    namespace: v1-attachments
    baseUri: https://rest.zuora.com
    description: API Reference — Attachments business capability. Self-contained, no shared references.
    resources:
    - name: v1-attachments
      path: /v1/attachments
      operations:
      - name: postattachments
        method: POST
        description: Create an attachment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: description
          in: query
          type: string
          description: Description of the attachment document.
        - name: associatedObjectType
          in: query
          type: string
          description: The type of the object to add attachements for.
          required: true
        - name: associatedObjectKey
          in: query
          type: string
          description: For the Subscription type, specify the Subscription Number. An attachment is tied to the Subscription
            Number and thus viewable with every subscription version.
          required: true
        - name: file
          in: formData
          type: file
          description: 'The file to be attached. Files with the following extensions are supported: .pdf, .csv, .png, .xlsx,
            .xls, .doc, .docx, .msg, .jpg, .txt, .htm, .html, .eml, .pp'
          required: true
    - name: v1-attachments-attachment-id
      path: /v1/attachments/{attachment-id}
      operations:
      - name: getattachments
        method: GET
        description: Retrieve an attachment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: attachment-id
          in: path
          type: string
          description: Id of the attachment you want to view.
          required: true
      - name: putattachments
        method: PUT
        description: Update an attachment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: attachment-id
          in: path
          type: string
          description: Id of the attachment to be updated.
          required: true
        - name: Request
          in: body
          type: string
      - name: deleteattachments
        method: DELETE
        description: Delete an attachment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: attachment-id
          in: path
          type: string
          description: Id of the attachment to be deleted.
          required: true
    - name: v1-attachments-object-type-object-key
      path: /v1/attachments/{object-type}/{object-key}
      operations:
      - name: getattachmentslist
        method: GET
        description: List attachments by object type and key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: object-type
          in: path
          type: string
          description: The type of the object to list attachements for.
          required: true
        - name: object-key
          in: path
          type: string
          description: ID of the object to list attachements for.
          required: true
  exposes:
  - type: rest
    namespace: v1-attachments-rest
    port: 8080
    description: REST adapter for API Reference — Attachments. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/attachments
      name: v1-attachments
      description: REST surface for v1-attachments.
      operations:
      - method: POST
        name: postattachments
        description: Create an attachment
        call: v1-attachments.postattachments
        with:
          description: rest.description
          associatedObjectType: rest.associatedObjectType
          associatedObjectKey: rest.associatedObjectKey
          file: rest.file
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/attachments/{attachment-id}
      name: v1-attachments-attachment-id
      description: REST surface for v1-attachments-attachment-id.
      operations:
      - method: GET
        name: getattachments
        description: Retrieve an attachment
        call: v1-attachments.getattachments
        with:
          attachment-id: rest.attachment-id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putattachments
        description: Update an attachment
        call: v1-attachments.putattachments
        with:
          attachment-id: rest.attachment-id
          Request: rest.Request
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteattachments
        description: Delete an attachment
        call: v1-attachments.deleteattachments
        with:
          attachment-id: rest.attachment-id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/attachments/{object-type}/{object-key}
      name: v1-attachments-object-type-object-key
      description: REST surface for v1-attachments-object-type-object-key.
      operations:
      - method: GET
        name: getattachmentslist
        description: List attachments by object type and key
        call: v1-attachments.getattachmentslist
        with:
          object-type: rest.object-type
          object-key: rest.object-key
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: v1-attachments-mcp
    port: 9090
    transport: http
    description: MCP adapter for API Reference — Attachments. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: create-attachment
      description: Create an attachment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-attachments.postattachments
      with:
        description: tools.description
        associatedObjectType: tools.associatedObjectType
        associatedObjectKey: tools.associatedObjectKey
        file: tools.file
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-attachment
      description: Retrieve an attachment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-attachments.getattachments
      with:
        attachment-id: tools.attachment-id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-attachment
      description: Update an attachment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v1-attachments.putattachments
      with:
        attachment-id: tools.attachment-id
        Request: tools.Request
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-attachment
      description: Delete an attachment
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: v1-attachments.deleteattachments
      with:
        attachment-id: tools.attachment-id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-attachments-object-type-and
      description: List attachments by object type and key
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-attachments.getattachmentslist
      with:
        object-type: tools.object-type
        object-key: tools.object-key
      outputParameters:
      - type: object
        mapping: $.