Views:

In this article: Partner Data Needed | Security Overview | End User Token| API Details | API Versioning | Rate Limits | Error Responses | API Endpoints | adminTypes | contactTypes | countryRegions | entitlements/l1s | entitlements/services/{serviceId}/l1s/{l1id}/l2s | entitlements/services/{serviceId}/l1s/{l1id}/l2s/{l2id}/l3s | entitlements/l1l2l3s | incentives/Programs | incentives/Workloads | incentives/YearPeriods | incentives/Statements | noteCategories | partnerReferrals | partnerReferrals/acceptanceStatuses | partnerReferrals/declineReasons| partnerReferrals/referralStatuses | partnerReferrals/{PartnerReferralId} | partnerTenants v.1 | partnerTenants v.2 | partnerTenants/contactspartnerTenants/maxEntitlements | partnerTenants/entitlements | services | services/frp | skillTypes | surveyLanguages | tenants/{tenantId} | tenants/{tenantId}/services/maxEntitlements | tenants/{tenantId}/services/entitlements (Get) | tenants/{tenantId}/services/{serviceid}/entitlements (Gets) | tenants/{tenantId}/services/{serviceid}/entitlements (Patch) | tenants/{tenantId}/contacts (Get) | tenants/{tenantId}/contacts (Post) | tenants/contacts/{contactId} (Patch) | tenants/contacts/{contactId} (Delete) | tenants/{tenantId}/ | tenants/{tenantId}/notes (Gets) | tenants/{tenantId}/notes (Gets) | tenant/assignments| timeZones | usage/current


Summary

The FastTrack-FastTrack Partner Experience (FT-FPX) API is designed to allow easy access for FastTrack Ready Partners (FRPs) to data about the tenants they are assisting, including entitlements, contacts, and notes. This document gives an overview on how to integrate with the API as well as a description of the various endpoints available for use.

Integration Overview

Partner Data Needed

  • Tenant ID
  • Account Information about users who will be able to access Authentication Certificate   
  • User/Account Token Information, see security overview.
  • Any CORS headers you wish us to validate against.

Security Overview

All partners will be granted access to a certificate that will allow them to authenticate at a high level with the API.

Certificates will be accessible via our Partner Management site that will be available to the admin users you specify. We will need the name and email address (and username, if different than email) as linked to your Azure Directory (AD) for the admin users who will access the site. The URLs for the management site are as follows: 

 

FTOP API Certificate

Figure 1 API Management Portal
 

Once a certificate is downloaded, please send that certificate upon every request to the API.

End User Token

If you provide direct interaction with the API to your end users, we strongly encourage you to integrate your tokens with the API.  With this integration, we will validate your end user tokens as well as track individual user activities for forensic purposes, if needed. If you wish to enable this integration, we will need the following information:

  • The Tenant the users will come from.
  • The unique identifier of the user in the token (usually sub).
  • If you want us to validate the token or just track the end user.

Once provided, we will configure the system to accept a Bearer token on all API calls along with the standard certificate authentication.

API Details

The API is a standard REST formatted API accessible at prod.partner.fttoolingapi.microsoft.com.  All endpoints are predicated by a version number and API details. We are currently in a V1.2 state, so all calls will be for ftop/v1.2/api/… 

For example, https://prod.partner.fttoolingapi.microsoft.com/ftop/v1.2/api/timezones

Base URLS are as follows:

API Versioning

Unless there is a newer version of an endpoint, all API operations in a previous version will be present in the current version.

Rate Limits

The API rate limits activity to 600 calls per minute per identifiable user (or without user token info, per IP address).

Error Responses

All error responses will return with a standard response code in the header, and error detail information in the following format:

{

ErrorStatus: (400, 500, etc.)

DependencyType: “SQL Server”, "Azure Search", "Dynamics", "Redis", "Internal"

DependencyOwner: "FTR CPOR Team", "FT_FCU API Team", "V3 Team"

DependencyErrorCode: Optional field containing structured error code that the dependency puts out.

Message: A descriptive message about the error that has occurred.

}

The DependencyErrorCode will generally be additional debugging details about the error, normally in a simple string format.  However, in the case of 400 errors, this will contains structured JSON containing details about which input fields were invalid plus a message about why they were invalid.  For example:

{

"errors": {

"Email": [

"Invalid email address provided"

],

"ContactTypeId": [

"Contact Type is Required"

]

},
"errorStatus": 400,

"message": "One or more validation errors occurred."

}
 

API Endpoints

adminTypes

Description:

Lookup for contacts, a list of admin user types.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array
    • id (integer)
    • name (string, nullable)

contactTypes

Description:

Lookup for contacts, a list of contact types.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array
    • id (integer)
    • name (string, nullable)

countryRegions

Description:

Lookup for contacts, a list of countries/region types.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array
    • id (string - uuid)
    • name (string, nullable)

entitlements/l1s

Description:

Lookup for top level statuses for any entitlements.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array
    • id (string - uuid)
    • name (string, nullable)
    • description (string, nullable)

entitlements/services/{serviceId}/l1s/{l1id}/l2s

Description:

Lookup of all second level statuses for any service and l1 value

Verb:

  • Get

Inputs:

  • serviceId (integer, path) – See services endpoint.
  • l1id (string – uuid, path) – See entitlement/l1s endpoint.

Output:

  • Array
    • id (string - uuid)
    • name (string, nullable)
    • description (string, nullable)

entitlements/services/{serviceId}/l1s/{l1id}/l2s/{l2id}/l3s

Description:

Lookup of all third level statuses for any service, l1 and l2 value.

Verb:

  • Get

Inputs:

  • serviceId (integer, path) – See services endpoint.
  • l1id (string – uuid, path) – See entitlement/l1s endpoint.
  • l2id (string – uuid, path) – See entitlement/services/l1s/l2s endpoint.  

Output:

  • Array
    • id (string - uuid)
    • name (string, nullable)
    • description (string, nullable)

entitlements/l1l2l3s

Description:

Retrieves all combinations of service / L1 / L2 / L3 values.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array:
    • Service
      • id (integer)
      • name (string, nullable)
      • l1s (Array)
        • id (string – uuid)
        • name (string, nullable)
        • l2s (Array)
          • id (string – uuid)
          • name (string, nullable)
          • l3s (Array)
            • id (string – uuid)
            • name (string, nullable)

incentives/Programs

Description:

Gets a list of programs that may be associated with payments.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array
    • id (integer)
    • name (string)

incentives/Workloads

Description:

Gets a list of workloads that may be associated with payments.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array:
    • workloadId (integer)
    • name (string)
    • program (object)
    • id (integer)
    • name (string)

incentives/YearPeriods

Description:

Gets a list of Year Periods that may be associated with payments.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array:
    • id (integer)
    • yearPeriod (integer)
    • yearPeriodRange (string)

incentives/Statements

Description:

Searches statement data for the Partner

Verb:

  • Get

Inputs:

  • PaymentPeriodIds (List of Int, query, optional).  Note, if not provided, data from the last three-year payment periods will be returned.
  • Tenants (List of string-uuid, query, optional)
  • ProgramIds (List of Int, query, optional)

Output:

  • Array:
    • programMembershipId (string-uuid, nullable)
    • partnerName (string, nullable)
    • yearPeriod (Object)
      • id (integer)
      • yearPeriod (integer)
      • yearPeriodRange (string, nullable)
    • transactions (Array)
      • mpnId (string, nullable)
      • recordId (string – uuid, nullable)
      • transactionId (string, nullable)
      • tenantId (string – uuid, nullable)
      • tenantName (string – uuid, nullable)
      • program (object)
        • id (integer)
        • name (string, nullable)
      • workload (object)
        • workloadId (integer)
        • name (string, nullable)
        • program (object)
          • id (integer)
          • name (string, nullable)
        • milestone (string, nullable)
        • milestoneDate (string – datetime, nullable)
        • atClaimUsage (decimal, nullable)
        • milestoneUsage (decimal, nullable)
        • payableGrowth (integer, nullable)
        • previousPaymentUSD (decimal, nullable)
        • rateUSD (decimal, nullable)
        • paymentUSD (decimal, nullable)
        • paymentLocal (decimal, nullable)
        • localCurrency (string, nullable)
        • localCurrencySymbol (string, nullable)
        • disputeCaseNumber (string, nullable)
    • totalPaidUSD (decimal)
    • totalPaidLocal (decimal)

noteCategories

Description:

Lookup for notes, a list of all note category types.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array
    • id (integer)
    • name (string, nullable)

partnerReferrals

Description:

Gets a list of any referrals currently being offered to your account, if any.

Verb:

  • Get

Inputs:

  • page (int, query, optional, default 1) – Current page of data.
  • pageSize (int, query, optional, default 25) – Number of records to be included in a page.
  • showDeclinedReferrals (boolean, query, optional, default false) – Whether to include only accepted referrals or not.
  • partnerReferralSourceIds (list int, query, optional) – Filter referrals based on their source id.
  • partnerReferralSourceIds (string, query, optional, comma delimited list of referral source Id) – Filter referrals by referral source.
  • searchTerm (string, query, optional, default null) – Provides text search to search across customer name, domain name, etc.
  • sortColumn (string, query, optional, default created) – Name of a column you wish to sort the referral by.
  • sortDirection (enum, query, optional) - Ascending, Descending

Output:

  • count (integer)
  • hasMore (boolean)
  • items (Array):
    • id (integer)
    • created (string - datetime)
    • tenantId (string -uuid, nullable)
    • tenantName (string, nullable)
    • tenantDomain (string, nullable)
    • workloads (Array) – This related to service endpoint values.
      • id (integer)
      • name (string, nullable)
    • claimed (boolean) – Have you as a partner, claimed this referral as your own.
    • partnerReferralId (string – uuid)
    • partnerReferralNumber (string, null)
    • acceptance (object, nullable)
      • id (string – uuid, not null)
      • name (string, not null)
    • declineReason (object, nullable)
      • id (string – uuid, not null)
      • name (string, not null)
    • referralStatus (object, nullable)
      • id (string – uuid, not null)
      • name (string, not null)
    • servicesEstimatedValue (object, nullable)
      • id (string – uuid, not null)
      • name (string, not null)
    • valueAddedServicesSold (boolean nullable)

partnerReferrals/acceptanceStatuses

Description:

Gets a list of all acceptance statuses for a partner referral.

Verb:

  • Get

Inputs:

  • None

Output:

Array

  • id (string – uuid, not null)
  • name (string, not null)

partnerReferrals/declineReasons

Description:

Gets a list of all decline reasons for a partner referral.

Verb:

  • Get

Inputs:

  • None

Output:

Array

  • id (string – uuid, not null)
  • name (string, not null)

partnerReferrals/referralStatuses

Description:

Gets a list of all referral statuses for a partner referral.

Verb:

  • Get

Inputs:

  • None

Output:

Array:

  • id (string – uuid, not null)
  • name (string, not null)

partnerReferrals/serviceValues

Description:

Gets a list of all services values for a partner referral.

Verb:

  • Get

Inputs:

  • None

Output:

Array

  • id (string – uuid, not null)
  • name (string, not null)

partnerReferrals/{PartnerReferralid}

Description:

Patches a referral by accepting or declining the referral.

Verb:

  • Patch

Inputs:

All inputs in body.

  • AceptanceStatusId (string – uuid, not null)
  • DeclineReasonId (string – uuid, null)
  • referralStatusId (string – uuid, null)
  • valueAddedServicesSold - (Boolean, null)
  • servicesEstimatedValueId – (string – uuid, null)

Validation:

  • When the referral is declined:
    • declineReasonId must be set
    • referralStatusId must be null
    • valueAddedServicesSold must be null
    • servicesEstimatedValue must be null
  • When the referral is accepted:
    • declineReasonId must not be set
    • When valueAddedServicesSold is true:
      • servicesEstimatedValueId must be set
    • When valueAddedServicesSold is false:
      • servicesEstimatedValueId must be null
    • A previously declined referral cannot be updated
    • A previously accepted referral cannot be declined

Output:

  • count (integer)
  • hasMore (boolean)
  • items (array):
    • id (integer)
    • created (string - datetime)
    • tenantId (string -uuid, nullable)
    • tenantName (string, nullable)
    • tenantDomain (string, nullable)
    • workloads (array) – This related to service endpoint values.
      • id (integer)
      • name (string, nullable)
    • claimed (boolean) – Have you as a partner, claimed this referral as your own.
    • partnerReferralId (string – uuid)
    • partnerReferralNumber (string, null)
    • acceptance (object, nullable)
      • id (string – uuid, not null)
      • name (string, not null)
    • declineReason (object, nullable)
      • id (string – uuid, not null)
      • name (string, not null)
    • referralStatus (object, nullable)
      • id (string – uuid, not null)
      • name (string, not null)
    • servicesEstimatedValue (object, nullable)
      • id (string – uuid, not null)
      • name (string, not null)
    • valueAddedServicesSold (boolean nullable)

partnerTenants v.1

Description:

Retrieves all tenants for which your partner has a claimed workload along with a list of workloads you have claimed for that tenant.

Verb:

  • Get

Inputs:

  • None

Output:

  • count (integer)
  • hasMore (boolean)
  • items (Array, nullable):
    • tenantId (string – uuid)
    • tpid (integer)
    • name (string)
    • claimedWorkloads (Array)
      • id (integer)
      • name (string)

partnerTenants v.2

Description:

Retrieves details about a single tenant for which your partner possesses a claimed workload.

  • Get

Inputs:

  • tenantId (string – uuid, path)

Output:

  • tenantId (string – uuid)
  • tpid (integer)
  • name (string)
  • claimedWorkloads (Array)
    • id (integer)
    • name (string)

partnerTenants/contacts

Description:

Retrieves contact information for multiple tenants. Limited to 25 tenantIds per call.

Verb:

  • Get

Inputs:

  • tenantIds (array[string] – uuid, query)
  • page (int, default 1)
  • pageSize(integer, default 25)

Output:

  • Array
    • tenantId (string – uuid)
    • tenantName (string)
    • count (integer)
    • hasMore (boolean
    • items (array)
      • contactId (string – uuid)
      • tenantId (string – uuid)
      • name (string, nullable)
      • email (string, nullable)
      • phone (string, nullable)
      • managerName (string, nullable)
      • managerEmail (string, nullable)
      • title (string, nullable)
      • isEngaged (boolean, nullable)
      • isFastTrackContact (boolean, nullable)
      • evidence (string, nullable)
      • surveyEligible (boolean, nullable)
      • approvedSurvey (string, nullable)
      • note (string, nullable)
      • created (string – datetime)
      • createdBy (string, nullable)
      • modified (string – datetime)
      • modifiedBy (string, nullable)
      • timezone: - See timezones endpoint.  
        • id (string - uuid)
        • name (string, nullable)
      • countryRegion: - See countryRegions endpoint.  
        • id (string - uuid)
        • name (string, nullable)
      • adminType: - See adminTypes endpoint.  
        • id (string - integer)
        • name (string, nullable)
      • surveyLanguage: - See surveyLanguages endpoint.
        • id (string - uuid)
        • name (string, nullable)
      • contactType: - See contactTypes endpoint.
        • id (string - uuid)
        • name (string, nullable)
      • skillTypes (Array): - See skillTypes endpoint.
        • id (string- integer)
        • name (string, nullable)
      • services (Array): - See services endpoint.
        • id (string - integer)
        • name (string, nullable)

partnerTenants/maxEntitlements

Description:

Retrieved max entitlement information for multiple tenants. Limited to 25 tenantIds per call.

Verb:

  • Get

Inputs:

  • tenantIds (array[string] – uuid, query)

Output:

  • Array
    • tenantId (string - uuid)    
    • moreRecords (boolean)
    • items (array)
      • id (string – uuid, nullable)
      • tenantId (string – uuid)
      • serviceId (integer) – See services endpoint.
      • maxEntitlementSeatCount (integer)

partnerTenants/entitlements

Description:

Retrieved entitlement information for multiple tenants. Limited to 25 tenantIds per call.

Verb:

  • Get

Inputs:

  • tenantIds (array[string] – uuid, query)

Output:

  • Array
    • moreRecords (boolean)
    • items (array):
      • serviceIntentId (string-uuid)
      • l1
        • id(string-uuid)
        • name(string)
      • l2
        • id(string - uuid)
        • name(string)
      • l3
        • id(string - uuid)
        • name(string)
      • entitlmentCount (integer)
      • targetDate (string – datetime, nullable)
      • owner (string, nullable)
      • nextActionDate (string – datetime, nullable)
      • notes (string, nullable)
      • tenantId (string, uuid)

services

Description:

Lookup for services, a list of all service types.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array:
    • id (integer)
    • name (string, nullable)

services/frp

Description:

This endpoint returns a subset of services that are implemented by partners. As a general rule, this is the data you should use for populating drop-down lists, etc. that represent workloads you would be implementing. However, the primary services endpoint is available for reference, as you might see values for other services in contacts or entitlements.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array
    • id (integer)
    • name (string, nullable)

skillTypes

Description:

This endpoint returns a list of potential skill types for use with contacts.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array
    • id (integer)
    • name (string, nullable)

surveyLanguages

Description:

This endpoint returns a list of potential survey languages for use with contacts.

Verb:

  • Get

Inputs:

  • None

Output:

  • Array:
    • id (integer)
    • name (string, nullable)

tenants/{tenantId}

Description:

Gets some basic information about the provided tenant.

Verb:

  • Get

Inputs:

  • None

Output:

  • tenantId (string – uuid)
  • name (string, nullable)
  • tpid (integer, nullable)

tenants/{tenantId}/services/maxEntitlements

Description:

Gets a tenant’s seat count data status records for multiple services.

Verb:

  • Get

Inputs:

  • tenantId (string - uuid, path)
  • serviceIds (array[integer], query)

Output:

  • Array:
    • id (string – uuid, nullable)
    • tenantId (string – uuid)
    • serviceId (integer) – See services endpoint.
    • maxEntitlementSeatCount (integer)

tenants/{tenantId}/services/entitlements

Description:

Gets a tenant’s entitlement status records for multiple services.

Verb:

  • Get

Inputs:

  • tenantId (string - uuid, path)
  • serviceIds (array[integer], query)

Output:

  • Array
    • serviceIntentId (string – uuid, nullable) – Identifier for a particular status record.
    • l1 (json object):  - See entitlements/l1 endpoint.
      • id (string - uuid)
      • name (string, nullable)
    • l2 (json object, nullable): – See entitlement/services/l1s/l2s endpoint.
      • id (string - uuid)
      • name (string, nullable)
    • l3 (json object, nullable): – See entitlement/services/l1s/l2s/l3s endpoint.  
      • id (string - uuid)
      • name (string, nullable)
    • entitlementCount (integer) – Total seats in this status.
    • targetDate (string – datetime, nullable) 
    • owner (string, nullable)
    • nextActionDate (string – datetime, nullable)
    • notes (string, nullable)

tenants/{tenantId}/services/{serviceid}/entitlements (Get)

Description:

Gets a tenant’s entitlement status records for a single service.

Verb:

  • Get

Inputs:

  • tenantId (string - uuid, path)
  • serviceIds (integer, path)

Output:

  • Array:
    • serviceIntentId (string – uuid, nullable) – Identifier for a particular status record.
    • l1 (json object):  - See entitlements/l1 endpoint.
      • id (string- uuid)
      • name (string, nullable)
    • l2 (json object, nullable): – See entitlement/services/l1s/l2s endpoint.
      • id (string- uuid)
      • name (string, nullable)
    • l3 (json object, nullable): – See entitlement/services/l1s/l2s/l3s endpoint.
      • id (string- uuid)
      • name (string, nullable)
    • entitlementCount (integer) – Total seats in this status.
    • targetDate (string – datetime, nullable) 
    • owner (string, nullable)
    • nextActionDate (string – datetime, nullable)
    • notes (string, nullable)

tenants/{tenantId}/services/{serviceid}/entitlements (Patch)

Description:

Updates all the statuses for a particular service entitlement.
 

Verb:

  • Patch

Inputs:

  • tenantId (string - uuid, path)
  • serviceIds (integer, path)

Request Body:

  • Array
    • serviceIntentId (string – uuid) – Don’t pass this in or pass in an empty guid if you are creating a new status record instead of updating an existing one.  
    • l1id (string – uuid) - See entitlements/l1 endpoint.
    • l2id (string – uuid, nullable) - See entitlement/services/l1s/l2s endpoint.
    • l3id (string – uuid, nullable) - See entitlement/services/l1s/l2s/l3s endpoint.
    • entitlementCount (integer) – If you wish to remove a particular status, set the entitlementCount to zero (0).
    • targetDate (string – datetime, nullable)
    • owner (string, nullable)
    • nextActionDate (string – datetime, nullable)
    • notes (string)

Output:

  • Array: (All values after update)
    • serviceIntentId (string – uuid, nullable) – Identifier for a particular status record.
    • l1 (json object): – See entitlements/l1 endpoint.
      • id (string - uuid)
      • name (string, nullable)
    • l2 (json object, nullable): – See entitlement/services/l1s/l2s endpoint.
      • id (string - uuid)
      • name (string, nullable)
    • l3 (json object, nullable): – See entitlement/services/l1s/l2s/l3s endpoint.
      • id (string - uuid)
      • name (string, nullable)
    • entitlementCount (integer) – Total seats in this status.
    • targetDate (string – datetime, nullable) 
    • owner (string, nullable)
    • nextActionDate (string – datetime, nullable)
    • notes (string, nullable)

Notes:

There are few unique rules for this request.  First is that L1 values must be unique for all records in a particular service.  That means there can be a maximum of 5 records in any patch request.  Additionally, the sum of all entitlement counts must equal the total number of seats for the service which you can discover from the tenants/services/maxEntitlements endpoint.  To add an entitlement status that doesn’t exist, either don’t provide the serviceIntentId or pass it in as an empty guid.  To remove an existing status, pass in a 0 entitlement seat count.
 

tenants/{tenantId}/contacts (Get)

Description:

Available in v1 and v1.1

Gets the contacts for a tenant.

Verb:

  • Get

Inputs:

  • tenantId (string-uuid, path)
  • rfaId (integer, query, optional) – Allows the retrieval of contacts for tenants where you have a referral (and a Referral ID number).
  • contactTypeId (integer, query, optional) – Filters result to a particular contact type ID.  See the contactTypes endpoint.
  • page (int, query, optional, default 1) – Current page of data.
  • pageSize (int, query, optional, default 25) – Number of records to be included in a page.

Output:

  • rfaId (integer, nullable) – Returns the RFAId provided, if there are any.
  • count (integer)
  • hasMore (boolean)
  • items (Array, nullable):
    • contactId (string – uuid)
    • tenantId (string – uuid)
    • name (string, nullable)
    • email (string, nullable)
    • phone (string, nullable)
    • managerName (string, nullable)
    • managerEmail (string, nullable)
    • title (string, nullable)
    • isEngaged (Boolean, nullable)
    • isFastTrackContact (Boolean, nullable)
    • evidence (string, nullable)
    • surveyEligible (Boolean, nullable)
    • approvedSurvey(string, nullable)
    • note (string, nullable)
    • created (string – datetime)
    • createdBy (string, nullable)
    • modified (string – datetime)
    • modifiedBy (string, nullable)
    • timezone: - See timezones endpoint.  
      • id (string- uuid)
      • name (string, nullable)
    • countryRegion: - See countryRegions endpoint.
      • id (string- uuid)
      • name (string, nullable)
    • adminType: - See adminTypes endpoint.
      • id (string- integer)
      • name (string, nullable)
    • surveyLanguage: - See surveyLanguages endpoint.
      • id (string- uuid)
      • name (string, nullable)
    • contactType: - See contactTypes endpoint.
      • id (string- uuid)
      • name (string, nullable)
    • skillTypes (Array): - See skillTypes endpoint.
      • id (string- integer)
      • name (string, nullable)
    • services (Array): - See services endpoint.
      • id (string- integer)
      • name (string, nullable)

tenants/{tenantId}/contacts (Post)

Description:

Available in v1 and v1.1
Creates a contact for a tenant.

Verb:

  • Post

Inputs:

  • tenantId (string-uuid, path)

Request Body:

  • name (string)
  • email (string, nullable)
  • phone (string, nullable)
  • managerName (string, nullable)
  • managerEmail (string, nullable)
  • title (string, nullable)
  • isEngaged (Boolean, nullable)
  • isFastTrackContact (Boolean, nullable)
  • evidence (string, nullable)
  • surveyEligible (Boolean, nullable)
  • approvedSurvey (string, nullable)
  • note (string, nullable)
  • timeZoneId (string – uuid, nullable) – See timezones endpoint  .
  • countryRegionId (string – uuid, nullable) – See countryRegions endpoint.
  • adminTypeId (integer, nullable) – See adminTypes endpoint.
  • surveyLanguageId (string – uuid, nullable) – See surveyLanugages endpoint.
  • contactTypeId (integer) – See contactTypes endpoint.
  • skillTypes (Array[integer], nullable) – See skillTypes endpoint.
  • Services (Array[integer], nullable) – See services endpoint.

Output:

  • contactId (string – uuid)
  • tenantId (string – uuid)
  • name (string, nullable)
  • email (string, nullable)
  • phone (string, nullable)
  • managerName (string, nullable)
  • managerEmail (string, nullable)
  • title (string, nullable)
  • isEngaged (Boolean, nullable)
  • isFastTrackContact (Boolean, nullable)
  • evidence (string, nullable)
  • surveyEligible (Boolean, nullable)
  • approvedSurvey (string, nullable)
  • note (string, nullable)
  • created (string – datetime)
  • createdBy (string, nullable)
  • modified (string – datetime)
  • modifiedBy (string, nullable)
  • timezone: - See timezones endpoint.
    • id (string- uuid)
    • name (string, nullable)
  • countryRegion: - See countryRegions endpoint.
    • id (string- uuid)
    • name (string, nullable)
  • adminType: - See adminTypes endpoint.
    • id (string- integer)
    • name (string, nullable)
  • surveyLanguage: - See surveyLanguages endpoint  .  
    • id (string- uuid)
    • name (string, nullable)
  • contactType: - See contactTypes endpoint.
    • id (string- uuid)
    • name (string, nullable)
  • skillTypes (Array): - See skillTypes endpoint.
    • id (string- integer)
    • name (string, nullable)
  • services (Array): - See services endpoint.  
    • id (string- integer)
    • name (string, nullable)

tenants/contacts/{contactId} Patch

Description:

Available in v1 and v1.1. Removed in v1.2

Patches a contact for a tenant.

Verb:

  • Patch

Inputs:

  • contactId (string-uuid, path)

Request Body:

  • name (string, nullable)
  • email (string, nullable)
  • phone (string, nullable)
  • managerName (string, nullable)
  • managerEmail (string, nullable)
  • title (string, nullable)
  • isEngaged (boolean, nullable)
  • isFastTrackContact (boolean, nullable)
  • evidence (string, nullable)
  • surveyEligible (boolean, nullable)
  • approvedSurvey (string, nullable)
  • note (string, nullable)
  • timeZoneId (string – uuid, nullable) – See timezones endpoint.
  • countryRegionId (string – uuid, nullable) – See countryRegions endpoint.
  • adminTypeId (integer, nullable) – See adminTypes endpoint.
  • surveyLanguageId (string – uuid, nullable) – See surveyLanugages endpoint.
  • contactTypeId (integer) – See contactTypes endpoint.
  • skillTypes (Array[integer], nullable) – See skillTypes endpoint.
  • Services (Array[integer], nullable) – See services endpoint.

Output:

  • contactId (string – uuid)
  • tenantId (string – uuid)
  • name (string, nullable)
  • email (string, nullable)
  • phone (string, nullable)
  • managerName (string, nullable)
  • managerEmail (string, nullable)
  • title (string, nullable)
  • isEngaged (Boolean, nullable)
  • isFastTrackContact (Boolean, nullable)
  • evidence (string, nullable)
  • surveyEligible (Boolean, nullable)
  • approvedSurvey (string, nullable)
  • note (string, nullable)
  • created (string – datetime)
  • createdBy (string, nullable)
  • modified (string – datetime)
  • modifiedBy (string, nullable)
  • timezone: - See timezones endpoint.
    • id (string- uuid)
    • name (string, nullable)
  • countryRegion: - See countryRegions endpoint.
    • id (string- uuid)
    • name (string, nullable)
  • adminType: - See adminTypes endpoint.
    • id (string- integer)
    • name (string, nullable)
  • surveyLanguage: - See surveyLanguages endpoint.
    • id (string- uuid)
    • name (string, nullable)
  • contactType: - See contactTypes endpoint.
    • id (string- uuid)
    • name (string, nullable)
  • skillTypes (Array): - See skillTypes endpoint.
    • id (string- integer)
    • name (string, nullable)
  • services (Array): - See services endpoint.
    • id (string- integer)
    • name (string, nullable)

tenants/contacts/{contactId} (Delete) 

Description:

Available in v1 and v1.1. Removed in v1.2

Deletes a contact for a tenant.

Verb:

  • Delete

Inputs:

  • contactId (string-uuid, path)

Output:

  • None

tenants/{tenantId}/notes (Get)

Description:

Gets the contacts for a tenant.

Verb:

  • Get

Inputs:

  • tenantId (string-uuid, path)
  • noteCategoryId (integer, query, default 1) – Filters result to a particular contact type ID.  See the noteCategories endpoint.
  • rfaId (integer, query, optional) – Allows the retrieval of notes for tenants where you have a referral (and a Referral ID number).
  • orderByCreated (string, optional) – Available values: Ascending, Descending
  • page (int, query, optional, default 1) – Current page of data.
  • pageSize (int, query, optional, default 25) – Number of records to be included in a page.

Output:

  • rfaId (integer, nullable) – returns the RFAId provided, if any.
  • count (integer)
  • hasMore (Boolean)
  • tenantId (string, uuid) – Returns the provided tenant id.
  • tenantName (string, nullable) – Name for the request tenant.
  • items (Array, nullable):
    • text (string, nullable)
    • author (string, nullable)
    • created (string – datetime, nullable)
    • noteCategory: - See noteCategories endpoint.
      • id (string- integer)
      • name (string, nullable)

tenants/{tenantId}/notes (Get)

Description:

Creates a note for a tenant.

Verb:

  • Get

Inputs:

  • tenantId (string-uuid, path)

Request Body:

  • text (string)
  • noteCategoryId (integer) – See noteCategories endpoint.

Output:

  • text (string, nullable)
  • author (string, nullable)
  • created (string – datetime, nullable)
  • noteCategory: - See noteCategories endpoint.
    • id (string- integer)
    • name (string, nullable)

tenant/assignments

Description:

Gets the assignments for a tenant at a tenant and service level.

Verb:

  • Get

Inputs:

  • tenantId (string-uuid, path)

Output:

 

  • Object (Map<Assignment Name, Assignment>)
    • id (string – uuid)
    • email (string, nullable)
    • name (string, nullable)
    • isPrimary (Boolean)
    • primaryServices (Array)
      • id (integer)
    • name (string, nullable)
  • additionalServices (Array)
    • id (integer)
    • name (string, nullable)

timeZones

Description:

Lookup for contacts, a list of time zones.

Verb:

  • Get

Inputs:

None

Output:

  • Array:
    • id (integer)
    • name (string, nullable)

usage/current


Description:


Retrieves current usage for all claimed and unclaimed workloads for tenants for which you have at least one claim.
 

Verb:

  • Get
     

Inputs:

  • None

Output:

 

  • dateLastUpdated (string – datetime): Date data was last refreshed from primary source.
  • Customers(array):
    • customerId (string-uuid): Customer tenant ID
    • customerName (string, nullable)
    • domainName (string)
    • tags (string-enum): Customer tags including Unknown, FRP and EDU.
    • workloads (array)
      • workloadId (string-enum): The claimed workload identifier.
      • mpnId (string): The MPN identifier that holds the claim.
      • tags (string – enum): Workload tags including unknown and FRP.
      • dateAssociated (string – datetime): Date the partner was associated with the workload.
      • claimId (string): The ID of the CPOR claim.
      • usageAtClaim (double?): Percentage of usage at the time a claim was made on the workload.
      • activeEntitlements (int): Current active usage.
      • qualifiedEntitlements (int): How many entitlements the customer is qualified for.
      • usage(double, nullable): Current percentage usage.
      • priorHwm (long – nullable): Prior period high water mark.
      • hwm (long -nullable): Current high water mark value.
      • month1Hwm (long -nullable): High water mark from the first month of collected data.
      • compUnits (long -nullable) : Compensable units
      • potentialEarnings(int, nullable): Potential earnings available for this workload.
    • unclaimedWorkloads(array)
      • workloadId (string-enum): The claimed workload identifier.
      • activeEntitlements (int): Current active usage.
      • qualifiedEntitlements (int): How many entitlements the customer is qualified for.
      • usage(double, nullable): Current percentage usage.
      • priorHwm (long – nullable): Prior period high water mark.
      • hwm (long -nullable): Current high water mark value.
      • month1Hwm (long -nullable): High water mark from the first month of collected data.
      • compUnits (long -nullable)
      • potentialEarnings(int, nullable): Potential earnings available for this workload.
    • excludedWorkloads (array-enum): A list of workloads excluded for the customer because they have been claimed by other partners.