Zuora Imports API
An import uploads content, especially when you have a large amount of content. The Import object contains all of the information you need to upload content, such as a large number of usage records.
An import uploads content, especially when you have a large amount of content. The Import object contains all of the information you need to upload content, such as a large number of usage records.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/zuora-imports-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '2023-12-15'
title: Reference Imports API
description: '# Introduction
Welcome to the REST API reference for the Zuora Billing, Payments, and Central Platform!'
contact:
email: docs@zuora.com
servers:
- url: https://rest.zuora.com/
tags:
- name: Imports
description: An import uploads content, especially when you have a large amount of content. The Import object contains all of the information you need to upload content, such as a large number of usage records.
paths:
/v1/object/import/{id}:
get:
summary: 'CRUD: Retrieve an import'
operationId: Object_GETImport
description: ''
tags:
- Imports
parameters:
- $ref: '#/components/parameters/GLOBAL_HEADER_Accept_Encoding'
- $ref: '#/components/parameters/GLOBAL_HEADER_Content_Encoding'
- $ref: '#/components/parameters/GLOBAL_HEADER_Authorization_OAuth_optional'
- $ref: '#/components/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
- $ref: '#/components/parameters/GLOBAL_HEADER_Zuora_Org_Ids'
- $ref: '#/components/parameters/GLOBAL_HEADER_Zuora_Track_Id'
- name: fields
in: query
required: false
description: Object fields to return
schema:
type: string
- name: id
in: path
description: Object id
required: true
schema:
type: string
responses:
'200':
description: ''
headers:
Content-Encoding:
description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n"
schema:
type: string
RateLimit-Limit:
description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: string
RateLimit-Remaining:
description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
RateLimit-Reset:
description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
Zuora-Request-Id:
description: 'The Zuora internal identifier of the API call. You cannot control the value of this header.
'
schema:
type: string
maxLength: 36
minLength: 36
Zuora-Track-Id:
description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.
'
schema:
type: string
maxLength: 64
content:
application/json:
schema:
$ref: '#/components/schemas/ProxyGetImport'
'401':
description: ''
headers:
Content-Encoding:
description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n"
schema:
type: string
RateLimit-Limit:
description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: string
RateLimit-Remaining:
description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
RateLimit-Reset:
description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
Zuora-Request-Id:
description: 'The Zuora internal identifier of the API call. You cannot control the value of this header.
'
schema:
type: string
maxLength: 36
minLength: 36
Zuora-Track-Id:
description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.
'
schema:
type: string
maxLength: 64
WWW-Authenticate:
description: 'The value of this header is:
```
Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
```
'
schema:
type: string
enum:
- Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
content:
application/json:
schema:
$ref: '#/components/schemas/ProxyUnauthorizedResponse'
example:
message: Authentication error
'404':
description: ''
headers:
Content-Encoding:
description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n"
schema:
type: string
RateLimit-Limit:
description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: string
RateLimit-Remaining:
description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
RateLimit-Reset:
description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
Zuora-Request-Id:
description: 'The Zuora internal identifier of the API call. You cannot control the value of this header.
'
schema:
type: string
maxLength: 36
minLength: 36
Zuora-Track-Id:
description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.
'
schema:
type: string
maxLength: 64
content:
application/json:
schema:
$ref: '#/components/schemas/ProxyNoDataResponse'
example:
records: {}
size: 0
done: true
/v1/object/import:
post:
summary: 'CRUD: Create an import'
operationId: Object_POSTImport
description: Creates a data import.
tags:
- Imports
parameters:
- $ref: '#/components/parameters/GLOBAL_HEADER_Idempotency_Key'
- $ref: '#/components/parameters/GLOBAL_HEADER_Accept_Encoding'
- $ref: '#/components/parameters/GLOBAL_HEADER_Content_Encoding'
- $ref: '#/components/parameters/GLOBAL_HEADER_Authorization_OAuth_optional'
- $ref: '#/components/parameters/GLOBAL_REQUEST_rejectUnknownFields'
- $ref: '#/components/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
- $ref: '#/components/parameters/GLOBAL_HEADER_Zuora_Org_Ids'
- $ref: '#/components/parameters/GLOBAL_HEADER_Zuora_Track_Id'
responses:
'200':
description: ''
headers:
Content-Encoding:
description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n"
schema:
type: string
RateLimit-Limit:
description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: string
RateLimit-Remaining:
description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
RateLimit-Reset:
description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
Zuora-Request-Id:
description: 'The Zuora internal identifier of the API call. You cannot control the value of this header.
'
schema:
type: string
maxLength: 36
minLength: 36
Zuora-Track-Id:
description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.
'
schema:
type: string
maxLength: 64
content:
application/json:
schema:
$ref: '#/components/schemas/ProxyPostImport'
example:
Success: true
Id: 2c92c0f8601fab5701601fee2bf67056
'401':
description: ''
headers:
Content-Encoding:
description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n"
schema:
type: string
RateLimit-Limit:
description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: string
RateLimit-Remaining:
description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
RateLimit-Reset:
description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information.
'
schema:
type: number
Zuora-Request-Id:
description: 'The Zuora internal identifier of the API call. You cannot control the value of this header.
'
schema:
type: string
maxLength: 36
minLength: 36
Zuora-Track-Id:
description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.
'
schema:
type: string
maxLength: 64
WWW-Authenticate:
description: 'The value of this header is:
```
Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
```
'
schema:
type: string
enum:
- Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
content:
application/json:
schema:
$ref: '#/components/schemas/ProxyUnauthorizedResponse'
example:
message: Authentication error
x-code-samples:
- lang: curl
label: Curl
source: 'curl -X POST -H "Authorization: Bearer f21f017e4724445d8647b1f0de7ed6f1" -F "ImportType=Usage" -F "Name=UsageData.csv" -F "File=@UsageData.csv" "https://rest.zuora.com/v1/object/import"
'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
ImportType:
type: string
enum:
- Usage
- Payment
- Quote
- TaxationDetail
- UpdateAccountingCode
- CreateRevenueSchedule
- UpdateRevenueSchedule
- DeleteRevenueSchedule
- ImportFXRate
description: 'The type of data to import.
'
Name:
type: string
description: 'A descriptive name for the import.
'
File:
type: string
description: 'The data to import.
'
format: binary
required:
- ImportType
- Name
- File
components:
parameters:
GLOBAL_HEADER_Idempotency_Key:
name: Idempotency-Key
in: header
required: false
description: "Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. \n\nWith this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident. \n"
schema:
type: string
maxLength: 255
GLOBAL_REQUEST_rejectUnknownFields:
name: rejectUnknownFields
in: query
required: false
description: "Specifies whether the call fails if the request body contains unknown fields.\nWith `rejectUnknownFields` set to `true`, Zuora returns a 400 response if\nthe request body contains unknown fields. The body of the 400 response is:\n\n```json\n{\n \"message\": \"Error - unrecognised fields\"\n}\n```\n\nBy default, Zuora ignores unknown fields in the request body.\n"
schema:
type: boolean
default: false
GLOBAL_HEADER_Authorization_OAuth_optional:
name: Authorization
in: header
required: false
description: 'The value is in the `Bearer {token}` format where {token} is a valid OAuth token generated by calling [Create an OAuth token](/api-references/api/operation/createToken).
'
schema:
type: string
GLOBAL_HEADER_Zuora_Track_Id:
name: Zuora-Track-Id
in: header
required: false
description: 'A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue.
The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (`:`), semicolon (`;`), double quote (`"`), and quote (`''`).
'
schema:
type: string
maxLength: 64
GLOBAL_HEADER_Content_Encoding:
name: Content-Encoding
in: header
required: false
description: 'Include the `Content-Encoding: gzip` header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.
'
schema:
type: string
GLOBAL_HEADER_Accept_Encoding:
name: Accept-Encoding
in: header
required: false
description: "Include the `Accept-Encoding: gzip` header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response. \n\nIf specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a `Content-Encoding` header with the compression algorithm so that your client can decompress it.\n"
schema:
type: string
GLOBAL_HEADER_Zuora_Entity_Ids_Single:
name: Zuora-Entity-Ids
in: header
required: false
description: 'An entity ID. If you have [Zuora Multi-entity](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity) enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you do not need to set this header.
'
schema:
type: string
GLOBAL_HEADER_Zuora_Org_Ids:
name: Zuora-Org-Ids
in: header
required: false
description: "Comma separated IDs. If you have <a href=\"https://knowledgecenter.zuora.com/Zuora_Central_Platform/Multi-Org\" target=\"_blank\">Zuora Multi-Org</a> enabled, \nyou can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header.\n\nThe IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails.\n\nIf the header is not set, the operation is performed in scope of the user's accessible orgs.\n"
schema:
type: string
schemas:
ProxyNoDataResponse:
properties:
done:
description: ''
type: boolean
records:
description: ''
items:
type: object
type: array
size:
description: ''
type: integer
type: object
ProxyGetImport:
properties:
CreatedById:
description: ' The user ID of the person who created the import.
**Character limit**: 32
**Values**: automatically generated '
type: string
CreatedDate:
description: ' The date when the import was created.
**Character limit**: 29
**Values**: automatically generated '
format: date-time
type: string
Id:
description: Object identifier.
type: string
ImportType:
description: ' The type of item imported.
**Character limit**: 7
**Values**: Usage '
type: string
ImportedCount:
description: 'The number of records successfully imported.
**Values**: automatically generated '
format: int32
type: integer
Md5:
description: ' A check to validate the import file''s integrity.
**Character limit:** 32
**System-generated:** no
**Values**: a string of 32 characters or fewer '
type: string
Name:
description: ' A descriptive name for the import.
**Character limit:** 100
**Values:** one of the following:
- a string of 100 characters or fewer
- if NULL default is: `import <ImportType_value>`
'
type: string
OriginalResourceUrl:
description: ' The URL for your import file, which contains your records for upload. When you upload the file, Zuora assigns it to this address.
**Values:** automatic dynamically-generated URL '
type: string
ResultResourceUrl:
description: ' The URL for the import result file, which is a zipped CSV file.
**Values**: automatic dynamically-generated URL '
type: string
Status:
description: 'The status of the import process.
**Values**: automatically generated using one of the following values:
- Pending
- Processing
- Completed
- Failed
'
type: string
StatusReason:
description: ' The reason for the system-generated status. Use this information if the import fails.
**Character limit**: 2000
**Values**: automatically generated error message '
type: string
TotalCount:
description: ' The number of records in the import file.
**Character limit**:
**Values**: automatically generated '
format: int32
type: integer
UpdatedById:
description: ' The ID of the user who last updated the import.
**Character limit**: 32
**Values**: automatically generated '
type: string
UpdatedDate:
description: ' The date when the import was last updated.
**Character limit**: 29 **Values**: automatically generated '
format: date-time
type: string
type: object
ProxyUnauthorizedResponse:
properties:
message:
description: 'Error message.
If the error message is "Authentication error", ensure that the `Authorization` request header contains valid authentication credentials, then retry the request. See [Authentication](/rest-api/general-concepts/authentication/) for more information.
If the error message is "Failed to get user info", retry the request.
'
type: string
type: object
ProxyPostImport:
properties:
Id:
description: 'The ID of the Import object that was created.
'
type: string
Success:
description: 'Indicates whether the call succeeded.
'
type: boolean
type: object
x-tagGroups:
- name: Authentication
tags:
- OAuth
- name: Products
tags:
- Products
- Catalog
- Catalog Groups
- Offers
- Price Book Items
- Product Rate Plans
- Product Rate Plan Definitions
- Product Rate Plan Charges
- Product Charge Definitions
- Product Rate Plan Charge Tiers
- Zuora Revenue Integration
- name: Customer Accounts
tags:
- Accounts
- Contacts
- Contact Snapshots
- name: Orders and Subscriptions
tags:
- Sign Up
- Orders
- Order Actions
- Order Line Items
- Fulfillments
- Ramps
- Subscriptions
- Rate Plans
- name: Advanced Consumption Billing
tags:
- Prepaid with Drawdown
- name: Usage
tags:
- Usage
- name: Billing Documents
tags:
- Delivery Adjustments
- Billing Documents
- Invoices
- Credit Memos
- Debit Memos
- E-Invoicing
- Invoice Schedules
- Taxation Items
- Sequence Sets
- Operations
- name: Bill Runs
tags:
- Bill Run
- Billing Preview Run
- name: Payment Methods
tags:
- Payment Methods
- Custom Payment Method Types
- Payment Method Updater
- Payment Method Snapshots
- Payment Method Transaction Logs
- Hosted Pages
- RSA Signatures
- name: Payments
tags:
- Payment Authorization
- Payment Gateways
- Payment Gateway Reconciliation
- Payments
- Payment Transaction Logs
- Payment Runs
- Payment Schedules
- Refunds
- name: Finance
tags:
- Accounting Codes
- Accounting Periods
- Summary Journal Entries
- Journal Runs
- Mass Updater
- name: Events and Notifications
tags:
- Notifications
- Custom Event Triggers
- Custom Scheduled Events
- name: Custom Objects
tags:
- Custom Object Definitions
- Custom Object Records
- Custom Object Jobs
- name: System Health
tags:
- API Health
- Bill Run Health
- Electronic Payments Health
- name: Workflow
tags:
- Workflows
- name: Data Query
tags:
- Data Queries
- name: AQuA
tags:
- Aggregate Queries
- name: Deployment Manager
tags:
- Configuration Templates
- name: Multiple Organizations
tags:
- Data Labeling
- name: Order to Revenue
tags:
- Regenerate
- name: General-Purpose Operations
tags:
- Actions
- Settings
- Files
- Imports
- Custom Exchange Rates
- Attachments
- Describe