Getting field definitions endpoint

This endpoint is invoked by AMS to retrieve field definitions. This is currently only applicable to Responsys.

Service URL

<product-base-url>/export/tenants/<tenantId>/instances/<instanceId>/schema

Request Method

GET

Request Header

Authorization: Bearer <JWT>

Content-Type=application/json

Bearer Token

JWT claims

In the scenario where AMS makes the request to the endpoint, the key and value pairs bear the following meanings:

Key Value Definition Context
iss The issuer of the token. The issuer is ams.
aud The audience of the token. The product UUID created by AMS.
exp The date and time the token will expire, expressed as a Unix timestamp. Must be after the current date/time. Set to 60 seconds after the JWT was created.
iat The date and time the JWT was issued, expressed as a Unix timestamp. Set to the current time.
o.a.p.ctenantId The id of the tenant. The id of the tenant.

Signature

Signed with an app's install secret.

Sample JWT Payload

{
  "iss": "AMS",
  "iat": 1507745530,
  "exp": 1539281530,
  "aud": "71c092df-351e-4f39-da0a-687a108fae4f",
  "o.a.p.ctenantId": "6607"
}

Sample Response in case of success

RESPONSE NOTES:

  • The endpoint responds with an object that contains a collection of objects

{
 objects: [{}, {}]
}

Here is a sample response of objects from Responsys.

{
    "objects": [
        {
            "name": "",
            "type": "",
            "fields": [
                {
                    "name": "RIID_",
                    "dataType": "Text",
                    "width": 0,
                    "readOnly": true
                },
                {
                    "name": "CREATED_SOURCE_IP_",
                    "dataType": "Text",
                    "width": 255,
                    "readOnly": true
                },
                {
                    "name": "CUSTOMER_ID_",
                    "dataType": "Text",
                    "width": 255,
                    "readOnly": true
                },
                {
                    "name": "EMAIL_ADDRESS_",
                    "dataType": "Text",
                    "width": 500,
                    "readOnly": true
                },
                {
                    "name": "EMAIL_DOMAIN_",
                    "dataType": "Text",
                    "width": 255,
                    "readOnly": true
                },
                {
                    "name": "EMAIL_ISP_",
                    "dataType": "Text",
                    "width": 255,
                    "readOnly": true
                },
                {
                    "name": "EMAIL_FORMAT_",
                    "dataType": "Text",
                    "width": 1,
                    "readOnly": true
                },
                {
                    "name": "EMAIL_PERMISSION_STATUS_",
                    "dataType": "Text",
                    "width": 1,
                    "readOnly": true
                },
                {
                    "name": "EMAIL_DELIVERABILITY_STATUS_",
                    "dataType": "Text",
                    "width": 1,
                    "readOnly": true
                },
                {
                    "name": "EMAIL_PERMISSION_REASON_",
                    "dataType": "Text",
                    "width": 255,
                    "readOnly": true
                },
                {
                    "name": "EMAIL_MD5_HASH_",
                    "dataType": "Text",
                    "width": 50,
                    "readOnly": true
                },
                {
                    "name": "EMAIL_SHA256_HASH_",
                    "dataType": "Text",
                    "width": 100,
                    "readOnly": true
                },
                {
                    "name": "MOBILE_NUMBER_",
                    "dataType": "Text",
                    "width": 25,
                    "readOnly": true
                },
                {
                    "name": "MOBILE_COUNTRY_",
                    "dataType": "Text",
                    "width": 25,
                    "readOnly": true
                },
                {
                    "name": "MOBILE_PERMISSION_STATUS_",
                    "dataType": "Text",
                    "width": 1,
                    "readOnly": true
                },
                {
                    "name": "MOBILE_DELIVERABILITY_STATUS_",
                    "dataType": "Text",
                    "width": 1,
                    "readOnly": true
                },
                {
                    "name": "MOBILE_PERMISSION_REASON_",
                    "dataType": "Text",
                    "width": 255,
                    "readOnly": true
                },
                {
                    "name": "POSTAL_STREET_1_",
                    "dataType": "Text",
                    "width": 255,
                    "readOnly": true
                },
                {
                    "name": "POSTAL_STREET_2_",
                    "dataType": "Text",
                    "width": 255,
                    "readOnly": true
                },
                {
                    "name": "CITY_",
                    "dataType": "Text",
                    "width": 50,
                    "readOnly": true
                },
                {
                    "name": "STATE_",
                    "dataType": "Text",
                    "width": 50,
                    "readOnly": true
                },
                {
                    "name": "POSTAL_CODE_",
                    "dataType": "Text",
                    "width": 25,
                    "readOnly": true
                },
                {
                    "name": "COUNTRY_",
                    "dataType": "Text",
                    "width": 50,
                    "readOnly": true
                },
                {
                    "name": "POSTAL_PERMISSION_STATUS_",
                    "dataType": "Text",
                    "width": 1,
                    "readOnly": true
                },
                {
                    "name": "POSTAL_DELIVERABILITY_STATUS_",
                    "dataType": "Text",
                    "width": 1,
                    "readOnly": true
                },
                {
                    "name": "POSTAL_PERMISSION_REASON_",
                    "dataType": "Text",
                    "width": 255,
                    "readOnly": true
                },
                {
                    "name": "CREATED_DATE_",
                    "dataType": "DateTime",
                    "width": 0,
                    "readOnly": true
                },
                {
                    "name": "MODIFIED_DATE_",
                    "dataType": "DateTime",
                    "width": 0,
                    "readOnly": true
                },
                {
                    "name": "CITY",
                    "dataType": "Text",
                    "width": 500,
                    "readOnly": false
                },
                {
                    "name": "COUNTRY",
                    "dataType": "Text",
                    "width": 500,
                    "readOnly": false
                },
                {
                    "name": "HUMIDITY",
                    "dataType": "Double",
                    "width": 22,
                    "readOnly": false
                },
                {
                    "name": "TEMPERATURE",
                    "dataType": "Double",
                    "width": 22,
                    "readOnly": false
                }
            ]
        }
    ]
}

This is a sample object named "contact" that was defined.

{
 "name": "contact",
 "type": "Standard"
 "fields": [{
  "name": "firstname",
  "dataType": "Text",
  "width": 40,
  "unique": false,
  "required": false,
  "readOnly": false,
  "minimumValue": null,
  "maximumValue": null,
  "possibleValues": null,
  "format": null,
  "resourceBundles": {
   "en": {
    "name": "Firstname"
   },
   "zh": {
    "name": "Firstname in Chinese"
   }
  }
 }],
 "children": ["address", "organization"],
 "resources": {
  "defaultLocale": "en",
  "resourceBundles": {
   "en": {
    "name": "Contact"
   },
   "zh": {
    "name": "Contact in Chinese"
   }
  }
 }
}

Defining an object

The following table defines attributes used to define an object.

Attribute Description
name Name of an object
type Type of an object, could either be "Standard" or "Custom"
fields Collection of fields within an object
children Collection of names of objects that are children to this object
resources A map that provides display name of an object in different locales. Also provides the default locale.

The following table defines attributes used to define a field.

Attribute Description
name Name of an object
dataType Data type of a field, could be one of the following [Boolean, Integer, Long, Float, Double, Text, DateTime]
width Defines character width of a text field
unique A boolean set to "true" is the field is unique
required A boolean set to "true" for not null field where a value is required
readOnly A boolean set to "true" for a field the can be read but cannot be set
minimumValue A value used to define the lower end of a range for a field.Does not apply for fields of type Boolean or Text
maximumValue A value used to define the upper end of a range for a field.Does not apply for fields of type Boolean or Text
possibleValues A list of value that can be set in a field
format A format that needs to be applied. This could be a date format, number format etc.
resources A map that provides display name of a field in different locales. Also provides the default locale.

Learn more

Endpoint reference