Named Accounts

Named Accounts Endpoint Reference

Marketo offers a set of APIs for performing CRUD operations on named accounts for use with Marketo ABM.  These APIs follow the standard interface pattern for lead database APIs, providing Describe, Create/Update, Delete, and Query options.

 

At this time, the only ABM related functions available via Marketo’s APIs are the CRUD operations for named accounts; Leads cannot be linked to named accounts via any APIs.

Describe

Describing Named Accounts will return metadata related to the usage of named accounts via Marketo’s APIs, including a list of valid searchable fields when querying, and a list of all fields available for API usage.  The idField of a named account is always marketoGUID, and the only available dedupeField, and key for creation is the name field of the object.

Query

Querying for named accounts is based on the usage of a filterType and a set of up to 300 comma-separated filterValues.  filterType may be any single field returned in the searchableFields member of the describe result for named accounts, while filterValues may be any valid input for the datatype of the field.  To return a specific set of fields from, a fields parameter must be passed, where the value is a comma-separated list of fields to be returned in the response.  Like other query options, the maximum number of records for a single query page is 300, and additional records in the set must be requested with the usage of the nextPageToken returned by the call.

Create and Update

Creating and updating named accounts follows the standard lead database pattern.  Records must be passed in the input member of a JSON body in a POST request.  input is the only required member, with action and dedupeBy as optional members.  Up to 300 records may be included in the input.  action may be one of createOnly, updateOnly, or createOrUpdate.  If unspecified, action will default to createOrUpdate.  dedupeBy may only be specified when action is updateOnly, and only accepts one of dedupeFields or idField, which correspond to the name and marketoGUID fields, respectively.

Fields

The named account object contains a set of fields.  Each field definition is comprised of a set of attributes that describe the field.  Examples of attributes are display name, API name, and dataType.  These attributes are known collectively as metadata.

The following endpoints allow you to query fields on the company object. These APIs require that the owning API user have a role with one or both of the Read-Write Schema Standard Field or Read-Write Schema Custom Field permissions.

Query Fields

Querying named account fields is straightforward.  You may query a single named account field by API name or query the set of all company fields.

By Name

The Get Named Account Field by Name endpoint retrieves metadata for a single field on the named account object.  The required fieldApiName path parameter specifies the API name of the field.  The response is like the Describe Named Account endpoint but contains additional metadata such as the isCustom attribute which denotes whether the field is a custom field.

Browse

The Get Named Account Fields endpoint retrieves metadata for all fields on the named account object.  By default, a maximum of 300 records are returned.  You can use the batchSize query parameter to reduce this number.  If the moreResult attribute is true, this means more results are available.  Continue to call this endpoint until the moreResult attribute returns false, which means there are no results available.  The nextPageToken returned from this API should always be reused for the next iteration of this call.

Delete

Deletions are done via a JSON POST request and has a required input member, and an optional deleteBy member.  deleteBy may be one of “dedupeFields” or “idField”, corresponding to name or marketoGUID, respectively, and will default to dedupeFields if unset.  The input member accepts an array of up to 300 records, containing one member each, either name or marketoGUID depending on the setting of deleteBy.

Timeouts

  • Named Account endpoints have a timeout of 30s unless noted below
    • Sync Named Accounts: 120s 
    • Delete Named Accounts: 60s