NAV
HTTP

Introduction

Welcome to the LeadPages Integrations API documentation. You can use this API to configure Integrations, Forms and manage Submissions.

This API adheres to the LeadPages HTTP API Standards document.

We suggest starting with the Walkthrough to begin accessing the API.

Walkthrough

A quick way to jump into Hydra is to use a tool like cURL to work with the API. This has the additional advantage of forcing you to consider each header and aspect of the request as you're learning it.

These examples use the syntax of the HTTPie tool.

You'll also need to be set up with the LeadPages API Gateway, Stargate. If you don't have any tokens or authentication set up, come back here after getting comfortable with Stargate.

The Stargate Walkthrough is the best place to begin.

Endpoints

/integration/v1

The integrations API.

Ping

/integration/v1/ping

A no-op endpoint that can be used to check what the currently-deployed version of the API is.

http GET http://hydra.docker/integration/v1/ping
{
    "_meta": {
        "_version": "0.1.0"
    },
    "_status": {
        "code": 200
    }
}

Request

GET /integration/v1/ping

Body
Empty

Response

Body
_meta._version String
The current internal version number of the API.
_meta Dictionary
Responses
200 OK
Errors
Empty


Providers

/integration/v1/providers

Providers are the available backends with which a user may configure an integration. A provider can be any kind of service provider, like a CRM, email service provider, webinar provider or payment processor for example. Provider information is readable by everyone but only super users may create, update or delete providers.

http GET http://hydra.docker/integration/v1/providers
{
  "_meta": {
    "limit": 20,
    "total": null,
    "cursor": "RStBQkFJSUNPbW9LYkdWaFpDMXdZV2RsYzNJa0N4SUlVSEp2ZG1sa1pYSWlGbnBUVUhsd2VGcFdSSFZhYzB0UU5WTlpWSE5pVGxVTW9nRUZhSGxrY21FVQ==",
    "count": 1
  },
  "_items": [
    {
      "provider": {
        "credentialsKind": "Key",
        "name": "MailChimp",
        "keyLabel": "API Key",
        "category": "EmailServices",
        "capabilities": ["write"],
        "userSettings": [],
        "baseUri": "http://mailchimp.docker/mailchimp/v1"
      },
      "_meta": {
        "id": "abc",
        "uri": "http://hydra.docker/integration/v1/providers/abc",
        "created": "2015-09-23T14:34:30.601100+00:00",
        "updated": "2015-09-23T14:34:30.632811+00:00"
      },
      "kind": "KeyProvider"
    }
  ],
  "_status": {
    "code": 200
  }
}

Request

GET /integration/v1/providers

Enumerate Providers.

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Provider]
Responses
200 OK
Errors
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header


http POST http://hydra.docker/integration/v1/providers < mailchimp.json
{
    "baseUri": "http://mailchimp.docker/mailchimp/v1"
}
{
    "provider": {
        "credentialsKind": "Key",
        "name": "MailChimp",
        "keyLabel": "API Key",
        "category": "EmailServices",
        "capabilities": ["write"],
        "userSettings": [],
        "baseUri": "http://mailchimp.docker/mailchimp/v1"
    },
    "_meta": {
        "uri": "http://hydra.docker/integration/v1/providers/abc",
        "id": "abc",
        "created": "2015-09-24T19:27:34.319142+00:00",
        "updated": "2015-09-24T19:27:35.058511+00:00"
    },
    "_status": {
        "code": 200
    },
    "kind": "KeyProvider"
}
http POST http://hydra.docker/integration/v1/providers < aweber.json
{
    "baseUri": "http://aweber.docker/aweber/v1"
}
{
    "provider": {
        "credentialsKind": "OAuth",
        "name": "AWeber",
        "keyCount": 0,
        "keyLabels": [],
        "category": "EmailServices",
        "capabilities": ["write"],
        "userSettings": [],
        "baseUri": "http://aweber.docker/aweber/v1"
    },
    "_meta": {
        "uri": "http://hydra.docker/integration/v1/providers/bcd",
        "id": "bcd",
        "created": "2015-09-25T13:09:16.366243+00:00",
        "updated": "2015-09-25T13:09:16.395879+00:00"
    },
    "_status": {
        "code": 200
    },
    "kind": "OAuthProvider"
}
http POST http://hydra.docker/integration/v1/providers < gotowebinar.json
{
    "baseUri": "http://gotowebinar.docker/gotowebinar/v1",
    "name": "GoToWebinar"
}
{
    "provider": {
        "credentialsKind": "OAuth2",
        "name": "Gotowebinar",
        "keyCount": 0,
        "keyLabels": [],
        "category": "WebinarServices",
        "capabilities": ["write"],
        "baseUri": "http://gotowebinar.docker/gotowebinar/v1"
    },
    "_meta": {
        "uri": "http://hydra.docker/integration/v1/providers/cde",
        "id": "cde",
        "created": "2015-09-25T13:12:46.064565+00:00",
        "updated": "2015-09-25T13:12:46.095472+00:00"
    },
    "_status": {
        "code": 200
    },
    "kind": "OAuth2Provider"
}

Request

POST /integration/v1/providers

Create a new Provider.

Body
name String?
The unique name of the Provider. This field can be omitted in which case the Provider name will be grabbed off of its metadata.
baseUri URI
The base URI of this Provider's agent.
capacities List?[String]
Which capacities, if any, this Provider is expected to act in if it supports them.

Response

Body
kind Enum('IdentityUserProvider', 'KeyProvider', 'KeysProvider', 'OAuthProvider', 'OAuth2Provider')
provider Or[IdentityUserProvider, KeyProvider, KeysProvider, OAuthProvider, OAuth2Provider]
_meta Meta
Meta information about the resource.
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request invalid response from agent
400 Bad Request a provider with the name '{}' already exists
400 Bad Request bad content type
400 Bad Request missing Content-Type header
400 Bad Request provider does not support given capacities
400 Bad Request failed to parse JSON request


Provider

/integration/v1/providers/{uuid}

http GET http://hydra.docker/integration/v1/providers/abc
{
    "provider": {
      "credentialsKind": "Key",
      "name": "MailChimp",
      "keyLabel": "API Key",
      "category": "EmailServices",
      "capabilities": ["write"],
      "userSettings": [],
      "baseUri": "http://mailchimp.docker/mailchimp/v1"
    },
    "_meta": {
        "uri": "http://hydra.docker/integration/v1/providers/abc",
        "id": "abc",
        "created": "2015-09-24T19:27:34.319142+00:00",
        "updated": "2015-09-24T19:27:35.058511+00:00"
    },
    "_status": {
        "code": 200
    },
    "kind": "KeyProvider"
}

Request

GET /integration/v1/providers/{uuid}

View a Provider.

Body
Empty

Response

Body
kind Enum('IdentityUserProvider', 'KeyProvider', 'KeysProvider', 'OAuthProvider', 'OAuth2Provider')
provider Or[IdentityUserProvider, KeyProvider, KeysProvider, OAuthProvider, OAuth2Provider]
_meta Meta
Meta information about the resource.
Responses
200 OK
Errors
404 Not Found provider '{}' not found


Request

PATCH /integration/v1/providers/{uuid}

Update a Provider's metadata.

Body
Empty

Response

Body
kind Enum('IdentityUserProvider', 'KeyProvider', 'KeysProvider', 'OAuthProvider', 'OAuth2Provider')
provider Or[IdentityUserProvider, KeyProvider, KeysProvider, OAuthProvider, OAuth2Provider]
_meta Meta
Meta information about the resource.
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request agent has changed its kind
404 Not Found provider '{}' not found


Integrations

/integration/v1/integrations

Integrations are configured Provider instances. When a provider is set up to work specifically for a user, it becomes an integration owned by that user. The list of integrations returned is always scoped to those belonging to the current user.

Request

GET /integration/v1/integrations

Enumerate Integrations.

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".
provider Or?[String, List]
If this parameter is provided then only integrations matching the given provider(s) will be returned.
include Or?[String, List]
Integrations do no list expired or read only collections by default. You can use this argument to make this endpoint include such collections (eg. `include=expired` or `include=expired&include=readonly`)

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Integration]
Responses
200 OK
Errors
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header


Request

POST /integration/v1/integrations

Create a new Integration and its matching set of Credentials. The ids for both the integration and its credentials are returned in the response. OAuth and OAuth2-based integrations require you to view the generated Credentials resource in order to grab the redirectUri. You must redirect your user to that URI in order to complete the authorization process. Once they have authorized the Provider to use their account, they will be redirected back to your chosen successUri.

Body
name String
The Integration's name.
Note: the uniqueness of Integration names is not enforced.
provider String
The unique id of the Provider this Integration is based on.
credentials CreateIntegrationCredentials
The Credentials this Integration must use when it communicates with the Provider.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.

Response

Body
name String
The Integration's name.
Note: the uniqueness of Integration names is not enforced.
provider String
The unique id of the Provider this Integration is based on.
credentials String
The unique id of the Credentials this Integration uses.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
_meta Meta
Meta information about the resource.
status Enum('ready', 'loading', 'done', 'reauthorizing', 'failed', 'authorization-request')
The status of the Integration.
failureReason Enum('authorization-failed', 'protocol-violation', 'retries-exceeded', 'timeout', 'unknown', 'integration-failure')
The reason why the Integration is marked as `FAILED`, if applicable.
collections List[Collection]
tagGroups List?[TagGroup]
statusUpdates List?[StatusUpdate]
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request invalid credentials
400 Bad Request bad content type
400 Bad Request credentials must be of kind '{}'
400 Bad Request missing Content-Type header
400 Bad Request failed to parse JSON request
400 Bad Request could not validate credentials
404 Not Found provider '{}' not found.
502 Bad Gateway the request could not be processed


Request

PATCH /integration/v1/integrations

Update multiple Integrations at once.

Body
integrations List[UpdateIntegrationWithId]

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Integration]
Responses
200 OK
Errors
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header


Integration

/integration/v1/integrations/{uuid}

Request

GET /integration/v1/integrations/{uuid}

View an Integration.

Body
Empty
Query string
provider Or?[String, List]
If this parameter is provided then only integrations matching the given provider(s) will be returned.
include Or?[String, List]
Integrations do no list expired or read only collections by default. You can use this argument to make this endpoint include such collections (eg. `include=expired` or `include=expired&include=readonly`)

Response

Body
name String
The Integration's name.
Note: the uniqueness of Integration names is not enforced.
provider String
The unique id of the Provider this Integration is based on.
credentials String
The unique id of the Credentials this Integration uses.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
_meta Meta
Meta information about the resource.
status Enum('ready', 'loading', 'done', 'reauthorizing', 'failed', 'authorization-request')
The status of the Integration.
failureReason Enum('authorization-failed', 'protocol-violation', 'retries-exceeded', 'timeout', 'unknown', 'integration-failure')
The reason why the Integration is marked as `FAILED`, if applicable.
collections List[Collection]
tagGroups List?[TagGroup]
statusUpdates List?[StatusUpdate]
Responses
200 OK
Errors
404 Not Found unknown message


http PATCH http://hydra.docker/integration/v1/integrations/abc
{
    "_status": {
        "code": 200
    },
    "failureReason": null,
    "credentials": "itBkE2hti6GNTB4VEwvpUb",
    "provider": "4BVCTBHEGdqGhXkrqurksF",
    "collections": [],
    "name": "Mailchimp",
    "settings": {},
    "_meta": {
        "uri": "http://hydra.docker/integration/v1/integrations/abc",
        "id": "abc",
        "created": "2015-10-27T12:27:23+00:00",
        "updated": "2015-11-24T13:40:37+00:00"
    },
    "status": "loading"
}
http PATCH http://hydra.docker/integration/v1/integrations/abc < updates.json
{
    "name": "Mailchimps!",
    "settings": {"a": "b"}
}
{
    "_status": {
        "code": 200
    },
    "failureReason": null,
    "credentials": "itBkE2hti6GNTB4VEwvpUb",
    "provider": "4BVCTBHEGdqGhXkrqurksF",
    "collections": [],
    "name": "Mailchimps!",
    "settings": {"a": "b"},
    "_meta": {
        "uri": "http://hydra.docker/integration/v1/integrations/abc",
        "id": "abc",
        "created": "2015-10-27T12:27:23+00:00",
        "updated": "2015-11-24T13:40:37+00:00"
    },
    "status": "done"
}

Request

PATCH /integration/v1/integrations/{uuid}

Force an Integration to update its list of collections. This is usually done on the user's request after they have taken action on that integration's website (for example: after they have added or removed a list in Mailchimp).

Body
Empty

Response

Body
name String
The Integration's name.
Note: the uniqueness of Integration names is not enforced.
provider String
The unique id of the Provider this Integration is based on.
credentials String
The unique id of the Credentials this Integration uses.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
_meta Meta
Meta information about the resource.
status Enum('ready', 'loading', 'done', 'reauthorizing', 'failed', 'authorization-request')
The status of the Integration.
failureReason Enum('authorization-failed', 'protocol-violation', 'retries-exceeded', 'timeout', 'unknown', 'integration-failure')
The reason why the Integration is marked as `FAILED`, if applicable.
collections List[Collection]
tagGroups List?[TagGroup]
statusUpdates List?[StatusUpdate]
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request JSON decode error
404 Not Found unknown message


Request

DELETE /integration/v1/integrations/{uuid}

Delete (soft) an Integration.

Body
Empty

Response

Body
Empty
Responses
200 OK
Errors
404 Not Found unknown message


Collections

/integration/v1/integrations/{uuid}/collections

Request

POST /integration/v1/integrations/{uuid}/collections

Create a new Collection in this Integration. This functionality is only available for Integrations that are based on Providers that have the creates-collections feature.

Body
parent String?
The id of then existing collection that the new one should be nested under.
name String
The new collection's name.
providerParams Dictionary?
An unconstrained dictionary of params custom to the configured provider for this integration-collection.

Response

Body
id String
The unique id of a Collection.
Note: these are only unique within the context of an Integration. Two Integrations could have clashing collection identifiers between them.
path List[String]
A list of strings representing the fully qualified path of this collection within the Provider (for example, in AWeber's case this would be a list of two elements, the first element representing the AWeber list and the second representing a Form belonging to that list.
status String?
The status of this collection within the Agent.
Responses
201 Created
Errors
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header


Collection

/integration/v1/integrations/{uuid}/collections/{collection_uuid}

Request

PUT /integration/v1/integrations/{uuid}/collections/{collection_uuid}

Create or replace a Collection in this Integration. This functionality is only available for Integrations that are based on Providers that have the creates-collections feature.

Body
parent String?
The id of then existing collection that the new one should be nested under.
name String
The new collection's name.
providerParams Dictionary?
An unconstrained dictionary of params custom to the configured provider for this integration-collection.

Response

Body
id String
The unique id of a Collection.
Note: these are only unique within the context of an Integration. Two Integrations could have clashing collection identifiers between them.
path List[String]
A list of strings representing the fully qualified path of this collection within the Provider (for example, in AWeber's case this would be a list of two elements, the first element representing the AWeber list and the second representing a Form belonging to that list.
status String?
The status of this collection within the Agent.
Responses
201 Created
Errors
400 Bad Request unknown message
400 Bad Request bad content type
400 Bad Request missing Content-Type header
400 Bad Request failed to parse JSON request
403 Forbidden unknown message
404 Not Found unknown message
409 Conflict unknown message
504 Gateway Timeout unknown message


Request

DELETE /integration/v1/integrations/{uuid}/collections/{collection_uuid}

Delete a Collection in this Integration. This functionality is only available for Integrations that are based on Providers that have the deletes-collections feature.

Body
Empty

Response

Body
Empty
Responses
204 No Content
Errors
400 Bad Request unknown message
400 Bad Request bad content type
400 Bad Request missing Content-Type header
400 Bad Request failed to parse JSON request
404 Not Found unknown message
409 Conflict unknown message
504 Gateway Timeout unknown message


Fields

/integration/v1/integrations/{uuid}/collections/{collection_uuid}/fields

Request

POST /integration/v1/integrations/{uuid}/collections/{collection_uuid}/fields

Create a new custom field on this collection, if available.

Body
kind Enum('TextField', 'CheckBoxField', 'ChoiceField', 'SelectField', 'MultiSelectField', 'RadioField', 'ReadOnlyField', 'HiddenField', 'SystemHiddenField', 'HiddenMultiSelectField', 'NumberField', 'IntegerField', 'PaymentAmountField', 'RefundAmountField', 'CouponAmountField', 'CurrencyField', 'StrictCurrencyField', 'PercentageField', 'TextAreaField', 'CommentField', 'DayField', 'DateField', 'DateTimeField', 'TimezoneOffsetField', 'URIField', 'PathField', 'UserAgentField', 'IPAddressField', 'IPv4AddressField', 'IPv6AddressField', 'PasswordField', 'EmailField', 'SalutationField', 'FullNameField', 'FirstNameField', 'MiddleNameField', 'LastNameField', 'AgeField', 'BirthdayField', 'BirthdateField', 'PhoneNumberField', 'HomePhoneNumberField', 'WorkPhoneNumberField', 'MobilePhoneNumberField', 'FaxNumberField', 'HomeFaxNumberField', 'WorkFaxNumberField', 'CompanyField', 'JobTitleField', 'IndustryField', 'NumberOfEmployeesField', 'AnnualRevenueField', 'WebsiteField', 'TagField', 'MultiTagField', 'HiddenMultiTagField', 'PostalCodeField', 'AddressStreetField', 'AddressCityField', 'AddressStateField', 'AddressStrictStateField', 'AddressPostalCodeField', 'AddressCountryField', 'AddressStrictCountryField', 'BillingAddressStreetField', 'BillingAddressCityField', 'BillingAddressStateField', 'BillingAddressStrictStateField', 'BillingAddressPostalCodeField', 'BillingAddressCountryField', 'BillingAddressStrictCountryField', 'ShippingAddressStreetField', 'ShippingAddressCityField', 'ShippingAddressStateField', 'ShippingAddressStrictStateField', 'ShippingAddressPostalCodeField', 'ShippingAddressCountryField', 'ShippingAddressStrictCountryField', 'UserHandleField', 'TwitterUserHandleField', 'FacebookUserHandleField', 'LinkedInUserHandleField', 'GooglePlusUserHandleField', 'GeographicLatitudeField', 'GeographicLongitudeField', 'GeographicElevationField', 'ViewportWidthField', 'ViewportHeightField', 'LocaleField', 'StrictLocaleField', 'RatingField', 'LeadScoreField', 'LifetimeValueField', 'DurationMinutesField', 'CenterViewerUUIDField')
The field's exact type.
field Or[TextField, CheckBoxField, ChoiceField, SelectField, MultiSelectField, RadioField, ReadOnlyField, HiddenField, SystemHiddenField, HiddenMultiSelectField, NumberField, IntegerField, PaymentAmountField, RefundAmountField, CouponAmountField, CurrencyField, StrictCurrencyField, PercentageField, TextAreaField, CommentField, DayField, DateField, DateTimeField, TimezoneOffsetField, URIField, PathField, UserAgentField, IPAddressField, IPv4AddressField, IPv6AddressField, PasswordField, EmailField, SalutationField, FullNameField, FirstNameField, MiddleNameField, LastNameField, AgeField, BirthdayField, BirthdateField, PhoneNumberField, HomePhoneNumberField, WorkPhoneNumberField, MobilePhoneNumberField, FaxNumberField, HomeFaxNumberField, WorkFaxNumberField, CompanyField, JobTitleField, IndustryField, NumberOfEmployeesField, AnnualRevenueField, WebsiteField, TagField, MultiTagField, HiddenMultiTagField, PostalCodeField, AddressStreetField, AddressCityField, AddressStateField, AddressStrictStateField, AddressPostalCodeField, AddressCountryField, AddressStrictCountryField, BillingAddressStreetField, BillingAddressCityField, BillingAddressStateField, BillingAddressStrictStateField, BillingAddressPostalCodeField, BillingAddressCountryField, BillingAddressStrictCountryField, ShippingAddressStreetField, ShippingAddressCityField, ShippingAddressStateField, ShippingAddressStrictStateField, ShippingAddressPostalCodeField, ShippingAddressCountryField, ShippingAddressStrictCountryField, UserHandleField, TwitterUserHandleField, FacebookUserHandleField, LinkedInUserHandleField, GooglePlusUserHandleField, GeographicLatitudeField, GeographicLongitudeField, GeographicElevationField, ViewportWidthField, ViewportHeightField, LocaleField, StrictLocaleField, RatingField, LeadScoreField, LifetimeValueField, DurationMinutesField, CenterViewerUUIDField]
The structure of this must match the type described by kind.

Response

Body
Empty
Responses
201 Created
Errors
400 Bad Request unknown message
400 Bad Request bad content type
400 Bad Request missing Content-Type header
400 Bad Request failed to parse JSON request
403 Forbidden unknown message
404 Not Found unknown message
409 Conflict unknown message
504 Gateway Timeout unknown message


Field

/integration/v1/integrations/{uuid}/collections/{collection_uuid}/fields/{field_name}

Request

DELETE /integration/v1/integrations/{uuid}/collections/{collection_uuid}/fields/{field_name}

Delete a custom field from this collection.

Body
Empty

Response

Body
Empty
Responses
200 OK
Errors
400 Bad Request unknown message
403 Forbidden unknown message
404 Not Found unknown message
409 Conflict unknown message
504 Gateway Timeout unknown message


Credentials

/integration/v1/credentials

Credentials are user-supplied authentication information for connecting to a provider. They are always associated with a specific Integration and are always scoped to the current user.

Request

GET /integration/v1/credentials

Enumerate Credentials.

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Credentials]
Responses
200 OK
Errors
Empty


Oauthcallback

/integration/v1/credentials/oauth-callback

Users connecting an OAuth integration for the first time get redirected to this endpoint after they authorize the Provider to access their account, this endpoint then redirects them to the configured successUri or failureUri based on the result.

Note: Redirection to and from this endpoint is handled for you.

Request

GET /integration/v1/credentials/oauth-callback

Body
Empty
Query string
uuid String
oauth_token String?
oauth_verifier String

Response

Body
Empty
Responses
302 Found
Errors
400 Bad Request invalid callback payload
400 Bad Request missing UUID in callback payload
404 Not Found unknown message


Oauth2callback

/integration/v1/credentials/oauth2-callback

Users connecting an OAuth2 integration for the first time get redirected to this endpoint after they authorize the Provider to access their account, this endpoint then redirects them to the configured successUri or failureUri based on the result.

Note: Redirection to and from this endpoint is handled for you.

Request

GET /integration/v1/credentials/oauth2-callback

Body
Empty
Query string
Empty

Response

Body
Empty
Responses
302 Found
Errors
400 Bad Request invalid callback payload
404 Not Found credentials not found


Credential

/integration/v1/credentials/{uuid}

Request

GET /integration/v1/credentials/{uuid}

View a set of Credentials.

Body
Empty

Response

Body
kind Enum('IdentityUser', 'Key', 'Keys', 'OAuth', 'OAuth2')
credentials Or[IdentityUser, Key, Keys, OAuth, OAuth2]
_meta Meta
Meta information about the resource.
integration String
The unique id of the Integration these Credentials belong to.
provider String
The unique id of the Provider that is accessed using these credentials.
Responses
200 OK
Errors
400 Bad Request unknown message
404 Not Found unknown message


Request

PATCH /integration/v1/credentials/{uuid}

Update a set of Credentials.

Body
kind Enum('Key', 'Keys', 'OAuth', 'OAuth2')
credentials Or[UpdateKey, UpdateKeys, UpdateOAuth, UpdateOAuth2]

Response

Body
kind Enum('IdentityUser', 'Key', 'Keys', 'OAuth', 'OAuth2')
credentials Or[IdentityUser, Key, Keys, OAuth, OAuth2]
_meta Meta
Meta information about the resource.
integration String
The unique id of the Integration these Credentials belong to.
provider String
The unique id of the Provider that is accessed using these credentials.
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request invalid credentials
400 Bad Request invalid 'kind', expected: {}
400 Bad Request could not validate credentials
404 Not Found unknown message


Fieldsets

/integration/v1/fieldsets

Fieldsets offer a way to "query" for what a specific target configuration will look like without forcing you to create a Form.

Request

GET /integration/v1/fieldsets

Enumerate Fieldsets

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Fieldset]
Responses
200 OK
Errors
400 Bad Request failed to parse JSON request
400 Bad Request bad content type
400 Bad Request unknown message
400 Bad Request missing Content-Type header


Request

POST /integration/v1/fieldsets

Create a Fieldset.

Body
name String?
An optional name to represent this Fieldset.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?

Response

Body
name String?
An optional name to represent this Fieldset.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
_meta Meta
Meta information about the resource.
fields List[Field]
The result of merging together each Target's fields.
status Enum('ready', 'loading', 'done', 'failed')
failureReason Enum('target-error', 'processing-error')
The reason why the FormLike is marked as `FAILED`, if applicable.
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header
404 Not Found unknown message


Fieldset

/integration/v1/fieldsets/{uuid}

Request

GET /integration/v1/fieldsets/{uuid}

View a Fieldset.

Body
Empty

Response

Body
name String?
An optional name to represent this Fieldset.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
_meta Meta
Meta information about the resource.
fields List[Field]
The result of merging together each Target's fields.
status Enum('ready', 'loading', 'done', 'failed')
failureReason Enum('target-error', 'processing-error')
The reason why the FormLike is marked as `FAILED`, if applicable.
Responses
200 OK
Errors
404 Not Found unknown message


Request

PATCH /integration/v1/fieldsets/{uuid}

Force a Fieldset to update its field data.

Body
Empty

Response

Body
name String?
An optional name to represent this Fieldset.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
_meta Meta
Meta information about the resource.
fields List[Field]
The result of merging together each Target's fields.
status Enum('ready', 'loading', 'done', 'failed')
failureReason Enum('target-error', 'processing-error')
The reason why the FormLike is marked as `FAILED`, if applicable.
Responses
200 OK
Errors
404 Not Found unknown message


Forms

/integration/v1/forms

Forms are collections of fields. They are the topmost organizational element and primarily reference one or more targets (tuples composed of an integration id and the id of a collection belonging to that integration). Based on those targets they generate and maintain a list of fields.

Request

GET /integration/v1/forms

Enumerate Forms.

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".
audience_role Or?[String]
If this parameter is provided forms will be returned based on API visibility. 5000 (default) will return owner visible forms. 9001 will return owner and super visible forms.

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Form]
Responses
200 OK
Errors
400 Bad Request failed to parse JSON request
400 Bad Request bad content type
400 Bad Request unknown message
400 Bad Request missing Content-Type header


Request

POST /integration/v1/forms

Create a new Form or duplicate one.

Body
Empty

Response

Body
name String
Note: the uniqueness of Form names is not enforced.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
contentName String?
The name of the asset this form belongs to.
contentType String?
Identifies the asset type
contentUuid String?
Identifies the asset this form belongs to.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
origin Enum('Leadpages', 'Center')
An optional identifier of what service/entity created this Form.
audienceRole Integer?
A Form's intended API user audience. For example, audience_role of super implies that the customer is excluded from the intended API audience.
_meta Meta
Meta information about the resource.
zaps List[Zap]
fields List[Field]
The result of merging together each Target's fields.
status Enum('ready', 'loading', 'done', 'failed')
failureReason Enum('target-error', 'processing-error')
The reason why the FormLike is marked as `FAILED`, if applicable.
failureDetails String?
Details about the failure.
failureReferences[].failureReferences[].target.integration String
The unique id of an Integration.
failureReferences[].failureReferences[].target.collection String
The unique id of a collection within that Integration.
failureReferences[].target Dictionary
failureReferences[].reason String
failureReferences List?[Dictionary]
Responses
201 Created
Errors
400 Bad Request unknown message
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header
404 Not Found unknown message


Form

/integration/v1/forms/{uuid}

Request

GET /integration/v1/forms/{uuid}

View a Form.

Body
Empty

Response

Body
name String
Note: the uniqueness of Form names is not enforced.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
contentName String?
The name of the asset this form belongs to.
contentType String?
Identifies the asset type
contentUuid String?
Identifies the asset this form belongs to.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
origin Enum('Leadpages', 'Center')
An optional identifier of what service/entity created this Form.
audienceRole Integer?
A Form's intended API user audience. For example, audience_role of super implies that the customer is excluded from the intended API audience.
_meta Meta
Meta information about the resource.
zaps List[Zap]
fields List[Field]
The result of merging together each Target's fields.
status Enum('ready', 'loading', 'done', 'failed')
failureReason Enum('target-error', 'processing-error')
The reason why the FormLike is marked as `FAILED`, if applicable.
failureDetails String?
Details about the failure.
failureReferences[].failureReferences[].target.integration String
The unique id of an Integration.
failureReferences[].failureReferences[].target.collection String
The unique id of a collection within that Integration.
failureReferences[].target Dictionary
failureReferences[].reason String
failureReferences List?[Dictionary]
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request bad content type
400 Bad Request missing Content-Type header
400 Bad Request failed to parse JSON request
404 Not Found unknown message


Request

PATCH /integration/v1/forms/{uuid}

Force a form to update its field data.

Body
Empty

Response

Body
name String
Note: the uniqueness of Form names is not enforced.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
contentName String?
The name of the asset this form belongs to.
contentType String?
Identifies the asset type
contentUuid String?
Identifies the asset this form belongs to.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
origin Enum('Leadpages', 'Center')
An optional identifier of what service/entity created this Form.
audienceRole Integer?
A Form's intended API user audience. For example, audience_role of super implies that the customer is excluded from the intended API audience.
_meta Meta
Meta information about the resource.
zaps List[Zap]
fields List[Field]
The result of merging together each Target's fields.
status Enum('ready', 'loading', 'done', 'failed')
failureReason Enum('target-error', 'processing-error')
The reason why the FormLike is marked as `FAILED`, if applicable.
failureDetails String?
Details about the failure.
failureReferences[].failureReferences[].target.integration String
The unique id of an Integration.
failureReferences[].failureReferences[].target.collection String
The unique id of a collection within that Integration.
failureReferences[].target Dictionary
failureReferences[].reason String
failureReferences List?[Dictionary]
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header
404 Not Found unknown message


Request

PUT /integration/v1/forms/{uuid}

Update a Form.

Changing a form's target list will force it to update its field data.

Body
name String
Note: the uniqueness of Form names is not enforced.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
contentName String?
The name of the asset this form belongs to.
contentType String?
Identifies the asset type
contentUuid String?
Identifies the asset this form belongs to.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
origin Enum('Leadpages', 'Center')
An optional identifier of what service/entity created this Form.
audienceRole Integer?
A Form's intended API user audience. For example, audience_role of super implies that the customer is excluded from the intended API audience.

Response

Body
name String
Note: the uniqueness of Form names is not enforced.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
contentName String?
The name of the asset this form belongs to.
contentType String?
Identifies the asset type
contentUuid String?
Identifies the asset this form belongs to.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
origin Enum('Leadpages', 'Center')
An optional identifier of what service/entity created this Form.
audienceRole Integer?
A Form's intended API user audience. For example, audience_role of super implies that the customer is excluded from the intended API audience.
_meta Meta
Meta information about the resource.
zaps List[Zap]
fields List[Field]
The result of merging together each Target's fields.
status Enum('ready', 'loading', 'done', 'failed')
failureReason Enum('target-error', 'processing-error')
The reason why the FormLike is marked as `FAILED`, if applicable.
failureDetails String?
Details about the failure.
failureReferences[].failureReferences[].target.integration String
The unique id of an Integration.
failureReferences[].failureReferences[].target.collection String
The unique id of a collection within that Integration.
failureReferences[].target Dictionary
failureReferences[].reason String
failureReferences List?[Dictionary]
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header
404 Not Found unknown message


Request

DELETE /integration/v1/forms/{uuid}

Delete a Form.

Body
Empty

Response

Body
Empty
Responses
200 OK
Errors
400 Bad Request unknown message
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header
404 Not Found unknown message


Submissions

/integration/v1/forms/{uuid}/submissions

Request

GET /integration/v1/forms/{uuid}/submissions

Enumerate all of a Form's Submissions.

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Submission]
Responses
200 OK
Errors
Empty


Request

POST /integration/v1/forms/{uuid}/submissions

Submit data to a Form.

Data must be urlencoded and that request must have a valid Content-Type header whose value is "application/x-www-form-urlencoded".

Body
Empty
Query string
next URI?
A URI representing where the submitting user should be redirected to (the "thank you page"). If this is omitted, the user is taken to 'https://my.leadpages.net/thank-you/'.
skip_redirect Enum('true')
If this is set, the endpoint won't attempt a redirect to the thank you page on successful submission. Instead, it will simply return an empty 202 response.

Response

Body
Empty
Responses
202 Accepted
302 Found
Errors
404 Not Found form '{}' not found


Backups

/integration/v1/forms/{uuid}/backups

Request

POST /integration/v1/forms/{uuid}/backups

Generate a backup of all submissions to this form. The request must have an Accept header whose value is text/csv.

Body
Empty

Response

Body
_meta Meta
Meta information about the resource.
status Enum('ready', 'loading', 'done', 'failed')
backupUri URI?
The URI hosting the completed form backup.
Responses
200 OK
Errors
400 Bad Request unsupported content type; must be 'text/csv'
404 Not Found form '{}' not found


Contacts

/integration/v1/forms/{uuid}/contacts

Request

GET /integration/v1/forms/{uuid}/contacts

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Contact]
Responses
200 OK
Errors
Empty


Matchsubmissions

/integration/v1/forms/{uuid}/match-submissions

Request

POST /integration/v1/forms/{uuid}/match-submissions

Submit event match data to a form. Upon request, the match data will be converted to a standard submission.

Body
fields List[MatchField]

Response

Body
Empty
Responses
202 Accepted
Errors
400 Bad Request bad content type
400 Bad Request failed to parse JSON request
400 Bad Request missing Content-Type header


Formbackups

/integration/v1/backups

Formbackup

/integration/v1/backups/{uuid}

Request

GET /integration/v1/backups/{uuid}

Fetch a Form's submissions backup

Body
Empty

Response

Body
_meta Meta
Meta information about the resource.
status Enum('ready', 'loading', 'done', 'failed')
backupUri URI?
The URI hosting the completed form backup.
Responses
200 OK
Errors
404 Not Found unknown message


Submissions

/integration/v1/submissions

Submissions are filled-out forms and contain all of the submitted data for a given form. A submission generally represents a single visitor to a user's website filling out a form.

Request

GET /integration/v1/submissions

Enumerate Submissions.

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Submission]
Responses
200 OK
Errors
Empty


Submission

/integration/v1/submissions/{uuid}

Request

GET /integration/v1/submissions/{uuid}

View a Submission.

Response

Body
_meta Meta
Meta information about the resource.
contentName String?
An optional string identifying the asset name the submission belongs to.
contentType String?
An optional string identifying the asset type the submission belongs to.
contentUuid String?
An optional string identifying the asset that the submission belongs to.
form String
The id of the Form this Submission belongs to.
raw Dictionary
A dictionary representing raw submission data.
referrer String?
The request referrer.
uri String
The request URI under which this Submission was made.
userAgent String
The User Agent of the user who made the Submission.
isBot Boolean
Do we think this Submission was by a bot?
Responses
200 OK
Errors
404 Not Found unknown message


Transactions

/integration/v1/transactions

Transactions represent the processing of a Submission to an Integration. They represent the state of that submission with respect to the agent processing the submission.

A transaction object must contain the form data, mapping information for that form data from its canonical form to the provider-specific representation, credentials for the relevant user, and any other information required by the agent to complete the submission task.

Request

GET /integration/v1/transactions

Enumerate Transactions.

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Transaction]
Responses
200 OK
Errors
Empty


Transaction

/integration/v1/transactions/{uuid}

Request

GET /integration/v1/transactions/{uuid}

View a Transaction.

Response

Body
_meta Meta
Meta information about the resource.
status String
statusReason String?
A reason for the current status of this Transaction.
target.integration String
The unique id of an Integration.
target.collection String
The unique id of a collection within that Integration.
target Dictionary
provider String?
The Provider id this Transaction references.
submission String
The unique id of the Submission this Transaction references.
settings Dictionary?
The user-specified set of settings for this Transaction.
startedAt DateTime?
When the Transaction started.
succeededAt DateTime?
When the Transaction succeeded.
failedAt DateTime?
When the Transaction failed.
events List[TransactionEventDetails]
A list of the events this transaction has received in descending order.
Responses
200 OK
Errors
404 Not Found transaction '{}' not found


Hook

/integration/v1/transactions/{uuid}/hook

Agents use this endpoint to send information about a Transaction back to Hydra.

Request

POST /integration/v1/transactions/{uuid}/hook

Body
kind Enum('_BaseFailureEvent', 'OptinSuccessEvent', 'OptinFailureEvent', 'ActionSuccessEvent', 'ActionFailureEvent', 'ProtocolViolationEvent', 'NetworkFailureEvent', 'ServiceFailureEvent', 'IntegrationFailureEvent', 'AuthorizationFailureEvent')
The event's specific type, such as `OptinSuccessEvent`.
event Or[_BaseFailureEvent, OptinSuccessEvent, OptinFailureEvent, ActionSuccessEvent, ActionFailureEvent, ProtocolViolationEvent, NetworkFailureEvent, ServiceFailureEvent, IntegrationFailureEvent, AuthorizationFailureEvent]
The event's specific schema.

Response

Body
Empty
Responses
202 Accepted
Errors
400 Bad Request unknown message
404 Not Found transaction '{}' not found


Csvs

/integration/v1/csvs

Request

POST /integration/v1/csvs

Body
contentUuid String
The id of the asset to group submissions by.

Response

Body
_meta Meta
Meta information about the resource.
contentUuid String
The id of the asset to group submissions by.
uri String?
status Enum('ready', 'loading', 'failed', 'done')
failureReason String?
In the case of a failed CSV this contains the reason why it failed.
Responses
201 Created
Errors
400 Bad Request unknown message


Csv

/integration/v1/csvs/{uuid}

Request

GET /integration/v1/csvs/{uuid}

Body
Empty

Response

Body
_meta Meta
Meta information about the resource.
contentUuid String
The id of the asset to group submissions by.
uri String?
status Enum('ready', 'loading', 'failed', 'done')
failureReason String?
In the case of a failed CSV this contains the reason why it failed.
Responses
200 OK
Errors
404 Not Found CSV {!r} not found


Contacts

/integration/v1/contacts

Request

GET /integration/v1/contacts

Body
Empty
Query string
limit Regexp?(\d+)
The maximum number of items to return in the response.
cursor String?
A string representing where a previous request "left off".

Response

Body
_meta ListingMeta
Meta information about the response.
_items List[Contact]
Responses
200 OK
Errors
Empty


Contact

/integration/v1/contacts/{uuid}

Request

GET /integration/v1/contacts/{uuid}

Body
Empty

Response

Body
_meta Meta
Meta information about the resource.
fields Dictionary
customFields Dictionary
Responses
200 OK
Errors
404 Not Found Contact not found.


Definitions

IdentityUserProvider

IdentityUserProvider
name String
The unique name of the Provider (for example: `Mailchimp`).
category Enum('Forms', 'CustomerRelationshipManagement', 'SupportDesk', 'ECommerce', 'EmailServices', 'WebinarServices', 'PaymentServices', 'MediaServices', 'Ave81Services', 'Uncategorized')
The category this Provider belongs to.
capabilities List[String]
A list representing the capabilities this Provider has.
capacities List?[String]
The capacities the agent can act in.
features List?[String]
A list representing any unusual features that this Provider may have.
supportedActions List?[String]
A list representing the types of Actions this Provider supports.
userSettings List[Field]
A list representing the form fields that make up the configuration that a user can specify when configuring an Integration or a Form.
providerSettings List?[ProviderSetting]
A list representing the form fields that make up the configuration that an agent can impose on Hydra when configuring the provider.
readEvents List?[ReadEventDefinition]
A list representing the types of events this provider can export from the integration. This is null for write-only agents.
readModes List?[String]
The supported read modes (streaming, polling) for the agent.
unscopedEvents Boolean?
A boolean representing whether or not events read from this provider are "unscoped;" that is, they are not assigned to a specific integration and are global to the user's account.
baseUri URI?
The base URI of this Provider's agent.
credentialsKind Enum('IdentityUser', 'Key', 'Keys', 'OAuth', 'OAuth2')
allowedGroups List?[String]
A list of strings representing the Identity groups that are allowed to access this Provider.

Field

Field
kind Enum('TextField', 'CheckBoxField', 'ChoiceField', 'SelectField', 'MultiSelectField', 'RadioField', 'ReadOnlyField', 'HiddenField', 'SystemHiddenField', 'HiddenMultiSelectField', 'NumberField', 'IntegerField', 'PaymentAmountField', 'RefundAmountField', 'CouponAmountField', 'CurrencyField', 'StrictCurrencyField', 'PercentageField', 'TextAreaField', 'CommentField', 'DayField', 'DateField', 'DateTimeField', 'TimezoneOffsetField', 'URIField', 'PathField', 'UserAgentField', 'IPAddressField', 'IPv4AddressField', 'IPv6AddressField', 'PasswordField', 'EmailField', 'SalutationField', 'FullNameField', 'FirstNameField', 'MiddleNameField', 'LastNameField', 'AgeField', 'BirthdayField', 'BirthdateField', 'PhoneNumberField', 'HomePhoneNumberField', 'WorkPhoneNumberField', 'MobilePhoneNumberField', 'FaxNumberField', 'HomeFaxNumberField', 'WorkFaxNumberField', 'CompanyField', 'JobTitleField', 'IndustryField', 'NumberOfEmployeesField', 'AnnualRevenueField', 'WebsiteField', 'TagField', 'MultiTagField', 'HiddenMultiTagField', 'PostalCodeField', 'AddressStreetField', 'AddressCityField', 'AddressStateField', 'AddressStrictStateField', 'AddressPostalCodeField', 'AddressCountryField', 'AddressStrictCountryField', 'BillingAddressStreetField', 'BillingAddressCityField', 'BillingAddressStateField', 'BillingAddressStrictStateField', 'BillingAddressPostalCodeField', 'BillingAddressCountryField', 'BillingAddressStrictCountryField', 'ShippingAddressStreetField', 'ShippingAddressCityField', 'ShippingAddressStateField', 'ShippingAddressStrictStateField', 'ShippingAddressPostalCodeField', 'ShippingAddressCountryField', 'ShippingAddressStrictCountryField', 'UserHandleField', 'TwitterUserHandleField', 'FacebookUserHandleField', 'LinkedInUserHandleField', 'GooglePlusUserHandleField', 'GeographicLatitudeField', 'GeographicLongitudeField', 'GeographicElevationField', 'ViewportWidthField', 'ViewportHeightField', 'LocaleField', 'StrictLocaleField', 'RatingField', 'LeadScoreField', 'LifetimeValueField', 'DurationMinutesField', 'CenterViewerUUIDField')
The field's exact type.
field Or[TextField, CheckBoxField, ChoiceField, SelectField, MultiSelectField, RadioField, ReadOnlyField, HiddenField, SystemHiddenField, HiddenMultiSelectField, NumberField, IntegerField, PaymentAmountField, RefundAmountField, CouponAmountField, CurrencyField, StrictCurrencyField, PercentageField, TextAreaField, CommentField, DayField, DateField, DateTimeField, TimezoneOffsetField, URIField, PathField, UserAgentField, IPAddressField, IPv4AddressField, IPv6AddressField, PasswordField, EmailField, SalutationField, FullNameField, FirstNameField, MiddleNameField, LastNameField, AgeField, BirthdayField, BirthdateField, PhoneNumberField, HomePhoneNumberField, WorkPhoneNumberField, MobilePhoneNumberField, FaxNumberField, HomeFaxNumberField, WorkFaxNumberField, CompanyField, JobTitleField, IndustryField, NumberOfEmployeesField, AnnualRevenueField, WebsiteField, TagField, MultiTagField, HiddenMultiTagField, PostalCodeField, AddressStreetField, AddressCityField, AddressStateField, AddressStrictStateField, AddressPostalCodeField, AddressCountryField, AddressStrictCountryField, BillingAddressStreetField, BillingAddressCityField, BillingAddressStateField, BillingAddressStrictStateField, BillingAddressPostalCodeField, BillingAddressCountryField, BillingAddressStrictCountryField, ShippingAddressStreetField, ShippingAddressCityField, ShippingAddressStateField, ShippingAddressStrictStateField, ShippingAddressPostalCodeField, ShippingAddressCountryField, ShippingAddressStrictCountryField, UserHandleField, TwitterUserHandleField, FacebookUserHandleField, LinkedInUserHandleField, GooglePlusUserHandleField, GeographicLatitudeField, GeographicLongitudeField, GeographicElevationField, ViewportWidthField, ViewportHeightField, LocaleField, StrictLocaleField, RatingField, LeadScoreField, LifetimeValueField, DurationMinutesField, CenterViewerUUIDField]
The structure of this must match the type described by kind.

TextField

TextField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

CheckBoxField

CheckBoxField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String
A value that will get sent through when checked is True.
checked Boolean
Represents whether or not the value should be inspected.

ChoiceField

ChoiceField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

SelectField

SelectField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

MultiSelectField

MultiSelectField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value List?[String]
This represents the default selected possible value(s) for this field's value.
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible values this field can have (any number of).

RadioField

RadioField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

ReadOnlyField

ReadOnlyField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String
The field's value.

HiddenField

HiddenField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

SystemHiddenField

SystemHiddenField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

HiddenMultiSelectField

HiddenMultiSelectField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value List?[String]
This represents the default selected possible value(s) for this field's value.
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible values this field can have (any number of).

NumberField

NumberField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Number?
A number representing this field's value.
minValue Number?
The minimum numeric value that this field can contain.
maxValue Number?
The maximum numeric value that this field can contain.
step Number?
Specifies the legal number intervals for this field.

IntegerField

IntegerField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

PaymentAmountField

PaymentAmountField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

RefundAmountField

RefundAmountField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

CouponAmountField

CouponAmountField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

CurrencyField

CurrencyField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

StrictCurrencyField

StrictCurrencyField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

PercentageField

PercentageField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Number?(0 < n < 1)
A number representing a percentage.
minValue Number?
The minimum numeric value that this field can contain.
maxValue Number?
The maximum numeric value that this field can contain.
step Number?
Specifies the legal number intervals for this field.

TextAreaField

TextAreaField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

CommentField

CommentField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

DayField

DayField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Regexp?(\d{2}-\d{2}$)
Day field values are in MM-DD format.

DateField

DateField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Regexp?(\d{4}-\d{2}-\d{2}$)
Date field values are in YYYY-MM-DD format.

DateTimeField

DateTimeField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Regexp?(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|(\+|-)\d{2}(:?\d{2})?)$)
Date time field values are in YYYY-MM-DDTHH:mm:SS+HH:mm format.

TimezoneOffsetField

TimezoneOffsetField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Regexp?((Z|(\+|-)\d{2}(:?\d{2})?))
Timezone offset values are in ±hh:mm, ±hhmm, or ±hh format, or Z.

URIField

URIField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

PathField

PathField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

UserAgentField

UserAgentField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

IPAddressField

IPAddressField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Or[IPv4, IPv6]

IPv4AddressField

IPv4AddressField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

IPv6AddressField

IPv6AddressField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

PasswordField

PasswordField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

EmailField

EmailField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Regexp?(.+@.+$)
E-mail fields must contain an @ sign.

SalutationField

SalutationField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

FullNameField

FullNameField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

FirstNameField

FirstNameField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

MiddleNameField

MiddleNameField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

LastNameField

LastNameField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

AgeField

AgeField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Number?
A number representing this field's value.
minValue Number?
The minimum numeric value that this field can contain.
maxValue Number?
The maximum numeric value that this field can contain.
step Number?
Specifies the legal number intervals for this field.

BirthdayField

BirthdayField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Regexp?(\d{2}-\d{2}$)
Day field values are in MM-DD format.

BirthdateField

BirthdateField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Regexp?(\d{4}-\d{2}-\d{2}$)
Date field values are in YYYY-MM-DD format.

PhoneNumberField

PhoneNumberField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

HomePhoneNumberField

HomePhoneNumberField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

WorkPhoneNumberField

WorkPhoneNumberField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

MobilePhoneNumberField

MobilePhoneNumberField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

FaxNumberField

FaxNumberField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

HomeFaxNumberField

HomeFaxNumberField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

WorkFaxNumberField

WorkFaxNumberField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

CompanyField

CompanyField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

JobTitleField

JobTitleField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

IndustryField

IndustryField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

NumberOfEmployeesField

NumberOfEmployeesField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Number?
A number representing this field's value.
minValue Number?
The minimum numeric value that this field can contain.
maxValue Number?
The maximum numeric value that this field can contain.
step Number?
Specifies the legal number intervals for this field.

AnnualRevenueField

AnnualRevenueField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

WebsiteField

WebsiteField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

TagField

TagField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

MultiTagField

MultiTagField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
values List?[String]
selected List?[String]

HiddenMultiTagField

HiddenMultiTagField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
values List?[String]
selected List?[String]

PostalCodeField

PostalCodeField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

AddressStreetField

AddressStreetField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

AddressCityField

AddressCityField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

AddressStateField

AddressStateField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

AddressStrictStateField

AddressStrictStateField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

AddressPostalCodeField

AddressPostalCodeField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

AddressCountryField

AddressCountryField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

AddressStrictCountryField

AddressStrictCountryField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

BillingAddressStreetField

BillingAddressStreetField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

BillingAddressCityField

BillingAddressCityField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

BillingAddressStateField

BillingAddressStateField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

BillingAddressStrictStateField

BillingAddressStrictStateField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

BillingAddressPostalCodeField

BillingAddressPostalCodeField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

BillingAddressCountryField

BillingAddressCountryField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

BillingAddressStrictCountryField

BillingAddressStrictCountryField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

ShippingAddressStreetField

ShippingAddressStreetField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

ShippingAddressCityField

ShippingAddressCityField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

ShippingAddressStateField

ShippingAddressStateField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

ShippingAddressStrictStateField

ShippingAddressStrictStateField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

ShippingAddressPostalCodeField

ShippingAddressPostalCodeField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

ShippingAddressCountryField

ShippingAddressCountryField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

ShippingAddressStrictCountryField

ShippingAddressStrictCountryField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

UserHandleField

UserHandleField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

TwitterUserHandleField

TwitterUserHandleField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

FacebookUserHandleField

FacebookUserHandleField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

LinkedInUserHandleField

LinkedInUserHandleField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

GooglePlusUserHandleField

GooglePlusUserHandleField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

GeographicLatitudeField

GeographicLatitudeField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Number?
A number representing this field's value.
minValue Number?
The minimum numeric value that this field can contain.
maxValue Number?
The maximum numeric value that this field can contain.
step Number?
Specifies the legal number intervals for this field.

GeographicLongitudeField

GeographicLongitudeField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Number?
A number representing this field's value.
minValue Number?
The minimum numeric value that this field can contain.
maxValue Number?
The maximum numeric value that this field can contain.
step Number?
Specifies the legal number intervals for this field.

GeographicElevationField

GeographicElevationField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Number?
A number representing this field's value.
minValue Number?
The minimum numeric value that this field can contain.
maxValue Number?
The maximum numeric value that this field can contain.
step Number?
Specifies the legal number intervals for this field.

ViewportWidthField

ViewportWidthField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

ViewportHeightField

ViewportHeightField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

LocaleField

LocaleField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

StrictLocaleField

StrictLocaleField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
Represents the default choice (by its value).
values[].value String
values[].label String
values List?[Dictionary]
This represents the possible choices for this field's value.

RatingField

RatingField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

LeadScoreField

LeadScoreField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

LifetimeValueField

LifetimeValueField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

DurationMinutesField

DurationMinutesField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value Integer?
A integer representing this field's value.
minValue Integer?
The minimum numeric value that this field can contain.
maxValue Integer?
The maximum numeric value that this field can contain.
step Integer?
Specifies the legal integer intervals for this field.

CenterViewerUUIDField

CenterViewerUUIDField
name String
The field's name, this maps to an HTML name attribute.
label String
The field's label/caption, this maps to an HTML label element.
description String?
The field's description, this maps to the HTML description attribute.
placeholder String?
A placeholder that is displayed when the field has no value.
required Boolean
Represents whether or not this field is required.
autoComplete String?
The autocomplete merge field name
value String?
The field's default value.

ProviderSetting

ProviderSetting
kind Enum('OAuthCallbackTokenKeySetting', 'OAuthCallbackVerifierKeySetting')
setting Or[OAuthCallbackTokenKeySetting, OAuthCallbackVerifierKeySetting]

OAuthCallbackTokenKeySetting

OAuthCallbackTokenKeySetting
value String
The key referencing the token value in the query string of an OAuth callback (usually oauth_token as specified in RFC 5849).

OAuthCallbackVerifierKeySetting

OAuthCallbackVerifierKeySetting
value String
The key referencing the verifier value in the query string of an OAuth callback (usually oauth_verifier as specified in RFC 5849).

ReadEventDefinition

ReadEventDefinition
name String
The name of the event (for example, `WebinarAttendanceEvent`). This maps directly to the materialized ReadEvent's `kind` property.'
label String
The event's label/caption. This may be shown to the user while they're setting up Center Filters.
fields List[EventFieldDefinition]
The list of fields that are associated with this kind of Event.
primaryField String
The type of field contact data should be merged on.
tagField String?
The type of field events should be tagged with.

EventFieldDefinition

EventFieldDefinition
name String
The name of the field.
label String
The field's label/caption.
valueType Enum('String', 'Boolean', 'Integer', 'Double', 'DateTime')
The type of values this field may contain. This is used by the UI when deciding what kinds of comparator to use for a specific field.
targets List[String]
A prioritized list of the kinds of fields values of this field may be mapped to. Mappings are attempted in the order they show up in the list. May be empty, in which case its values should not be sent to the target Form.
widget Enum('TextField', 'CheckBoxField', 'ChoiceField', 'SelectField', 'MultiSelectField', 'RadioField', 'ReadOnlyField', 'HiddenField', 'SystemHiddenField', 'HiddenMultiSelectField', 'NumberField', 'IntegerField', 'PaymentAmountField', 'RefundAmountField', 'CouponAmountField', 'CurrencyField', 'StrictCurrencyField', 'PercentageField', 'TextAreaField', 'CommentField', 'DayField', 'DateField', 'DateTimeField', 'TimezoneOffsetField', 'URIField', 'PathField', 'UserAgentField', 'IPAddressField', 'IPv4AddressField', 'IPv6AddressField', 'PasswordField', 'EmailField', 'SalutationField', 'FullNameField', 'FirstNameField', 'MiddleNameField', 'LastNameField', 'AgeField', 'BirthdayField', 'BirthdateField', 'PhoneNumberField', 'HomePhoneNumberField', 'WorkPhoneNumberField', 'MobilePhoneNumberField', 'FaxNumberField', 'HomeFaxNumberField', 'WorkFaxNumberField', 'CompanyField', 'JobTitleField', 'IndustryField', 'NumberOfEmployeesField', 'AnnualRevenueField', 'WebsiteField', 'TagField', 'MultiTagField', 'HiddenMultiTagField', 'PostalCodeField', 'AddressStreetField', 'AddressCityField', 'AddressStateField', 'AddressStrictStateField', 'AddressPostalCodeField', 'AddressCountryField', 'AddressStrictCountryField', 'BillingAddressStreetField', 'BillingAddressCityField', 'BillingAddressStateField', 'BillingAddressStrictStateField', 'BillingAddressPostalCodeField', 'BillingAddressCountryField', 'BillingAddressStrictCountryField', 'ShippingAddressStreetField', 'ShippingAddressCityField', 'ShippingAddressStateField', 'ShippingAddressStrictStateField', 'ShippingAddressPostalCodeField', 'ShippingAddressCountryField', 'ShippingAddressStrictCountryField', 'UserHandleField', 'TwitterUserHandleField', 'FacebookUserHandleField', 'LinkedInUserHandleField', 'GooglePlusUserHandleField', 'GeographicLatitudeField', 'GeographicLongitudeField', 'GeographicElevationField', 'ViewportWidthField', 'ViewportHeightField', 'LocaleField', 'StrictLocaleField', 'RatingField', 'LeadScoreField', 'LifetimeValueField', 'DurationMinutesField', 'CenterViewerUUIDField')
The type of widget that the UI can use when retrieving user input for this field.
widgetLabel String?
Label for widget, for the UI, which is separate from the field label, for example "Subscriber status" could be the filter field label, but the filter may be a checkbox, requiring a label, such as "Active Only".

KeyProvider

KeyProvider
name String
The unique name of the Provider (for example: `Mailchimp`).
category Enum('Forms', 'CustomerRelationshipManagement', 'SupportDesk', 'ECommerce', 'EmailServices', 'WebinarServices', 'PaymentServices', 'MediaServices', 'Ave81Services', 'Uncategorized')
The category this Provider belongs to.
capabilities List[String]
A list representing the capabilities this Provider has.
capacities List?[String]
The capacities the agent can act in.
features List?[String]
A list representing any unusual features that this Provider may have.
supportedActions List?[String]
A list representing the types of Actions this Provider supports.
userSettings List[Field]
A list representing the form fields that make up the configuration that a user can specify when configuring an Integration or a Form.
providerSettings List?[ProviderSetting]
A list representing the form fields that make up the configuration that an agent can impose on Hydra when configuring the provider.
readEvents List?[ReadEventDefinition]
A list representing the types of events this provider can export from the integration. This is null for write-only agents.
readModes List?[String]
The supported read modes (streaming, polling) for the agent.
unscopedEvents Boolean?
A boolean representing whether or not events read from this provider are "unscoped;" that is, they are not assigned to a specific integration and are global to the user's account.
baseUri URI?
The base URI of this Provider's agent.
credentialsKind Enum('IdentityUser', 'Key', 'Keys', 'OAuth', 'OAuth2')
allowedGroups List?[String]
A list of strings representing the Identity groups that are allowed to access this Provider.
keyLabel String
A label for the API key's input field.

KeysProvider

KeysProvider
name String
The unique name of the Provider (for example: `Mailchimp`).
category Enum('Forms', 'CustomerRelationshipManagement', 'SupportDesk', 'ECommerce', 'EmailServices', 'WebinarServices', 'PaymentServices', 'MediaServices', 'Ave81Services', 'Uncategorized')
The category this Provider belongs to.
capabilities List[String]
A list representing the capabilities this Provider has.
capacities List?[String]
The capacities the agent can act in.
features List?[String]
A list representing any unusual features that this Provider may have.
supportedActions List?[String]
A list representing the types of Actions this Provider supports.
userSettings List[Field]
A list representing the form fields that make up the configuration that a user can specify when configuring an Integration or a Form.
providerSettings List?[ProviderSetting]
A list representing the form fields that make up the configuration that an agent can impose on Hydra when configuring the provider.
readEvents List?[ReadEventDefinition]
A list representing the types of events this provider can export from the integration. This is null for write-only agents.
readModes List?[String]
The supported read modes (streaming, polling) for the agent.
unscopedEvents Boolean?
A boolean representing whether or not events read from this provider are "unscoped;" that is, they are not assigned to a specific integration and are global to the user's account.
baseUri URI?
The base URI of this Provider's agent.
credentialsKind Enum('IdentityUser', 'Key', 'Keys', 'OAuth', 'OAuth2')
allowedGroups List?[String]
A list of strings representing the Identity groups that are allowed to access this Provider.
keyCount Integer(2 < n)
The number of keys this Provider requires.
keyLabels List[String]
The labels for each key's input field.

OAuthProvider

OAuthProvider
name String
The unique name of the Provider (for example: `Mailchimp`).
category Enum('Forms', 'CustomerRelationshipManagement', 'SupportDesk', 'ECommerce', 'EmailServices', 'WebinarServices', 'PaymentServices', 'MediaServices', 'Ave81Services', 'Uncategorized')
The category this Provider belongs to.
capabilities List[String]
A list representing the capabilities this Provider has.
capacities List?[String]
The capacities the agent can act in.
features List?[String]
A list representing any unusual features that this Provider may have.
supportedActions List?[String]
A list representing the types of Actions this Provider supports.
userSettings List[Field]
A list representing the form fields that make up the configuration that a user can specify when configuring an Integration or a Form.
providerSettings List?[ProviderSetting]
A list representing the form fields that make up the configuration that an agent can impose on Hydra when configuring the provider.
readEvents List?[ReadEventDefinition]
A list representing the types of events this provider can export from the integration. This is null for write-only agents.
readModes List?[String]
The supported read modes (streaming, polling) for the agent.
unscopedEvents Boolean?
A boolean representing whether or not events read from this provider are "unscoped;" that is, they are not assigned to a specific integration and are global to the user's account.
baseUri URI?
The base URI of this Provider's agent.
credentialsKind Enum('IdentityUser', 'Key', 'Keys', 'OAuth', 'OAuth2')
allowedGroups List?[String]
A list of strings representing the Identity groups that are allowed to access this Provider.
keyCount Integer
The number of keys this Provider requires.
keyLabels List[String]
The labels for each key's input field.

OAuth2Provider

OAuth2Provider
name String
The unique name of the Provider (for example: `Mailchimp`).
category Enum('Forms', 'CustomerRelationshipManagement', 'SupportDesk', 'ECommerce', 'EmailServices', 'WebinarServices', 'PaymentServices', 'MediaServices', 'Ave81Services', 'Uncategorized')
The category this Provider belongs to.
capabilities List[String]
A list representing the capabilities this Provider has.
capacities List?[String]
The capacities the agent can act in.
features List?[String]
A list representing any unusual features that this Provider may have.
supportedActions List?[String]
A list representing the types of Actions this Provider supports.
userSettings List[Field]
A list representing the form fields that make up the configuration that a user can specify when configuring an Integration or a Form.
providerSettings List?[ProviderSetting]
A list representing the form fields that make up the configuration that an agent can impose on Hydra when configuring the provider.
readEvents List?[ReadEventDefinition]
A list representing the types of events this provider can export from the integration. This is null for write-only agents.
readModes List?[String]
The supported read modes (streaming, polling) for the agent.
unscopedEvents Boolean?
A boolean representing whether or not events read from this provider are "unscoped;" that is, they are not assigned to a specific integration and are global to the user's account.
baseUri URI?
The base URI of this Provider's agent.
credentialsKind Enum('IdentityUser', 'Key', 'Keys', 'OAuth', 'OAuth2')
allowedGroups List?[String]
A list of strings representing the Identity groups that are allowed to access this Provider.
keyCount Integer
The number of keys this Provider requires.
keyLabels List[String]
The labels for each key's input field.

Meta

Meta
id String
The resource's unique identifier.
uri URI
The resource's absolute URI.
created DateTime
When the resource was created.
updated DateTime
When the resource was last updated.

ListingMeta

ListingMeta
limit Integer(0 < n)
The requested limit on the number of items.
total Integer?(0 < n)
The number of items in the database.
count Integer(0 < n)
The total number of items in the response.
cursor String?
This is used in conjunction with limit to paginate through lists of items.

Provider

Provider
kind Enum('IdentityUserProvider', 'KeyProvider', 'KeysProvider', 'OAuthProvider', 'OAuth2Provider')
provider Or[IdentityUserProvider, KeyProvider, KeysProvider, OAuthProvider, OAuth2Provider]
_meta Meta
Meta information about the resource.

Collection

Collection
id String
The unique id of a Collection.
Note: these are only unique within the context of an Integration. Two Integrations could have clashing collection identifiers between them.
path List[String]
A list of strings representing the fully qualified path of this collection within the Provider (for example, in AWeber's case this would be a list of two elements, the first element representing the AWeber list and the second representing a Form belonging to that list.
status String?
The status of this collection within the Agent.

TagGroup

TagGroup
id String
The unique id of a TagGroup.
name String
The name of a TagGroup.
tags List[Tag]

Tag

Tag
id String
The unique id of a Tag.
name String
The name of a Tag.

StatusUpdate

StatusUpdate
status Enum('ready', 'loading', 'done', 'reauthorizing', 'failed', 'authorization-request')
The status set on this integration during the update.
timestamp DateTime
Unix time when the status update occurred.
event String
The event or task that triggered the status update.
message String?
Optional descriptive information about the update event.

Integration

Integration
name String
The Integration's name.
Note: the uniqueness of Integration names is not enforced.
provider String
The unique id of the Provider this Integration is based on.
credentials String
The unique id of the Credentials this Integration uses.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
_meta Meta
Meta information about the resource.
status Enum('ready', 'loading', 'done', 'reauthorizing', 'failed', 'authorization-request')
The status of the Integration.
failureReason Enum('authorization-failed', 'protocol-violation', 'retries-exceeded', 'timeout', 'unknown', 'integration-failure')
The reason why the Integration is marked as `FAILED`, if applicable.
collections List[Collection]
tagGroups List?[TagGroup]
statusUpdates List?[StatusUpdate]

CreateIntegrationCredentials

CreateIntegrationCredentials
kind Enum('IdentityUser', 'Key', 'Keys', 'OAuth', 'OAuth2')
credentials Or[CreateIdentityUser, CreateKey, CreateKeys, CreateOAuth, CreateOAuth2]

CreateKey

CreateKey
key String
A string that can be used to access a Provider's API.

CreateKeys

CreateKeys
keys List[String]
A list of strings that is required to acccess a Provider's API. Keys are ordered and must be specified in the same order dictated by keyLabels.

CreateOAuth

CreateOAuth
successUri URI
The URI where a user must be sent to after successfully completing the OAuth flow.
failureUri URI
The URI where a user must be sent to after failing to complete the OAuth flow.
keys List?[String]
A list of strings to send over to the Provider. This varies depending on the Provider and most Providers do not require any keys.

CreateOAuth2

CreateOAuth2
successUri URI
The URI where a user must be sent to after successfully completing the OAuth flow.
failureUri URI
The URI where a user must be sent to after failing to complete the OAuth flow.
keys List?[String]
A list of strings to send over to the Provider. This varies depending on the Provider and most Providers do not require any keys.

UpdateIntegrationWithId

UpdateIntegrationWithId
name String?
The Integration's name.
Note: the uniqueness of Integration names is not enforced.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
id String

IdentityUser

IdentityUser
uuid String
A UUID representing an Identity service user.
email Email
A string representing that user's e-mail address.
policy.role Integer
policy.groups List[String]
policy Dictionary?
status Enum('processing', 'failed', 'done', 'authorization-request')

Key

Key
key String
A string that can be used to access a Provider's API.
status Enum('processing', 'failed', 'done', 'authorization-request')

Keys

Keys
keys List[String]
A list of strings that is required to acccess a Provider's API. Keys are ordered and must be specified in the same order dictated by keyLabels.
status Enum('processing', 'failed', 'done', 'authorization-request')

OAuth

OAuth
accessToken String?
accessTokenSecret String?
redirectUri URI
successUri URI
failureUri URI
status Enum('processing', 'failed', 'done', 'authorization-request')
keys List?[String]

OAuth2

OAuth2
expiresOn DateTime?
accessToken String?
refreshToken String?
redirectUri URI
successUri URI
failureUri URI
metadata Dictionary?
status Enum('processing', 'failed', 'done', 'authorization-request')
keys List?[String]

UpdateKey

UpdateKey
key String
A string that can be used to access a Provider's API.

UpdateKeys

UpdateKeys
keys List[String]
A list of strings that is required to acccess a Provider's API. Keys are ordered and must be specified in the same order dictated by keyLabels.

UpdateOAuth

UpdateOAuth
successUri URI?
The URI where a user must be sent to after successfully completing the OAuth flow.
failureUri URI?
The URI where a user must be sent to after failing to complete the OAuth flow.
keys List?[String]
A list of strings to send over to the Provider. This varies depending on the Provider and most Providers do not require any keys.

UpdateOAuth2

UpdateOAuth2
successUri URI?
The URI where a user must be sent to after successfully completing the OAuth flow.
failureUri URI?
The URI where a user must be sent to after failing to complete the OAuth flow.
keys List?[String]
A list of strings to send over to the Provider. This varies depending on the Provider and most Providers do not require any keys.
accessToken String?
If this is provided, then only the access token and expires on fields will be updated. This can be used to update credentials' access tokens w/o making the user go through the OAuth flow again.

Credentials

Credentials
kind Enum('IdentityUser', 'Key', 'Keys', 'OAuth', 'OAuth2')
credentials Or[IdentityUser, Key, Keys, OAuth, OAuth2]
_meta Meta
Meta information about the resource.
integration String
The unique id of the Integration these Credentials belong to.
provider String
The unique id of the Provider that is accessed using these credentials.

Fieldset

Fieldset
name String?
An optional name to represent this Fieldset.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
_meta Meta
Meta information about the resource.
fields List[Field]
The result of merging together each Target's fields.
status Enum('ready', 'loading', 'done', 'failed')
failureReason Enum('target-error', 'processing-error')
The reason why the FormLike is marked as `FAILED`, if applicable.

Submission

Submission
_meta Meta
Meta information about the resource.
contentName String?
An optional string identifying the asset name the submission belongs to.
contentType String?
An optional string identifying the asset type the submission belongs to.
contentUuid String?
An optional string identifying the asset that the submission belongs to.
form String
The id of the Form this Submission belongs to.
raw Dictionary
A dictionary representing raw submission data.
referrer String?
The request referrer.
uri String
The request URI under which this Submission was made.
userAgent String
The User Agent of the user who made the Submission.
isBot Boolean
Do we think this Submission was by a bot?

Contact

Contact
_meta Meta
Meta information about the resource.
fields Dictionary
customFields Dictionary

MatchField

MatchField
value Or[String, Boolean, Integer, Number, DateTime]
targets List[String]

Zap

Zap
id String
target URI

Form

Form
name String
Note: the uniqueness of Form names is not enforced.
targets[].integration String
The unique id of an Integration.
targets[].collection String
The unique id of a collection within that Integration.
targets List[Dictionary]
strategy Enum('append', 'fold')
The Strategy to use when merging fields from multiple targets. Defaults to fold.
reCaptchaV2 Dictionary?
Settings to include and excute a v2 recaptcha
spamCheckJs Boolean?
Do we want to detect and exclude spam/bot submissions?
contentName String?
The name of the asset this form belongs to.
contentType String?
Identifies the asset type
contentUuid String?
Identifies the asset this form belongs to.
settings Dictionary?
An arbitrary object representing the user's default settings for this Integration according its Provider's `userSettings` form.
origin Enum('Leadpages', 'Center')
An optional identifier of what service/entity created this Form.
audienceRole Integer?
A Form's intended API user audience. For example, audience_role of super implies that the customer is excluded from the intended API audience.
_meta Meta
Meta information about the resource.
zaps List[Zap]
fields List[Field]
The result of merging together each Target's fields.
status Enum('ready', 'loading', 'done', 'failed')
failureReason Enum('target-error', 'processing-error')
The reason why the FormLike is marked as `FAILED`, if applicable.
failureDetails String?
Details about the failure.
failureReferences[].failureReferences[].target.integration String
The unique id of an Integration.
failureReferences[].failureReferences[].target.collection String
The unique id of a collection within that Integration.
failureReferences[].target Dictionary
failureReferences[].reason String
failureReferences List?[Dictionary]

_BaseFailureEvent

_BaseFailureEvent
reason String

OptinFailureEvent

OptinFailureEvent
reason String

ActionFailureEvent

ActionFailureEvent
reason String

ProtocolViolationEvent

ProtocolViolationEvent
reason String

NetworkFailureEvent

NetworkFailureEvent
reason String

ServiceFailureEvent

ServiceFailureEvent
reason String

IntegrationFailureEvent

IntegrationFailureEvent
reason String
message String

AuthorizationFailureEvent

AuthorizationFailureEvent
reason String
credentials String

TransactionEventDetails

TransactionEventDetails
kind Enum('_BaseFailureEvent', 'OptinSuccessEvent', 'OptinFailureEvent', 'ActionSuccessEvent', 'ActionFailureEvent', 'ProtocolViolationEvent', 'NetworkFailureEvent', 'ServiceFailureEvent', 'IntegrationFailureEvent', 'AuthorizationFailureEvent')
The event's specific type, such as `OptinSuccessEvent`.
event Or[_BaseFailureEvent, OptinSuccessEvent, OptinFailureEvent, ActionSuccessEvent, ActionFailureEvent, ProtocolViolationEvent, NetworkFailureEvent, ServiceFailureEvent, IntegrationFailureEvent, AuthorizationFailureEvent]
The event's specific schema.
_meta TransactionEventMeta

TransactionEventMeta

TransactionEventMeta
created DateTime
When the event was received.
updated DateTime
When the event was last updated.

Transaction

Transaction
_meta Meta
Meta information about the resource.
status String
statusReason String?
A reason for the current status of this Transaction.
target.integration String
The unique id of an Integration.
target.collection String
The unique id of a collection within that Integration.
target Dictionary
provider String?
The Provider id this Transaction references.
submission String
The unique id of the Submission this Transaction references.
settings Dictionary?
The user-specified set of settings for this Transaction.
startedAt DateTime?
When the Transaction started.
succeededAt DateTime?
When the Transaction succeeded.
failedAt DateTime?
When the Transaction failed.

Architecture

Hydra is the large, central component of the new Integrations API. There are several pieces that revolve around Hydra and their architecture is outlined here.

Third-Party Credentials Management

Credentials management is core to the integrations system. The system must support:

Further, several hooks must be in place around credentials events. For example, updating credentials must provide a hook to retry paused submission transactions and failed submission transactions.

Integration Configuration

Returns integration configuration in generic form, where configuration is:

Form Submission Handler

The form submission handler is the endpoint that public-facing forms will send data to. A few notes on that handler:

Integration Routing

The integration routing is concerned with sending a fully-rendered transaction to certain agents based on a list of tags that resolve to that agent's endpoints.

Routing tags are associated with the transaction. The transaction itself is generic and is separate from the actual submission event. The submission can always be rendered into a new transaction, tagged and sent to the integration router to be processed.

Agents

Agents are the long-running, provider-specific handlers of completely rendered submissions.

Configuration

This section is incomplete.

Requirements:

Optin Replay

This section is incomplete.

Concepts

Hydra, and the integrations ecosystem, use some heavier concepts to provide clarity and flexibility to the complex environment of form handling. The most core concepts are broken down here.

Fields and Field Groups

Fields are single inputs, like a text box or a check box. They may be useful on their own, but most forms are not composed of a single text box. To aid in organizing what may be a complex hierarchy of form fields, we use the idea of "field groups" to organize and group fields. Imagine a form like the following:

Volunteer Signup

This form is not as simple as you might think; it is not apparent whether a first and last name is expected, or just a single free-form name; the email address may or may not need validation, and there are dependencies in the volunteer preferences. We can rearrange this form to use field groups instead, and it will become clearer how having reusable field groups can be useful.

Volunteer Signup

FieldGroup(Form, [ Field(Name), Field(Email), FieldGroup(Weekdays, [ Field(All), FieldGroup(Days, [ Field(Monday), Field(Tuesday), Field(Wednesday), Field(Thursday), Field(Friday), ]) ]), Field(Weekends) ]

Structured this way, in reusable blocks, we could imagine rules like "if the user chooses All Weekdays, don't show or submit the Days FieldGroup."