# AdButler API Reference (llms-full.txt) > Machine-readable API documentation for LLMs and AI tools. > Generated from OpenAPI 3.0.0 spec. 552 operations across 300 paths. ## Base URL ``` https://api.adbutler.com/v2 ``` ## Authentication All requests require an API key via Basic Auth: ``` Authorization: Basic YOUR_API_KEY ``` Get your API key from Settings > API Settings in the AdButler dashboard. ## Pagination List endpoints support `limit` and `offset` query parameters. --- ## Ad Items (All) ### `GET /ad-items` Get a List of All Ad Items --- ## Ad Items / Catalog Item ### `POST /ad-items/catalog-item` Create a Catalog Ad Item **Request body (JSON):** - `name`: string (required) — A string name for the ad item - `catalog_id`: integer (required) — The id for the catalog - `catalog_item_identifier`: string (required) — The unique identifier for the item. The `identifier_field` field value must be unique within the catalog. --- ### `GET /ad-items/catalog-item/{id}` Get a Single Catalog Ad Item **Path parameters:** - `id` (required): string — Identifier of the Catalog Ad Item (eg client SKU, or whichever other unique iden --- ### `PUT /ad-items/catalog-item/{id}` Update a Catalog Ad Item **Path parameters:** - `id` (required): string — Identifier of the Catalog Ad Item. **Request body (JSON):** - `name`: string — A string name for the ad item - `catalog_id`: integer — The id for the catalog - `catalog_item_identifier`: string — The unique identifier for the item --- ### `DELETE /ad-items/catalog-item/{id}` Delete a Catalog Ad Item **Path parameters:** - `id` (required): string — Identifier of the Catalog Ad Item you'd like to delete (eg client SKU, or whiche --- ## Ad Items / Custom HTML ### `GET /ad-items/custom-html` Get a List of Custom HTML Ad Items --- ### `POST /ad-items/custom-html` Create a Custom HTML Ad Item --- ### `GET /ad-items/custom-html/{id}` Get a Single Custom HTML Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to get. --- ### `PUT /ad-items/custom-html/{id}` Update a Custom HTML Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to update. --- ### `DELETE /ad-items/custom-html/{id}` Delete a Custom HTML Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to delete. --- ### `GET /ad-items/custom-html/{id}/conversion-tag` Get Conversion Tag for Custom HTML Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to get a conversion tag for. --- ## Ad Items / Image ### `GET /ad-items/image` Get a List of Image Ad Items --- ### `POST /ad-items/image` Create an Image Ad Item --- ### `GET /ad-items/image/{id}` Get a Single Image Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to get. --- ### `PUT /ad-items/image/{id}` Update an Image Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to update. --- ### `DELETE /ad-items/image/{id}` Delete an Image Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to delete. --- ### `GET /ad-items/image/{id}/conversion-tag` Get Conversion Tag for Image Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to get a conversion tag for. --- ## Ad Items / Native ### `GET /ad-items/native` Get a List of Native Ad Items --- ### `POST /ad-items/native` Create a Native Ad Item --- ### `GET /ad-items/native/{id}` Get a Single Native Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to get. --- ### `PUT /ad-items/native/{id}` Update a Native Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to update. --- ### `DELETE /ad-items/native/{id}` Delete an Native Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to delete. --- ### `GET /ad-items/native/{id}/conversion-tag` Get Conversion Tag for Native Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to get a conversion tag for. --- ## Ad Items / Rich Media ### `GET /ad-items/rich-media` Get a List of Rich Media Ad Items --- ### `POST /ad-items/rich-media` Create a Rich Media Ad Item --- ### `GET /ad-items/rich-media/{id}` Get a Single Rich Media Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to get. --- ### `PUT /ad-items/rich-media/{id}` Update a Rich Media Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to update. --- ### `DELETE /ad-items/rich-media/{id}` Delete a Rich Media Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to delete. --- ### `GET /ad-items/rich-media/{id}/conversion-tag` Get Conversion Tag for Rich Media Ad Item **Path parameters:** - `id` (required): integer — Identifier of the ad item you'd like to get a conversion tag for. --- ## AdServe ### `GET /adserve` Retrieve an ad **Path parameters:** - `ID` (required): integer — Your AdButler account ID. - `setID` (required): integer — The **Zone** ID being requested. - `type` (required): string — Has two possible values: **"json"** returns the most eligible ad, while **"jsonr - `size`: string — The ad size you expect to receive. - `rf`: integer — Pass this parameter `;rf=1` if you want to determine whether the ad has a destin - `kw`: string — Required for **Keyword Targeting**. Allows you to pass keywords to AdButler, for - `referrer`: string — Required for **URL Targeting**. Our URL Targeting feature traditionally relies o - `ip`: string — Required for **Geographic Targeting**. If you're doing server side ad requests, - `ua`: string — Required for **Platform Targeting**. The user's User Agent string (URL encoded) - `sw`: integer — Required for **Platform Targeting**. The user's device's screen width. - `sh`: integer — Required for **Platform Targeting**. The user's device's screen height. - `spr`: integer — Required for **Platform Targeting**. The user's device's screen pixel ratio. - `pid`: integer — Required for **Unique Delivery** or **Roadblocks**. The `pid` stands for **'page - `place`: integer — Required for **Unique Delivery**. Place represents the number of times a particu - `_abdk`: string — When using **Data Keys**, use this parameter to pass in the key-value pairs. - `defer_signing`: boolean — When using **Beacon Signing Keys**, use this parameter to defer generating hashe --- ### `POST /adserve` Retrieve an ad **Request body (JSON):** - `ID`: integer (required) — Your AdButler account ID. - `setID`: integer (required) — The zone ID being requested. - `type`: string (required) — Has two possible values: **"json"** returns the most eligible ad, while **"jsonr"** returns a list of all eligible ads o - `size`: string — The ad size you expect to receive. - `rf`: integer — Pass the parameter `;rf=1` if you want to determine whether the ad has a destination URL to which the user will be redir - `kw`: array — Required for **Keyword Targeting**. Allows you to pass keywords to AdButler, for use with keyword targeting. Pass an ar - `referrer`: string — Required for **URL Targeting**. Our URL Targeting feature traditionally relies on the HTTP `referrer` header to know whi - `ip`: string — Required for **Geographic Targeting**. If you're doing server side ad requests, and you want to geographically target yo - `ua`: string — Required for **Platform Targeting**. The user's User Agent string. - `sw`: integer — Required for **Platform Targeting**. The user's device's screen width. - `sh`: integer — Required for **Platform Targeting**. The user's device's screen height. - `spr`: integer — Required for **Platform Targeting**. The user's device's screen pixel ratio. - `pid`: integer — Required for **Unique Delivery** or **Roadblocks**. The `pid` stands for 'pageID' and is a random number that must be th - `place`: integer — Required for **Unique Delivery**. Place represents the number of times a particular zone has been requested on a single - `user_freq`: array — Required for **User Frquency Capping**. An array of placement data representing how many times a given placement has be - `_abdk_json`: object — When using **Data Keys**, use this parameter to pass all the key-value pairs as an object. - `defer_signing`: boolean — When using **Beacon Signing Keys**, use this parameter to defer generating hashes and timestamps such that they can be s --- ## Advertisers ### `GET /advertisers` Get a List of Advertisers --- ### `POST /advertisers` Create an Advertiser **Request body (JSON):** - `password`: string — The password of the optional user account tied to this advertiser. The given password must be 8 or more characters and c --- ### `GET /advertisers/{id}` Get a Single Advertiser **Path parameters:** - `id` (required): integer — Identifier of the advertiser you'd like to get. --- ### `PUT /advertisers/{id}` Update an Advertiser **Path parameters:** - `id` (required): integer — Identifier of the advertiser you'd like to update. **Request body (JSON):** - `password`: string — The password of the optional user account tied to this advertiser. The given password must be 8 or more characters and c --- ### `DELETE /advertisers/{id}` Delete an Advertiser **Path parameters:** - `id` (required): integer — Identifier of the advertiser you'd like to delete. --- ### `GET /advertisers/{id}/archive` Archive an Advertiser **Path parameters:** - `id` (required): integer — Identifier of the advertiser you'd like to archive. --- ## Advertisers / Archived ### `GET /advertisers/archived` Get a List of Archived Advertisers --- ### `GET /advertisers/archived/{id}` Get a Single Archived Advertiser **Path parameters:** - `id` (required): integer — Identifier of the archived resource. --- ### `GET /advertisers/archived/{id}/unarchive` Unarchive an Advertiser **Path parameters:** - `id` (required): integer — Identifier of the advertiser you'd like to unarchive - `include_campaign_assignments`: boolean — Whether or not to include related campaign assignments when unarchiving the reso - `include_placements`: boolean — Whether or not to include related placements when unarchiving the resource. If a --- ## Beacon Signing Keys ### `GET /beacon-signing-keys` Get a List of Keys --- ### `POST /beacon-signing-keys` Create a beacon signing key **Request body (JSON):** - `key_name`: string (required) — Name of the beacon signing key. --- ### `POST /beacon-signing-keys/validate` Validation **Request body (JSON):** - `url`: string (required) — The full beacon URL that has been signed with a beacon signing key. --- ### `GET /beacon-signing-keys/{id}` Get a single beacon signing key. **Path parameters:** - `id` (required): integer — Identifier of the beacon signing key you'd like to get. --- ### `PUT /beacon-signing-keys/{id}` Update a URL signing key **Path parameters:** - `id` (required): integer — Identifier of the beacon signing key you'd like to update. **Request body (JSON):** - `key_name`: string (required) — Name of the beacon signing key. --- ### `DELETE /beacon-signing-keys/{id}` Delete a URL signing key. **Path parameters:** - `id` (required): integer — Identifier of the beacon signing key you'd like to delete. --- ## Bidders ### `GET /bidders` Get a List of Bidders --- ### `POST /bidders` Create a Bidder --- ### `GET /bidders/{id}` Get a Single Bidder **Path parameters:** - `id` (required): integer — Identifier of the bidder you'd like to get. --- ### `PUT /bidders/{id}` Update a Bidder **Path parameters:** - `id` (required): integer — Identifier of the bidder you'd like to update. --- ### `DELETE /bidders/{id}` Delete a Bidder **Path parameters:** - `id` (required): integer — Identifier of the bidder you'd like to delete. --- ## Campaign Assignments ### `GET /campaign-assignments` Get a list of Campaign Assignments **Query parameters:** - `campaigns`: string — Filter the campaign assignments by one or many campaign IDs. - `ad_items`: string — Filter the campaign assignments by one or many ad item IDs. --- ### `POST /campaign-assignments` Create a Campaign Assignment --- ### `GET /campaign-assignments/{id}` Get a Single Campaign Assignment **Path parameters:** - `id` (required): integer — Identifier of the campaign assignment you want to get. --- ### `PUT /campaign-assignments/{id}` Update a Campaign Assignment **Path parameters:** - `id` (required): integer — Identifier of the campaign assignmnet you want to update. **Request body (JSON):** - `active`: boolean — The status of ad serving, whether it is being served in the given zone or not. - `weight`: integer — A number used to compute the probability of serving a particular ad. Defaults to __1__. - `geo_target`: integer — The Geo Target identifier (ID). **NOTE**: Can be set only if the [campaign's](#tag/Campaigns-Standard) `targeting_so - `platform_target`: integer — The Platform Target identifier (ID) if you intend to restrict delivery of your ads to a certain device or a platform. De - `keywords`: string — Specify words separated by commas to determine if this ad should be served if a match is found on the page. You can use - `keywords_match_method`: string — Defines the level of keyword targeting. Has three possible values: **"required"**, **"preferred"** or **"filtered"**. - `data_key_target`: integer — The Data Key Target identifier (ID). __NOTE__: Can be set only if the [campaign's](#tag/Campaigns-Standard) `targetin - `list_target`: integer — The List Target identifier (ID) if you want your ads to be delivered based on the inclusion or exclusion of specific val - `schedule`: integer — The identifier (ID) of the schedule that will be applied to the ad item. **NOTE**: Can be set only if the [campaign --- ### `DELETE /campaign-assignments/{id}` Delete a Campaign Assignment **Path parameters:** - `id` (required): integer — Identifier of the campaign assignment you want to delete. --- ### `GET /campaigns/{id}/eligible-zones` Get eligible zones for a campaign --- ## Campaigns (All) ### `GET /campaigns` Get a List of All Campaigns **Query parameters:** - `has_ad_items`: boolean — When set to __true__, only campaigns with an existing campaign assignment will b --- ## Campaigns / Standard ### `GET /campaigns/standard` Get a List of Standard Campaigns **Query parameters:** - `has_ad_items`: boolean — When set to __true__, only campaigns with an existing campaign assignment will b - `advertiser`: string — Filter the campaign list by one or many advertiser IDs. --- ### `POST /campaigns/standard` Create a Standard Campaign **Request body (JSON):** - `advertiser`: integer — The advertiser identifier (ID). - `name`: string (required) — The name of the campaign. We recommend using a naming scheme that is descriptive, relevant, and consistent. - `roadblock_tags`: string — The tag to link this campaign to a [roadblock](https://www.adbutler.com/help/article/create-a-roadblock), which allows y - `contract`: integer — The ID of the contract associated with the campaign, if any. This is generated when you assign the campaign to a contrac - `targeting_source`: string — Whether to apply [targeting](#tag/Schedules) on the campaign level (i.e. one targeting setup for all ad items in the cam - `scheduling_source`: string — Whether to apply [pacing and scheduling](#tag/Schedules) on the campaign level (i.e. one schedule setup for all ad items - `metadata`: object — An object containing any number of [metadata](https://www.adbutler.com/help/article/add-edit-metadata) keys and values. - `budget`: object — An object containing optional values for the daily, weekly, monthly and lifetime budget for the campaign. - `trusted_redirect_domains`: object — An array containing any number of trusted redirect domains. Values must always be valid domains, e.g. `example.com`, `*. --- ### `GET /campaigns/standard/{id}` Get a Standard Campaign --- ### `PUT /campaigns/standard/{id}` Update a Standard Campaign **Request body (JSON):** - `advertiser`: integer — The advertiser identifier (ID). - `name`: string (required) — The name of the campaign. We recommend using a naming scheme that is descriptive, relevant, and consistent. - `roadblock_tags`: string — The tag to link this campaign to a [roadblock](https://www.adbutler.com/help/article/create-a-roadblock), which allows y - `contract`: integer — The ID of the contract associated with the campaign, if any. This is generated when you assign the campaign to a contrac - `targeting_source`: string — Whether to apply [targeting](#tag/Schedules) on the campaign level (i.e. one targeting setup for all ad items in the cam - `scheduling_source`: string — Whether to apply [pacing and scheduling](#tag/Schedules) on the campaign level (i.e. one schedule setup for all ad items - `metadata`: object — An object containing any number of [metadata](https://www.adbutler.com/help/article/add-edit-metadata) keys and values. - `budget`: object — An object containing optional values for the daily, weekly, monthly and lifetime budget for the campaign. - `trusted_redirect_domains`: object — An array containing any number of trusted redirect domains. Values must always be valid domains, e.g. `example.com`, `*. --- ### `DELETE /campaigns/standard/{id}` Delete a Standard Campaign --- ### `GET /campaigns/standard/{id}/archive` Archive a Standard Campaign --- ### `GET /campaigns/standard/{id}/conversion-tag` Retrieve Standard Campaign Conversion Tag --- ## Campaigns / Standard / Archived ### `GET /campaigns/standard/archived` Get a List of Archived Standard Campaigns --- ### `GET /campaigns/standard/archived/{id}` Get an Archived Standard Campaign --- ### `DELETE /campaigns/standard/archived/{id}` Delete an Archived Standard Campaign --- ### `GET /campaigns/standard/archived/{id}/unarchive` Unarchive a Standard Campaign --- ## Ad Items / Catalog Item / Bulk ### `POST /campaigns/standard/{campaign_id}/catalog-ad-item-bulk-create` Bulk Create Catalog Ad Items **Path parameters:** - `campaign_id` (required): integer — Identifier of the Standard Campaign. **Request body (JSON):** - `ad_items`: array (required) — A list of specific-purpose catalog ad item object payloads. --- ### `DELETE /campaigns/standard/{campaign_id}/catalog-ad-item-bulk-delete` Bulk Delete Catalog Ad Items **Path parameters:** - `campaign_id` (required): integer — Identifier of the Standard Campaign. **Request body (JSON):** - `ad_items`: array (required) — A list of catalog ad item ids to be deleted --- ## Channel Zone Assignments ### `GET /channel-zone-assignments` Get a List of Channel Zone Assignments **Query parameters:** - `zones`: string — Filter the channel zone assignments by one or many zone IDs. - `channels`: string — Filter the channel zone assignments by one or many channel IDs. --- ### `POST /channel-zone-assignments` Create a Channel Zone Assignment --- ### `GET /channel-zone-assignments/{id}` Get a Single Channel Zone Assignment **Path parameters:** - `id` (required): integer — Identifier of the channel zone assignment you'd like to get. --- ### `DELETE /channel-zone-assignments/{id}` Delete a Channel Zone Assignment **Path parameters:** - `id` (required): integer — Identifier of the channel zone assignment you'd like to delete. --- ## Channels ### `GET /channels` Get a List of Channels --- ### `POST /channels` Create a Channel --- ### `GET /channels/{id}` Get a Single Channel --- ### `PUT /channels/{id}` Update a Channel --- ### `DELETE /channels/{id}` Delete a Channel --- ### `GET /channels/{id}/archive` Archive a Channel --- ## Channels / Archived ### `GET /channels/archived` Get a List of Archived Channels --- ### `GET /channels/archived/{id}` Get an Archived Channel --- ### `DELETE /channels/archived/{id}` Delete an Archived Channel --- ### `GET /channels/archived/{id}/unarchive` Unarchive an Archived Channel --- ## Event Log Backups SFTP Connections ### `GET /connections/sftp` Get a List of All SFTP Connections --- ### `POST /connections/sftp/` Create a SFTP Connection **Request body (JSON):** - `domain`: string — The url of the SFTP server. - `username`: string — The username for the SFTP server. - `password`: string — The password for the SFTP server. This is an optional field, but either password or private_key must be provided. - `private_key`: string — The private key for the SFTP server. This is an optional field, but either password or private_key must be provided. The --- ### `POST /connections/sftp/test` Test a SFTP Connection **Request body (JSON):** - `domain`: string — The url of the SFTP server. - `username`: string — The username for the SFTP server. - `password`: string — The password for the SFTP server. - `private_key`: string — The private key for the SFTP server. The key must be encoded, and newline characters must be encoded as '\\\\n'. - `connection`: integer — The id of the SFTP Connection to test. --- ### `GET /connections/sftp/{sftp_connection_id}` Get a Single SFTP Connection **Path parameters:** - `sftp_connection_id` (required): integer — Identifier of the sftp connection you'd like to get. --- ### `PUT /connections/sftp/{sftp_connection_id}` Update a SFTP Connection **Path parameters:** - `sftp_connection_id` (required): integer — Identifier of the sftp connection you'd like to update. **Request body (JSON):** - `domain`: string — The url of the SFTP server. - `username`: string — The username for the SFTP server. - `password`: string — The password for the SFTP server. This is an optional field, but either password or private_key must be provided. - `private_key`: string — The private key for the SFTP server. This is an optional field, but either password or private_key must be provided. The --- ### `DELETE /connections/sftp/{sftp_connection_id}` Delete a SFTP Connection **Path parameters:** - `sftp_connection_id` (required): integer — Identifier of the sftp connection you'd like to delete. --- ## Contacts ### `GET /contacts` Get a List of Contacts --- ### `POST /contacts` Create a Contact --- ### `GET /contacts/{contact_id}` Get a Single Contact **Path parameters:** - `contact_id` (required): integer — Identifier of the contact you'd like to get. --- ### `PUT /contacts/{contact_id}` Update a Contact **Path parameters:** - `contact_id` (required): integer — Identifier of the contact you'd like to update. --- ### `DELETE /contacts/{contact_id}` Delete a Contact **Path parameters:** - `contact_id` (required): integer — Identifier of the contact you'd like to delete. --- ### `GET /contacts/{contact_id}/report-configuration-schedules` List Report Configuration Schedules for a Contact **Path parameters:** - `contact_id` (required): integer — Identifier of the contact you'd like to get. --- ## Contract Templates ### `GET /contract-templates` Get a List of a Contract Templates **Query parameters:** - `signing_service`: string — Filter contract templates by their signing service type. - `latest`: boolean — If set to **true**, contract template list is given based on descending `created --- ### `POST /contract-templates` Create a Contract Template --- ### `GET /contract-templates/{contract_template_id}` Get a Single Contract Template **Path parameters:** - `contract_template_id` (required): integer — Identifier of the contract template you'd like to get. --- ### `DELETE /contract-templates/{contract_template_id}` Delete a Contract Template **Path parameters:** - `contract_template_id` (required): integer — Identifier of the contract template you'd like to get. --- ### `POST /contracts/{contract_id}/document-from-template` Create a Contract Document from a Template **Path parameters:** - `contract_id` (required): integer — Identifier of the contract to add the document to. --- ### `POST /contracts/{contract_id}/documents/{document_id}/replace-file-from-template` Replace a Contract Document File from a Template **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `document_id` (required): integer — Identifier of the contract document to upload the replacement file to. **Request body (JSON):** - `template`: integer (required) — The integer ID of the contract template to be used as a base for this new document. - `inputs`: array — A list of `basic_inputs` fields defined by the chosen contract template. This field is required if the chosen contract t - `signers`: array — A list of signers defined by the chosen contract template. This field is required if the chosen contract template has an --- ## Contracts ### `GET /contracts` Get a List of Contracts **Query parameters:** - `advertiser`: string — A list of advertiser IDs by which to filter the list of contracts returned. Form - `has_signature_request`: boolean — Show contracts based on their current signature request state. If set to __TRUE_ - `expand`: string — Set field to `current_signature_request` to expand the field. --- ### `POST /contracts` Create a Contract --- ### `GET /contracts/{contract_id}` Get a Single Contract **Path parameters:** - `contract_id` (required): integer — Identifier of the contract you'd like to get. --- ### `PUT /contracts/{contract_id}` Update a Contract **Path parameters:** - `contract_id` (required): integer — Identifier of the contract you'd like to update. --- ### `DELETE /contracts/{contract_id}` Delete a Contract **Path parameters:** - `contract_id` (required): integer — Identifier of the contract you'd like to delete. --- ### `GET /contracts/{contract_id}/assigned-campaigns` Get a List of Campaigns Assigned to Contract --- ### `POST /contracts/{id}/archive` Archive a Contract --- ## Contracts / Archived ### `GET /contracts/archived` Get a List of Archived Contracts --- ### `GET /contracts/archived/{id}` Get an Archived Contract --- ### `POST /contracts/archived/{id}/unarchive` Unarchive an Archived Contract --- ## Contract Documents ### `GET /contracts/{contract_id}/documents` Get a List of Contract Documents **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. --- ### `POST /contracts/{contract_id}/documents/` Create a Contract Document **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. --- ### `GET /contracts/{contract_id}/documents/{document_id}` Get a Single Contract Document **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `document_id` (required): integer — Identifier of the contract document you'd like to get. --- ### `PUT /contracts/{contract_id}/documents/{document_id}` Update a Contract Document **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `document_id` (required): integer — Identifier of the contract document you'd like to update. --- ### `DELETE /contracts/{contract_id}/documents/{document_id}` Delete a Contract Document **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `document_id` (required): integer — Identifier of the contract document you'd like to update. --- ## Contract Document Files ### `GET /contracts/{contract_id}/documents/{document_id}/file-revisions` Get a List of File Revisions **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `document_id` (required): integer — Identifier of the parent contract document. --- ### `GET /contracts/{contract_id}/documents/{document_id}/file-revisions/{revision_id}` Get a Single File Revision **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `document_id` (required): integer — Identifier of the parent contract document. - `revision_id` (required): integer — Identifier of the contract document revision to get. --- ### `GET /contracts/{contract_id}/documents/{document_id}/file-revisions/{revision_id}/download` Download a File Revision **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `document_id` (required): integer — Identifier of the parent contract document. - `revision_id` (required): integer — Identifier of the contract document revision to download. --- ### `POST /contracts/{contract_id}/documents/{document_id}/replace-file` Replace a Contract Document File **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `document_id` (required): integer — Identifier of the parent contract document. --- ## Contract Payments ### `GET /contracts/{contract_id}/payments` Get a List of a Contract's Payments **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. --- ### `POST /contracts/{contract_id}/payments` Create a Contract Payment **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. --- ### `GET /contracts/{contract_id}/payments/{payment_id}` Get a Single Contract Payment **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `payment_id` (required): integer — Identifier of the contract payment. --- ### `DELETE /contracts/{contract_id}/payments/{payment_id}` Delete a Contract Payment **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `payment_id` (required): integer — Identifier of the contract payment. --- ## Signature Requests ### `GET /contracts/{contract_id}/signature-request` Get Contract's Active Signature Request **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. --- ### `GET /contracts/{contract_id}/signature-requests` Get a List of a Contract's Signature Requests **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. **Query parameters:** - `signing_service`: string — Filter signature requests by the signing service type. - `status`: string — Filter by a list of status states. --- ### `GET /contracts/{contract_id}/signature-requests/{request_id}` Get a Single Signature Request **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `request_id` (required): integer — Identifier of the contract signature request you'd like to get. --- ### `POST /contracts/{contract_id}/signature-requests/{request_id}/cancel` Cancel a Signature Request **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `request_id` (required): integer — Identifier of the contract signature request you'd like to cancel. **Request body (JSON):** - `reason`: string (required) — The reason for cancelling the contract. --- ### `POST /contracts/{contract_id}/signature-requests/{request_id}/resend` Resend a Signature Request **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `request_id` (required): integer — Identifier of the contract signature request you'd like to resend. --- ## Signature Request Recipients ### `GET /contracts/{contract_id}/signature-requests/{request_id}/recipients` Get a List of a Signature Request's Recipients **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `request_id` (required): integer — Identifier of the parent contract signature request. **Query parameters:** - `status`: boolean — Filter by a list of recipient status states. --- ### `GET /contracts/{contract_id}/signature-requests/{request_id}/recipients/{recipient_id}` Get a Single Signature Request Recipient **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `request_id` (required): integer — Identifier of the parent contract signature request. - `recipient_id` (required): integer — Identifier of the recipient you want to get. --- ### `PUT /contracts/{contract_id}/signature-requests/{request_id}/recipients/{recipient_id}` Update a Signature Request Recipient **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `request_id` (required): integer — Identifier of the parent contract signature request. - `recipient_id` (required): integer — Identifier of the recipient you want to get. --- ### `DELETE /contracts/{contract_id}/signature-requests/{request_id}/recipients/{recipient_id}` Delete a Signature Request Recipient **Path parameters:** - `contract_id` (required): integer — Identifier of the parent contract. - `request_id` (required): integer — Identifier of the parent contract signature request. - `recipient_id` (required): integer — Identifier of the recipient you want to get. --- ## Creatives (All) ### `GET /creatives` Get a List of All Creatives **Query parameters:** - `type`: string — Filter the results by a certain type of creative. Options are: `image`, `video`, - `types`: string — Filter the results by multiple types of creatives. Must be formatted as a string --- ## Creatives / Audio ### `GET /creatives/audio` Get a List of Audio Creatives --- ### `POST /creatives/audio` Create an Audio Creative **Request body (JSON):** - `file`: string (required) — The absolute or relative path to the audio (MP3, AAC, M4A, WEBM, OGG or WAV) file. - `attributes`: string --- ### `GET /creatives/audio/{id}` Get a Single Audio Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to get. --- ### `PUT /creatives/audio/{id}` Update an Audio Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to update. --- ### `DELETE /creatives/audio/{id}` Delete an Audio Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to delete. --- ### `POST /creatives/audio/{id}/replace-file` Replace the File on an Audio Creative **Request body (JSON):** - `file`: string (required) — The absolute or relative path to the audio (MP3, AAC, M4A, WEBM, OGG or WAV) file. --- ## Creatives / Image ### `GET /creatives/image` Get a List of Image Creatives --- ### `POST /creatives/image` Create an Image Creative **Request body (JSON):** - `file`: string (required) — The absolute or relative path to the image (JPEG, PNG, or GIF) file. - `attributes`: string — A JSON-encoded object containing the required property `group`, which is a valid ID of a media group. This object can op --- ### `GET /creatives/image/{id}` Get a Single Image Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to get. --- ### `PUT /creatives/image/{id}` Update an Image Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to update. --- ### `DELETE /creatives/image/{id}` Delete an Image Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to delete. --- ### `POST /creatives/image/{id}/replace-file` Replace the File on an Image Creative **Request body (JSON):** - `file`: string (required) — The absolute or relative path to the image (JPEG, PNG, or GIF) file. --- ## Creatives / Rich Media ### `GET /creatives/rich-media` Get a List of Rich Media Creatives --- ### `POST /creatives/rich-media` Create a Rich Media Creative **Request body (JSON):** - `file`: string (required) — The absolute or relative path to the rich media (ZIP) file. - `attributes`: string — A JSON-encoded object containing the required property `group`, which is a valid ID of a media group. This object can op --- ### `GET /creatives/rich-media/{id}` Get a Single Rich Media Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to get. --- ### `PUT /creatives/rich-media/{id}` Update a Rich Media Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to update. --- ### `DELETE /creatives/rich-media/{id}` Delete a Rich Media Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to delete. --- ### `POST /creatives/rich-media/{id}/replace-file` Replace the File on a Rich Media Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to update. **Request body (JSON):** - `attributes`: string - `file`: string (required) — The absolute or relative path to the rich media (ZIP) file. --- ## Creatives / Video ### `GET /creatives/video` Get a List of Video Creatives --- ### `POST /creatives/video` Create a Video Creative **Request body (JSON):** - `file`: string (required) — The absolute or relative path to the video (FLV, MP4, WEBM, or OGG) file. - `attributes`: string — A JSON-encoded object containing the required property `group`, which is a valid ID of a media group. This object can op --- ### `GET /creatives/video/{id}` Get a Single Video Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to get. --- ### `PUT /creatives/video/{id}` Update a Video Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to update. --- ### `DELETE /creatives/video/{id}` Delete a Video Creative **Path parameters:** - `id` (required): integer — Identifier of the creative you'd like to delete. --- ### `POST /creatives/video/{id}/replace-file` Replace the File on a Video Creative **Request body (JSON):** - `file`: string (required) — The absolute or relative path to the video (FLV, MP4, WEBM, or OGG) file. --- ## Data Key Targets ### `GET /data-key-targets` Get a List of Data Key Targets --- ### `POST /data-key-targets` Create a Data Key Target --- ### `GET /data-key-targets/{id}` Get a Single Data Key Target **Path parameters:** - `id` (required): integer — Identifier of the Data Key Target you'd like to get. --- ### `PUT /data-key-targets/{id}` Update a Data Key Target **Path parameters:** - `id` (required): integer — Identifier of the Data Key Target you'd like to update. --- ### `DELETE /data-key-targets/{id}` Delete a Data Key Target **Path parameters:** - `id` (required): integer — Identifier of the Data Key Target you'd like to delete. --- ## Data Keys ### `GET /data-keys` Get a List of Data Keys --- ### `POST /data-keys` Create a Data Key --- ### `GET /data-keys/{id}` Get a Single Data Key **Path parameters:** - `id` (required): integer — Identifier of the Data Key you'd like to get. --- ### `PUT /data-keys/{id}` Update a Data Key **Path parameters:** - `id` (required): integer — Identifier of the Data Key you'd like to update. --- ### `DELETE /data-keys/{id}` Delete a Data Key **Path parameters:** - `id` (required): integer — Identifier of the Data Key you'd like to delete. --- ## Data Lists ### `POST /data-lists` Create a Data List --- ### `GET /data-lists/{id}` Get a Single Data List **Path parameters:** - `id` (required): integer — Identifier of the data list you want to get. --- ### `PUT /data-lists/{id}` Update a Data List **Path parameters:** - `id` (required): integer — Identifier of the data list you want to update. --- ### `DELETE /data-lists/{id}` Delete a Data List **Path parameters:** - `id` (required): integer — Identifier of the data list you want to delete. --- ### `GET /data-targets` Get a List of Data Lists --- ## Data Lists / Bulk Upload ### `POST /data-lists/{id}/bulk-upload-add` Bulk upload list data to add to existing data list **Path parameters:** - `id` (required): integer — Identifier of the data list you want to add to. --- ### `POST /data-lists/{id}/bulk-upload-remove` Bulk upload list data to remove from existing data list **Path parameters:** - `id` (required): integer — Identifier of the data list you want to remove from. --- ### `POST /data-lists/{id}/bulk-upload-replace` Bulk upload list data to replace existing data list **Path parameters:** - `id` (required): integer — Identifier of the data list you want to replace. --- ## Day Parting ### `GET /day-parting` Get a list of Day Parting configurations **Query parameters:** - `is_template`: boolean — Filter by the `is_template` field. If set to **true**, only day parting configur --- ### `POST /day-parting` Create a Day Parting configuration --- ### `GET /day-parting/{id}` Get a single Day Parting configuration. **Path parameters:** - `id` (required): integer — Identifier of the day parting config you'd like to get. --- ### `PUT /day-parting/{id}` Update a Day Parting configuration **Path parameters:** - `id` (required): integer — Identifier of the day parting config you'd like to update. --- ### `DELETE /day-parting/{id}` Delete a Day Parting configuration **Path parameters:** - `id` (required): integer — Identifier of the day parting config you'd like to delete. --- ## Demand Endpoints ### `GET /demand-endpoints` Get a List of Demand Endpoints --- ### `POST /demand-endpoints` Create a Demand Endpoint --- ### `GET /demand-endpoints/{id}` Get a Single Demand Endpoint **Path parameters:** - `id` (required): integer — Identifier of the demand endpoint you'd like to get. --- ### `PUT /demand-endpoints/{id}` Update a Demand Endpoint **Path parameters:** - `id` (required): integer — Identifier of the demand endpoint you'd like to update. --- ### `DELETE /demand-endpoints/{id}` Delete a Demand Endpoint **Path parameters:** - `id` (required): integer — Identifier of the publisher you'd like to delete. --- ## Demand Sources ### `GET /demand-sources` Get a List of Demand Sources --- ### `POST /demand-sources` Create a Demand Source --- ### `GET /demand-sources/{id}` Get a Single Demand Source **Path parameters:** - `id` (required): integer — Identifier of the demand source you'd like to get. --- ### `PUT /demand-sources/{id}` Update a Demand Source **Path parameters:** - `id` (required): integer — Identifier of the demand source you'd like to update. --- ### `DELETE /demand-sources/{id}` Delete a Demand Source **Path parameters:** - `id` (required): integer — Identifier of the publisher you'd like to delete. --- ## Retrieve Event Logs ### `GET /event-logs` Retrieve Event Logs **Query parameters:** - `log_type` (required): string — The type of event log you wish to view. The value must be one of **display_impre - `from`: string — The start date of the range to retrieve event logs for. The value must be in YYY - `to`: string — The end date of the range to retrieve event logs for. The value must be in YYYY- --- ## Event Log Backups Upload Configurations ### `GET /event-logs/upload-configuration/` Get a List of All Upload Configurations --- ### `POST /event-logs/upload-configuration/` Create an Upload Configuration --- ### `GET /event-logs/upload-configuration/{upload_configuration_id}` Get a Single Upload Configuration **Path parameters:** - `upload_configuration_id` (required): integer — Identifier of the upload configuration you'd like to get. --- ### `PUT /event-logs/upload-configuration/{upload_configuration_id}` Update an Upload Configuration **Path parameters:** - `upload_configuration_id` (required): integer — Identifier of the upload configuration you'd like to update. --- ### `DELETE /event-logs/upload-configuration/{upload_configuration_id}` Delete an Upload Configuration **Path parameters:** - `upload_configuration_id` (required): integer — Identifier of the upload configuration you'd like to delete. --- ## Event Log Backups Upload Logs ### `GET /event-logs/upload-log/` Get a List of All Upload Logs --- ### `GET /event-logs/upload-log/{upload_log_id}` Get a Single Upload Log **Path parameters:** - `upload_log_id` (required): integer — Identifier of the upload log you'd like to get. --- ## Geo Targets ### `GET /geo-targets` Get a List of Geo Targets --- ### `POST /geo-targets` Create a Geo Target **Request body (JSON):** - `areas`: array (required) — A list of areas to include in the geo target. Each `area` object represents some location on a map. --- ### `GET /geo-targets/{id}` Get a Single Geo Target **Path parameters:** - `id` (required): integer — Identifier of the geo target you want to get. --- ### `PUT /geo-targets/{id}` Update a Geo Target **Path parameters:** - `id` (required): integer — Identifier of the geo target you want to update. **Request body (JSON):** - `areas`: array — A list of areas to include in the geo target. Each `area` object represents some location on a map. --- ### `DELETE /geo-targets/{id}` Delete a Geo Target **Path parameters:** - `id` (required): integer — Identifier of the geo target you want to delete. --- ## List Targets ### `GET /list-targets` Get a List of List Targets --- ### `POST /list-targets` Create a List Target --- ### `GET /list-targets/{id}` Get a Single List Target **Path parameters:** - `id` (required): integer — Identifier of the list target you want to get. --- ### `PUT /list-targets/{id}` Update a List Target **Path parameters:** - `id` (required): integer — Identifier of the list target you want to update. --- ### `DELETE /list-targets/{id}` Delete a List Target **Path parameters:** - `id` (required): integer — Identifier of the list target you want to delete. --- ### `POST /list-targets/{id}/remove-usages` Remove Usages of a List Target **Path parameters:** - `id` (required): integer — Identifier of the list target you want to remove usages for. --- ## Live Website Preview ### `GET /live-website-preview` Retrieve Live Website Preview URL **Query parameters:** - `website_url` (required): string — Specify the URL of the page you want to preview. - `preview_at`: string — A valid ISO 8601 formatted - `location[city]`: string — This field lets you filter the preview by city. This field can only exist when a - `location[region]`: string — This field lets you filter the preview by region. This field can only exist when - `location[country]`: string — This field lets you filter the preview by country. - `advertiser`: integer — This field lets you filter the preview based on the advertiser id provided. --- ## Managers ### `GET /managers` Get a List of Managers --- ### `POST /managers` Create a Manager **Request body (JSON):** - `password`: string — The password used by the manager to sign in to AdButler. The given password must be 8 or more characters and contain at --- ### `GET /managers/{id}` Get a Single Manager **Path parameters:** - `id` (required): integer — Identifier of the manager you'd like to get. --- ### `PUT /managers/{id}` Update a Manager **Path parameters:** - `id` (required): integer — Identifier of the manager you'd like to update. **Request body (JSON):** - `password`: string — The password used by the manager to sign in to AdButler. The given password must be 8 or more characters and contain at --- ### `DELETE /managers/{id}` Delete a Manager **Path parameters:** - `id` (required): integer — Identifier of the manager you'd like to delete. --- ## Manual Tracking Links ### `GET /manual-tracking-links` Generate Manual Tracking Links for an Ad Item **Path parameters:** - `placement` (required): integer — The placement ID that contains the ad item for which you want tracking links. - `ad_item`: integer — The ID of the ad item for which you want tracking links. `ad_item` is a required - `type`: string — Specifies the type of tracking links to generate and can be any of the following - `protocol`: string — Whether to use http or https protocol for your tracking links. Accepted values a --- ## Media Groups ### `GET /media-groups` Get a List of Media Groups --- ### `POST /media-groups` Create a Media Group --- ### `GET /media-groups/{id}` Get a Single Media Group **Path parameters:** - `id` (required): integer — Identifier of the media_group you'd like to get. --- ### `PUT /media-groups/{id}` Update a Media Group **Path parameters:** - `id` (required): integer — Identifier of the media_group you'd like to update. --- ### `DELETE /media-groups/{id}` Delete a Media Group **Path parameters:** - `id` (required): integer — Identifier of the media_group you'd like to delete. --- ## Placements ### `GET /placements` Get a list of Placements **Query parameters:** - `zone`: integer — Filter the placements by a single zone ID. Note: this filter is ignored if the ` - `ad_item`: integer — Filter the placements by a single ad item ID. Note: this filter is ignored if th - `campaign`: integer — Filter the placements by a single campaign ID. Note: this filter is ignored if t - `bidder`: integer — Filter the placements by a single bidder ID. Note: this filter is ignored if the - `channel`: integer — Filter the placements by a single channel ID. Note: this filter is ignored if th - `type`: integer — Filter the placements by the type of advertisement. Valid options are: __campaig --- ### `POST /placements` Create a Placement --- ### `GET /placements/{id}` Get a Single Placement **Path parameters:** - `id` (required): integer — Identifier of the placement you'd like to get. --- ### `PUT /placements/{id}` Update a Placement **Path parameters:** - `id` (required): integer — Identifier of the placement you'd like to update. --- ### `DELETE /placements/{id}` Delete a Placement **Path parameters:** - `id` (required): integer — Identifier of the placement you'd like to delete. --- ### `GET /placements/{id}/conversion-tag` Retrieve Placement Conversion Tag **Path parameters:** - `id` (required): integer — Identifier of the placement you'd like to get a conversion tag for. --- ## Platform Targets ### `GET /platform-targets` Get a List of Platform Targets --- ### `POST /platform-targets` Create a Platform Target --- ### `GET /platform-targets/{id}` Get a Single Platform Target **Path parameters:** - `id` (required): integer — Identifier of the platform target you'd like to get. --- ### `PUT /platform-targets/{id}` Update a Platform Target **Path parameters:** - `id` (required): integer — Identifier of the platform target you'd like to update. --- ### `DELETE /platform-targets/{id}` Delete a Platform Target **Path parameters:** - `id` (required): integer — Identifier of the platform target you'd like to delete. --- ## PMP Deals ### `GET /pmp-deals` Get a list of PMP Deals --- ### `POST /pmp-deals` Create a PMP Deal. --- ### `GET /pmp-deals/{id}` Get a single PMP Deal. **Path parameters:** - `id` (required): integer — Identifier of the PMP Deal you'd like to get. --- ### `PUT /pmp-deals/{id}` Update a PMP Deal **Path parameters:** - `id` (required): integer — Identifier of the PMP Deal you'd like to update. --- ### `DELETE /pmp-deals/{id}` Delete a PMP Deal **Path parameters:** - `id` (required): integer — Identifier of the PMP Deal you'd like to delete. --- ## Postal Code Targets ### `GET /postal-code-targets` Get a List of Postal Code Targets --- ### `POST /postal-code-targets` Create a Postal Code Target --- ### `GET /postal-code-targets/{id}` Get a Single Postal Code Target **Path parameters:** - `id` (required): integer — Identifier of the postal code target you want to get. --- ### `PUT /postal-code-targets/{id}` Update a Postal Code Target **Path parameters:** - `id` (required): integer — Identifier of the postal code target you want to update. --- ### `DELETE /postal-code-targets/{id}` Delete a Postal Code Target **Path parameters:** - `id` (required): integer — Identifier of the postal code target you want to delete. --- ## Publishers ### `GET /publishers` Get a List of Publishers --- ### `POST /publishers` Create a Publisher **Request body (JSON):** - `password`: string — The password of the optional user account tied to this publisher. The given password must be 8 or more characters and co --- ### `GET /publishers/{id}` Get a Single Publisher **Path parameters:** - `id` (required): integer — Identifier of the publisher you'd like to get. --- ### `PUT /publishers/{id}` Update a Publisher **Path parameters:** - `id` (required): integer — Identifier of the publisher you'd like to update. **Request body (JSON):** - `password`: string — The password of the optional user account tied to this publisher. The given password must be 8 or more characters and co --- ### `DELETE /publishers/{id}` Delete a Publisher **Path parameters:** - `id` (required): integer — Identifier of the publisher you'd like to delete. --- ### `GET /publishers/{id}/archive` Archive a Publisher **Path parameters:** - `id` (required): integer — Identifier of the publisher you'd like to archive. --- ## Publishers / Archived ### `GET /publishers/archived` Get a List of Archived Publishers --- ### `GET /publishers/archived/{id}` Get a Single Archived Publisher **Path parameters:** - `id` (required): integer — Identifier of the archived resource. --- ### `GET /publishers/archived/{id}/unarchive` Unarchive a Publisher **Path parameters:** - `id` (required): integer — Identifier of the publisher you'd like to unarchive - `include_campaign_assignments`: boolean — Whether or not to include related campaign assignments when unarchiving the reso - `include_placements`: boolean — Whether or not to include related placements when unarchiving the resource. If a --- ## Product DB / Catalog ### `GET /publishers/{publisher_id}/product-db/catalogs` Get a List of Product Catalogs **Path parameters:** - `publisher_id` (required): integer — Identifier of the Publisher. --- ### `POST /publishers/{publisher_id}/product-db/catalogs` Create a Product Catalog **Path parameters:** - `publisher_id` (required): integer — Identifier of the Publisher. **Request body (JSON):** - `label`: string (required) — A text label used to identify this catalog - `source`: string — Source of data used to populate this catalog. Currently only 'database' is supported. - `identifier_field`: string — CSV column name for the unique identifier field (ie. to uniquely identify a product). Must be defined in the 'field_list - `title_field`: string — CSV column name for the product title. Must be defined in the 'field_list' as well. - `description_field`: string — CSV column name for the product description. Must be defined in the 'field_list' as well. - `seller_id_field`: string — CSV column name for the internal seller id (advertiser). Must be defined in the 'field_list' as well. - `gtin_field`: string — A column name for the GTIN field (ex. a UPC). Must be defined in the 'field_list' as well. - `field_list`: array (required) — A list of all columns that will be available for submission when adding or uploading catalog items. --- ### `GET /publishers/{publisher_id}/product-db/catalogs/{catalog_id}` Get a Single Product Catalog **Path parameters:** - `publisher_id` (required): integer — Identifier of the Publisher. - `catalog_id` (required): integer — Identifier of the Product Catalog. --- ### `PUT /publishers/{publisher_id}/product-db/catalogs/{catalog_id}` Update a Product Catalog **Path parameters:** - `publisher_id` (required): integer — Identifier of the Publisher. - `catalog_id` (required): integer — Identifier of the Product Catalog. **Request body (JSON):** - `label`: string — A text label used to identify this catalog - `field_list`: array — A list of all columns that will be available for submission when adding or uploading catalog items. You may change the ' --- ## Product DB / Catalog Items ### `POST /publishers/{publisher_id}/product-db/catalogs/{catalog_id}/items` Create a Product Catalog Item **Path parameters:** - `publisher_id` (required): integer — Identifier of the Publisher. - `catalog_id` (required): integer — Identifier of the Product Catalog. **Request body (JSON):** - `item_data`: object (required) --- ### `GET /publishers/{publisher_id}/product-db/catalogs/{catalog_id}/items/search` Search Product Catalog Items **Path parameters:** - `publisher_id` (required): integer — Identifier of the Publisher. - `catalog_id` (required): integer — Identifier of the Product Catalog. **Query parameters:** - `seller_id`: string — The seller's id - `search_text`: string — Text to search product titles and brands with - `identifier`: string — The catalog identifier to search for (eg. a SKU) - `gtin`: string — A GTIN value to search for (eg a UPC) - `page`: integer — The page in which to return results from (1-N) - `limit`: integer — The number of results per page to return (1-100) --- ### `GET /publishers/{publisher_id}/product-db/catalogs/{catalog_id}/items/{identifier}` Get a Single Product Catalog Item **Path parameters:** - `publisher_id` (required): integer — Identifier of the Publisher. - `catalog_id` (required): integer — Identifier of the Product Catalog. - `identifier` (required): string — The unique identifier defined for this catalog item. --- ### `PUT /publishers/{publisher_id}/product-db/catalogs/{catalog_id}/items/{identifier}` Update a Product Catalog Item **Path parameters:** - `publisher_id` (required): integer — Identifier of the Publisher. - `catalog_id` (required): integer — Identifier of the Product Catalog. - `identifier` (required): string — The unique identifier defined for this catalog item. **Request body (JSON):** - `item_data`: object --- ## Product DB / Catalog Items / Bulk Upload ### `POST /publishers/{publisher_id}/product-db/catalogs/{catalog_id}/items/bulk-upload` Bulk Upload a Catalog CSV **Path parameters:** - `publisher_id` (required): integer — Identifier of the Publisher. - `catalog_id` (required): integer — Identifier of the Product Catalog. **Request body (JSON):** - `file`: string (required) — The CSV file to upload. Column names must match the fields submitted to the catalog. - `attributes`: string —
A JSON string of key-value pairs to assist in the bulk upload process.
Currently accepts: