Skip to main content
Tools Reference

Dicker Data Tools

Written By Christopher Scaminaci

Last updated 7 days ago

Dicker Data Tools

dicker_ · 57 tools · Free 34 · Pro 23 AU and NZ IT distributor commerce API. Region and environment are chosen as codes - Australia or New Zealand, production or sandbox - because the two countries are separate services with separate data and usually separate credentials; an unrecognized code is refused rather than guessed. The credential is an access token and account code exchanged for a short-lived key. HTTP 200 does not mean success: a business-rule refusal comes back inside the body and is reported as an error, and a single-family refusal usually means that vendor area is not enrolled on the account. There is no paging anywhere - bound large reads with a date window - and caller-supplied arrays are capped at 100 items. Prices, quantities and dimensions arrive as strings and are passed through unchanged, so do not coerce them. Every write is treated as destructive.

All connector tools · Dicker Data setup guide

Dicker Data tool groups

Catalog & Pricing

ToolPlanAccessSummary
dicker_get_order_templateFreeRead-onlyBuild an order template from a list of part numbers.
dicker_get_partner_program_detailsFreeRead-onlyGet the partner-program tier and details Dicker Data holds for a reseller account.
dicker_get_priceFreeRead-onlyGet live reseller price and stock on hand for a list of Dicker Data part numbers.

[Dicker Data] Build an order template from a list of part numbers. Despite being a POST this creates NO order and spends nothing — it returns the line structure Dicker Data would expect, which is the safe way to prepare an order body before handing it to dicker_create_order for a human to approve. Pass up to 100 part numbers; StackJack drops anything beyond that.

ParamTypeRequiredDefaultDescription
partNumbersstringyesComma-separated Dicker Data part numbers, up to 100.

[Dicker Data] Get the partner-program tier and details Dicker Data holds for a reseller account. Leave the account code blank to use the account the stored credential belongs to. Useful for confirming which programs an account is enrolled in before calling a family that is separately entitled, such as Autodesk, electronic software delivery or annuity billing.

ParamTypeRequiredDefaultDescription
accountCodestringnonullThe numeric Dicker Data reseller account code. Omit to use the account tied to the stored credential.

[Dicker Data] Get live reseller price and stock on hand for a list of Dicker Data part numbers. This is the primary catalog read and the one to reach for when quoting: it returns brand, part number, alternate part number, description, unit price, stock on hand, recommended retail price excluding tax, billing frequency and physical dimensions. Every numeric value comes back as a STRING, which is how Dicker Data types them — parse with an invariant culture rather than assuming a number. Pass up to 100 part numbers per call; StackJack drops anything beyond that because this API has no paging to fall back on. A part number is the vendor SKU, for example 8D8K2AA. To turn a Microsoft CSP SKU into a Dicker Data code first, use dicker_get_csp_stockcode.

ParamTypeRequiredDefaultDescription
partNumbersstringyesComma-separated Dicker Data part numbers, up to 100. Example: 8D8K2AA,NEATBAR2-PAD-BUNDLE

Orders & Fulfillment

ToolPlanAccessSummary
dicker_create_orderProDestructivePlace a hardware order with Dicker Data.
dicker_create_put_away_poProDestructiveCreate a put-away purchase order.
dicker_get_consignment_statusFreeRead-onlyGet freight tracking status for a consignment.
dicker_get_order_detailsFreeRead-onlyGet one order's detail.
dicker_get_order_serialsFreeRead-onlyGet the serial numbers shipped against an order.
dicker_list_order_detailsFreeRead-onlyList orders, filtered by reseller account code, order number, backorder number or customer purchase-order number.

[Dicker Data] Place a hardware order with Dicker Data. THIS SPENDS REAL MONEY AND SHIPS PHYSICAL GOODS to the delivery address in the payload — there is no draft state and no undo. Build the body with dicker_get_order_template first and have a person confirm it. The payload is the OrderIn block as a JSON object with three parts. Header: OrderNumber, Notes, BranchAccountCode, CurrencyCode, QuoteNumber. Delivery: DeliveryContact (FirstName, LastName, Phone, Fax, Email, Mobile), Attention, DeliveryAddress (CompanyName, Address01, Address02, Address03, Suburb, State, Postcode, Country), RequestedShippingDate, ShippingInstructions, PartShipped, ShippingMethod. Set ShippingMethod to DropShip to ship straight to the end customer. Items: an array, each with Product (Brand, PartNumber, Description, UnitPrice, SubscriptionType, Quantity, UseSystemPrice, SerialNumbers, LineNumber, UnitOfMeasure), optional EnduserFields, and Notes. Every value in this payload is a string, including quantities and prices.

ParamTypeRequiredDefaultDescription
orderInJsonstringyesThe OrderIn block as a JSON object with Header, Delivery and Items. Example: {"Header":{"CustomerPORef":"PO-1001"},"Delivery":{"ShippingMethod":"DropShip","DeliveryAddress":{"Suburb":"Sydney","State":"NSW","Postcode":"2000","Country":"AU"}},"Items":[{"Product":{"PartNumber":"8D8K2AA","Quantity":"2"}}]}

[Dicker Data] Create a put-away purchase order. THIS CREATES A REAL COMMERCIAL DOCUMENT against the account and cannot be undone from this API. The payload is the Items array as JSON; each element takes WarehouseCode, Vendor, VendorReference, StockCode, StockDescription, Quantity, UnitPrice, CurrencyCode, HoldProcessingCode and Location. Every value is a string, quantities and prices included.

ParamTypeRequiredDefaultDescription
itemsJsonstringyesThe Items array as JSON. Example: [{"WarehouseCode":"SYD","Vendor":"HP","StockCode":"8D8K2AA","Quantity":"5","UnitPrice":"249.00","CurrencyCode":"AUD"}]

[Dicker Data] Get freight tracking status for a consignment. The consignment number comes from the order detail returned by dicker_get_order_details once the order has shipped.

ParamTypeRequiredDefaultDescription
consignmentNumberstringyesThe freight consignment number.

[Dicker Data] Get one order's detail. Identify it by Dicker Data order number, by reseller account code, or by the customer purchase-order reference that was sent with it. Supply at least one. To list several orders instead, use dicker_list_order_details; for the serial numbers actually shipped, use dicker_get_order_serials.

ParamTypeRequiredDefaultDescription
accountCodestringnonullThe numeric Dicker Data reseller account code.
customerPoRefstringnonullThe customer purchase-order reference supplied when the order was placed.
orderNumberstringnonullThe Dicker Data order number.

[Dicker Data] Get the serial numbers shipped against an order. Both the order number AND its suffix are required — the suffix identifies which shipment within the order, and an order that ships in parts has several. Get both from dicker_get_order_details.

ParamTypeRequiredDefaultDescription
orderNumberstringyesThe Dicker Data order number.
orderSuffixstringyesThe order suffix identifying the shipment within that order.

[Dicker Data] List orders, filtered by reseller account code, order number, backorder number or customer purchase-order number. Dicker Data has no paging and no date filter on this operation, so narrow it with at least one identifier rather than asking for everything an account has ever ordered.

ParamTypeRequiredDefaultDescription
accountCodestringnonullThe numeric Dicker Data reseller account code.
backorderNumberstringnonullA specific backorder number.
customerPoNumberstringnonullThe customer purchase-order number sent with the order.
orderNumberstringnonullA specific Dicker Data order number.

Invoices & Annuity Billing

ToolPlanAccessSummary
dicker_confirm_annuity_ordersProDestructiveConfirm annuity orders.
dicker_get_annuity_order_itemsFreeRead-onlyGet the line items on one annuity order.
dicker_get_csp_invoice_reportFreeRead-onlyGet the Microsoft CSP invoice report for a date window.
dicker_get_invoice_detailsFreeRead-onlyGet the invoice lines for one sales order.
dicker_list_annuitiesFreeRead-onlyList annuity (recurring) billing records of a given type over a billing-date window.
dicker_list_invoicesFreeRead-onlyList reseller invoices raised in a date window.

[Dicker Data] Confirm annuity orders. THIS COMMITS BILLING for every line confirmed and cannot be undone from this API. Read dicker_get_annuity_order_items first and have a person approve the list. The payload is the ConfirmAnnuityList array as JSON; each element takes AnnuityID, SalesOrderNumber, SalesOrderSuffix, SalesOrderLineSequence, StockCode, Quantity, CustomerReference and ConfirmFlag. Every value is a string.

ParamTypeRequiredDefaultDescription
confirmAnnuityListJsonstringyesThe ConfirmAnnuityList array as JSON. Example: [{"AnnuityID":"12345","SalesOrderNumber":"SO-9001","SalesOrderSuffix":"1","Quantity":"10","ConfirmFlag":"Y"}]

[Dicker Data] Get the line items on one annuity order. Identify it by sales order number plus suffix, or by annuity id — both come from dicker_list_annuities. Read this before dicker_confirm_annuity_orders so a person can see exactly what is about to be committed to billing.

ParamTypeRequiredDefaultDescription
annuityIdstringnonullThe annuity id, from dicker_list_annuities.
salesOrderNumberstringnonullThe sales order number, from dicker_list_annuities.
salesOrderSuffixstringnonullThe sales order suffix.

[Dicker Data] Get the Microsoft CSP invoice report for a date window. This is the read that reconciles CSP billing against a PSA without a human: it covers the subscription charges Dicker Data invoiced in the period. Both ends of the window are required. Dicker Data does not document a date format; send ISO-8601 (YYYY-MM-DD). CSP is separately entitled per account, so an account that is not enrolled will be refused — that is normal, not a broken credential.

ParamTypeRequiredDefaultDescription
invoiceEndDatestringyesEnd of the invoice window. ISO-8601 date.
invoiceStartDatestringyesStart of the invoice window. ISO-8601 date.

[Dicker Data] Get the invoice lines for one sales order. The sales order number comes from dicker_list_invoices; the suffix identifies which shipment within that order was invoiced, so an order that shipped in parts has several. Set includeCustomerQualification to true to include the customer-qualification data Dicker Data holds against the lines.

ParamTypeRequiredDefaultDescription
includeCustomerQualificationbooleannonullSet true to include customer-qualification data on the lines.
salesOrderNumberstringyesThe sales order number, from dicker_list_invoices.
salesOrderNumberSuffixstringnonullThe sales order suffix identifying the invoiced shipment.

[Dicker Data] List annuity (recurring) billing records of a given type over a billing-date window. Both ends of the window are required. Annuity billing is separately entitled per account, so an account not enrolled in it will be refused — that is normal. For the lines on one annuity order use dicker_get_annuity_order_items; to confirm annuity orders, which commits billing, see dicker_confirm_annuity_orders.

ParamTypeRequiredDefaultDescription
annuityTypestringyesThe annuity type, as Dicker Data names it on the account.
endBillingDatestringyesEnd of the billing window. ISO-8601 date.
startBillingDatestringyesStart of the billing window. ISO-8601 date.

[Dicker Data] List reseller invoices raised in a date window. Both ends are required: this API has no paging, so an open range would return everything at once. Dicker Data does not document a date format for this parameter; send ISO-8601 (YYYY-MM-DD). For the lines on one invoice, follow up with dicker_get_invoice_details.

ParamTypeRequiredDefaultDescription
endDatestringyesEnd of the window. ISO-8601 date, for example 2026-08-31.
startDatestringyesStart of the window. ISO-8601 date, for example 2026-08-01.

Subscriptions

ToolPlanAccessSummary
dicker_create_subscriptionProDestructiveCreate one or more billable subscriptions against a tenant.
dicker_get_licenseFreeRead-onlyLook up a license by its serial number.
dicker_get_subscription_actionsFreeRead-onlyList the actions Dicker Data will accept against a subscription right now.
dicker_get_subscription_detailsFreeRead-onlyGet subscription detail.
dicker_get_subscription_details_extendedFreeRead-onlyGet the extended subscription-detail projection.
dicker_get_subscription_usage_detailsFreeRead-onlyGet metered consumption for a subscription over a usage period — the Azure-style usage lines behind a consumption bill.
dicker_manage_subscriptionProDestructiveAct on a live subscription.
dicker_place_subscription_orderProDestructivePlace a subscription order with full end-customer, ship-to and reseller blocks.

[Dicker Data] Create one or more billable subscriptions against a tenant. THIS SPENDS REAL MONEY on a recurring basis and cannot be undone from this API — cancelling afterwards is a separate, separately-billed action. The payload is the In array as JSON; each element takes StockCode, Quantity, ParentStockCode, SubscriptionDescription, TenantID, MPNID, Email, UserName, SubscriptionID, Action and SubscriptionType. Get the StockCode from dicker_get_csp_stockcode. Every value is a string, quantity included.

ParamTypeRequiredDefaultDescription
subscriptionsJsonstringyesThe In array as JSON. Example: [{"TenantID":"00000000-0000-0000-0000-000000000000","StockCode":"MS-BP-M365","Quantity":"10","SubscriptionType":"CSP"}]

[Dicker Data] Look up a license by its serial number. For Autodesk licenses specifically, dicker_get_autodesk_license takes several serials at once and can include related assets.

ParamTypeRequiredDefaultDescription
serialNumberstringyesThe license serial number.

[Dicker Data] List the actions Dicker Data will accept against a subscription right now. ALWAYS call this before dicker_manage_subscription, whose Action field is free-form: pass only a value this returned. Identify the subscription by tenant id, subscription id, order id, parent subscription, stock code, subscription reference or subscription type.

ParamTypeRequiredDefaultDescription
orderIdstringnonullThe Dicker Data order id.
parentSubscriptionstringnonullThe parent subscription, for an add-on.
stockCodestringnonullThe Dicker Data stock code.
subscriptionIdstringnonullThe subscription id.
subscriptionReferencestringnonullThe subscription reference.
subscriptionTypestringnonullThe subscription type.
tenantIdstringnonullThe Microsoft tenant GUID.

[Dicker Data] Get subscription detail. Identify the subscription by any of six keys: Microsoft tenant id, subscription reference, Dicker Data stock code, subscription id, subscription type or order id. Supply at least one; supplying more narrows the result. For a richer projection use dicker_get_subscription_details_extended, and for what may legally be done to it use dicker_get_subscription_actions.

ParamTypeRequiredDefaultDescription
orderIdstringnonullThe Dicker Data order id the subscription was created under.
stockCodestringnonullThe Dicker Data stock code, from dicker_get_csp_stockcode.
subscriptionIdstringnonullThe subscription id.
subscriptionReferencestringnonullThe subscription reference Dicker Data holds.
subscriptionTypestringnonullThe subscription type, as Dicker Data names it.
tenantIdstringnonullThe Microsoft tenant GUID.

[Dicker Data] Get the extended subscription-detail projection. Takes the same six identifiers as dicker_get_subscription_details and returns Dicker Data's richer view of the same subscription. Dicker Data does not document which extra fields the extended form adds, so compare the two on a real subscription rather than assuming.

ParamTypeRequiredDefaultDescription
orderIdstringnonullThe Dicker Data order id.
stockCodestringnonullThe Dicker Data stock code.
subscriptionIdstringnonullThe subscription id.
subscriptionReferencestringnonullThe subscription reference Dicker Data holds.
subscriptionTypestringnonullThe subscription type.
tenantIdstringnonullThe Microsoft tenant GUID.

[Dicker Data] Get metered consumption for a subscription over a usage period — the Azure-style usage lines behind a consumption bill. All four parameters are required; there is no paging, so the period is what bounds the response. Dicker Data does not document a date format for the period; send ISO-8601 (YYYY-MM-DD).

ParamTypeRequiredDefaultDescription
subscriptionIdstringyesThe subscription id.
tenantIdstringyesThe Microsoft tenant GUID.
usagePeriodEndstringyesEnd of the usage period. ISO-8601 date.
usagePeriodStartstringyesStart of the usage period. ISO-8601 date.

[Dicker Data] Act on a live subscription. THE ACTION FIELD IS FREE-FORM, so this one tool covers suspend, cancel and quantity change — its blast radius is whatever Dicker Data accepts. CALL dicker_get_subscription_actions FIRST and pass only an Action value that returned; anything else is a guess against a customer's live service. The payload is the In array as JSON; each element takes StockCode, Quantity, ParentStockCode, SubscriptionDescription, TenantID, MPNID, Email, UserName, SubscriptionID, Action and SubscriptionType. Every value is a string.

ParamTypeRequiredDefaultDescription
subscriptionsJsonstringyesThe In array as JSON, each element carrying an Action from dicker_get_subscription_actions. Example: [{"SubscriptionID":"abc-123","TenantID":"00000000-0000-0000-0000-000000000000","Action":"Suspend"}]

[Dicker Data] Place a subscription order with full end-customer, ship-to and reseller blocks. THIS SPENDS REAL MONEY and bills a named end customer. The payload is the In block as a JSON object: SubscriptionType, Action, EndCustomer (Account with CSN, Name, AltName, AddressLine1 to 3, City, Postcode, State, CountryCode; ContractManager with FirstName, LastName, Email, CountryCode, Language), ShipTo and Reseller (each Account plus Contact in the same shapes), ResellerPONumber, OpportunityNumber, ContractNumber, ContractStartDate, ContractEndDate, ContractTerm, SwitchFromContractNumber, SwitchToContractNumber, and LineItems (each PartNumber, PartDescription, UnitPrice, Quantity, PartnerSubscriptionId, SubscriptionReferenceNumber and optional PreviousSubscriptions). Quantity is a number here; the other values are strings.

ParamTypeRequiredDefaultDescription
orderInJsonstringyesThe In block as a JSON object. Example: {"SubscriptionType":"Autodesk","Action":"New","ResellerPONumber":"PO-1001","LineItems":[{"PartNumber":"ACD-2026","Quantity":1}]}

Microsoft CSP

ToolPlanAccessSummary
dicker_associate_tenantProDestructiveBind an existing Microsoft tenant to the reseller.
dicker_cancel_microsoft_subscriptionProDestructiveCancel a live Microsoft subscription.
dicker_check_csp_domainFreeRead-onlyCheck whether an onmicrosoft domain prefix is available for a new CSP tenant.
dicker_create_agreement_attestationProDestructiveCreate an attestation for the Microsoft Customer Agreement.
dicker_create_microsoft_subscriptionProDestructiveProvision one or more billable Microsoft subscriptions.
dicker_create_tenantProDestructiveProvision a real Microsoft CSP tenant.
dicker_edit_tenant_detailsProDestructiveRewrite a live CSP tenant's name, contact and address.
dicker_get_csp_available_addonsFreeRead-onlyList the add-on SKUs that can be attached to an existing base subscription.
dicker_get_csp_stockcodeFreeRead-onlyGet the Dicker Data stock code for a CSP subscription type.
dicker_get_customer_entitlementsFreeRead-onlyGet the Microsoft entitlements Dicker Data holds for one CSP tenant.
dicker_get_esd_token_statusFreeRead-onlyCheck the status of an electronic software delivery token.
dicker_get_mcua_acceptance_detailsFreeRead-onlyGet the Microsoft Customer Agreement acceptance record Dicker Data holds for a tenant — who accepted it and when.
dicker_get_mcua_metadataFreeRead-onlyGet the Microsoft Customer Agreement template metadata, including the current template id that the signing and acceptance tools take.
dicker_get_sku_detailFreeRead-onlyGet Microsoft SKU detail for a tenant.
dicker_get_subscription_renewal_detailFreeRead-onlyGet the renewal terms of a Microsoft subscription — what it will renew into and when.
dicker_get_tenantFreeRead-onlyGet the CSP tenant record Dicker Data holds.
dicker_get_tenant_id_by_domainFreeRead-onlyResolve a Microsoft tenant id from a domain name.
dicker_get_transition_eligibilityFreeRead-onlyCheck whether a Microsoft subscription may transition to another SKU or term, and to which.
dicker_manage_subscription_auto_renewProDestructiveTurn auto-renew on or off for a Microsoft subscription, and optionally set a custom term end date.
dicker_print_esd_tokenProDestructiveIssue an electronic software delivery key.
dicker_return_esd_tokenProDestructiveReturn and void an issued electronic software delivery token.
dicker_schedule_subscription_renewalProDestructiveSchedule how a Microsoft subscription renews — billing cycle, term duration, quantity and custom term end date.
dicker_sign_mcuaProDestructiveSign the Microsoft Customer Agreement for a tenant.
dicker_submit_agreement_acceptanceProDestructiveRecord a customer's acceptance of the Microsoft Customer Agreement against an attestation.
dicker_transition_subscriptionProDestructiveMove a Microsoft subscription to another SKU or term.

[Dicker Data] Bind an existing Microsoft tenant to the reseller. THIS GRANTS A DELEGATED-ACCESS RELATIONSHIP over someone else's live Microsoft tenant and needs the customer's agreement before it is run, not after. The payload is the same In block as dicker_create_tenant; supply TenantID and AssociationEmail for an existing tenant.

ParamTypeRequiredDefaultDescription
tenantInJsonstringyesThe In block as a JSON object. Example: {"TenantID":"00000000-0000-0000-0000-000000000000","AssociationEmail":"admin@contoso.com","SubscriptionType":"CSP"}

[Dicker Data] Cancel a live Microsoft subscription. THIS ENDS SERVICE FOR A REAL CUSTOMER and cannot be undone from this API — reinstating means buying it again, and Microsoft's cancellation window may make a refund impossible. Confirm the subscription with dicker_get_subscription_details first and get a person's approval. One of subscriptionId or orderId is required; a call with only the tenant id is refused before it is sent.

ParamTypeRequiredDefaultDescription
orderIdstringnonullThe Dicker Data order id, as an alternative to the subscription id.
subscriptionIdstringnonullThe Microsoft subscription id to cancel.
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Check whether an onmicrosoft domain prefix is available for a new CSP tenant. Despite being a POST this reserves nothing and changes nothing. Run it before dicker_create_tenant, which provisions a real Microsoft tenant and cannot be undone.

ParamTypeRequiredDefaultDescription
domainPrefixstringyesThe domain prefix to test, without the onmicrosoft.com suffix. Example: contosogroup

[Dicker Data] Create an attestation for the Microsoft Customer Agreement. THIS RECORDS A LEGAL ATTESTATION ON A CUSTOMER'S BEHALF, naming the person who agreed. It is the first half of the acceptance flow that dicker_submit_agreement_acceptance completes. The customer agreement data is a JSON object: PrimaryContact (FirstName, LastName, Phone, Fax, Email, Mobile) and CompanyName.

ParamTypeRequiredDefaultDescription
customerAgreementDataJsonstringyesThe CustomerAgreementData block as a JSON object. Example: {"CompanyName":"Contoso Group","PrimaryContact":{"FirstName":"Ada","LastName":"Lovelace","Email":"admin@contoso.com"}}
expirationInMinutesintegernonullHow long the attestation stays valid, in minutes.
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Provision one or more billable Microsoft subscriptions. THIS SPENDS REAL MONEY on a recurring basis. The payload is the In array as JSON; each element takes TenantId, StockCode, Quantity (a number), ParentSubscriptionId, SubscriptionDescription, MPNId, ChargeType, BillingFrequency, Email, UserName and CustomTermEndDate. Get the StockCode from dicker_get_csp_stockcode — a Microsoft SKU id will not work here.

ParamTypeRequiredDefaultDescription
subscriptionsJsonstringyesThe In array as JSON. Example: [{"TenantId":"00000000-0000-0000-0000-000000000000","StockCode":"MS-BP-M365","Quantity":10,"ChargeType":"New","BillingFrequency":"Monthly"}]

[Dicker Data] Provision a real Microsoft CSP tenant. THIS CREATES A LIVE MICROSOFT TENANT under your CSP relationship and cannot be deleted from this API — a wrong domain prefix is permanent. Check the prefix with dicker_check_csp_domain first and have a person approve. The payload is the In block as a JSON object: DomainPrefix, FirstName, LastName, Phone, Email, CompanyName, Address01, Address02, Address03, Suburb, State, Postcode, Country, SubscriptionType, RelatedCSN, TenantID, AssociationEmail and TenantDescription.

ParamTypeRequiredDefaultDescription
tenantInJsonstringyesThe In block as a JSON object. Example: {"DomainPrefix":"contosogroup","CompanyName":"Contoso Group","FirstName":"Ada","LastName":"Lovelace","Email":"admin@contoso.com","Suburb":"Sydney","State":"NSW","Postcode":"2000","Country":"AU"}

[Dicker Data] Rewrite a live CSP tenant's name, contact and address. THIS IS A WHOLESALE REPLACE, NOT A MERGE: Dicker Data's model carries no partial-update signal, so a field you leave blank will most likely CLEAR the stored value. Read the current record with dicker_get_tenant and send it back complete with only the fields you mean to change edited. The payload is the In block as a JSON object: TenantId, TenantName, TenantDescription, FirstName, LastName, Email, Address1, Address2, Address3, Suburb, State, Postcode and Phone.

ParamTypeRequiredDefaultDescription
tenantJsonstringyesThe complete In block as a JSON object. Example: {"TenantId":"00000000-0000-0000-0000-000000000000","TenantName":"Contoso Group","FirstName":"Ada","LastName":"Lovelace","Email":"admin@contoso.com","Address1":"1 Test St","Suburb":"Sydney","State":"NSW","Postcode":"2000","Phone":"0200000000"}

[Dicker Data] List the add-on SKUs that can be attached to an existing base subscription. Identify the base by subscription id, Dicker Data stock code or Microsoft offer id. Use this before dicker_create_subscription so an add-on is bought against a base that actually accepts it.

ParamTypeRequiredDefaultDescription
offerIdstringnonullThe Microsoft offer id.
stockCodestringnonullThe Dicker Data stock code of the base subscription.
subscriptionIdstringnonullThe base subscription id.

[Dicker Data] Get the Dicker Data stock code for a CSP subscription type. This is the join key between a Microsoft SKU and a Dicker Data line item: pricing, ordering and subscription creation all key off the stock code, not off the Microsoft SKU id, so this is usually the first call in a CSP purchasing flow.

ParamTypeRequiredDefaultDescription
accountCodestringnonullThe numeric Dicker Data reseller account code.
subscriptionTypestringnonullThe subscription type, as Dicker Data names it.
tenantIdstringnonullThe Microsoft tenant GUID.

[Dicker Data] Get the Microsoft entitlements Dicker Data holds for one CSP tenant. Resolve the tenant id from a domain first with dicker_get_tenant_id_by_domain if you only have the customer's domain name.

ParamTypeRequiredDefaultDescription
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Check the status of an electronic software delivery token. The token here is the DELIVERY key issued by dicker_print_esd_token — a software key with resale value — and has nothing to do with the API credential. Electronic software delivery is separately entitled per account, so a refusal may simply mean the account is not enrolled.

ParamTypeRequiredDefaultDescription
esdTokenstringyesThe electronic software delivery token to check, from dicker_print_esd_token.

[Dicker Data] Get the Microsoft Customer Agreement acceptance record Dicker Data holds for a tenant — who accepted it and when. Check this before signing anything: if a valid acceptance already exists, dicker_sign_mcua is not needed.

ParamTypeRequiredDefaultDescription
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Get the Microsoft Customer Agreement template metadata, including the current template id that the signing and acceptance tools take. This is the one operation in the connector that needs no parameters at all.

[Dicker Data] Get Microsoft SKU detail for a tenant. Narrow with the Microsoft product id and SKU id when you have them. To buy the SKU through Dicker Data you also need its Dicker Data stock code — get that from dicker_get_csp_stockcode.

ParamTypeRequiredDefaultDescription
productIdstringnonullThe Microsoft product id.
skuIdstringnonullThe Microsoft SKU id.
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Get the renewal terms of a Microsoft subscription — what it will renew into and when. Read this before dicker_schedule_subscription_renewal or dicker_manage_subscription_auto_renew, both of which change future spend.

ParamTypeRequiredDefaultDescription
orderIdstringnonullThe Dicker Data order id the subscription was created under.
subscriptionIdstringnonullThe Microsoft subscription id.
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Get the CSP tenant record Dicker Data holds. Identify it by Microsoft tenant id, by onmicrosoft domain prefix, or by subscription type. Read this before dicker_edit_tenant_details, which replaces the record wholesale.

ParamTypeRequiredDefaultDescription
domainPrefixstringnonullThe onmicrosoft domain prefix.
subscriptionTypestringnonullThe subscription type, as Dicker Data names it.
tenantIdstringnonullThe Microsoft tenant GUID.

[Dicker Data] Resolve a Microsoft tenant id from a domain name. This is the usual entry point when you know a customer by their email domain and need the tenant GUID every other Microsoft tool takes.

ParamTypeRequiredDefaultDescription
domainstringyesThe customer's domain name. Example: contoso.com

[Dicker Data] Check whether a Microsoft subscription may transition to another SKU or term, and to which. Always read this before dicker_transition_subscription, which is irreversible and changes billing.

ParamTypeRequiredDefaultDescription
subscriptionIdstringyesThe Microsoft subscription id.
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Turn auto-renew on or off for a Microsoft subscription, and optionally set a custom term end date. BOTH DIRECTIONS ARE CONSEQUENTIAL: turning it off means the customer's service lapses at term end, and turning it on commits future spend. Check the current state with dicker_get_subscription_renewal_detail first. Dicker Data types the flag as a STRING rather than a boolean.

ParamTypeRequiredDefaultDescription
autoRenewEnabledstringyesThe auto-renew flag, as a string. Dicker Data does not document the accepted vocabulary; true and false are the values its model implies.
customTermEndDatestringnonullAn optional custom term end date. ISO-8601 date.
subscriptionIdstringyesThe Microsoft subscription id.
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Issue an electronic software delivery key. THIS MINTS A SOFTWARE KEY WITH REAL RESALE VALUE and is irreversible: the key is spent whether or not anyone uses it, and returning one is a separate action with its own rules. Have a person approve the SKU and the purchase order before running this.

ParamTypeRequiredDefaultDescription
clientPostringnonullThe client purchase-order reference to record against the issue.
resellerIdstringnonullThe reseller id, where the account uses one.
skustringyesThe SKU to issue a key for.
storeIdstringnonullThe store id, where the account uses one.

[Dicker Data] Return and void an issued electronic software delivery token. THIS REVOKES A KEY: if the customer has already redeemed it, voiding it may break their installed software. Check dicker_get_esd_token_status first and have a person confirm the key is genuinely unused.

ParamTypeRequiredDefaultDescription
clientPostringnonullThe client purchase-order reference recorded against the issue.
esdTokenstringyesThe electronic software delivery token to void.
skustringyesThe SKU the token was issued against.
storeIdstringnonullThe store id, where the account uses one.

[Dicker Data] Schedule how a Microsoft subscription renews — billing cycle, term duration, quantity and custom term end date. THIS COMMITS FUTURE SPEND at the quantity and term given. Read dicker_get_subscription_renewal_detail first so a person can compare what it renews into today against what this would change it to.

ParamTypeRequiredDefaultDescription
billingCycleTypestringnonullThe billing cycle to renew into, as Microsoft names it. Example: Monthly
customTermEndDatestringnonullAn optional custom term end date. ISO-8601 date.
quantityintegernonullThe seat count to renew at.
subscriptionIdstringyesThe Microsoft subscription id.
tenantIdstringyesThe Microsoft tenant GUID.
termDurationstringnonullThe term duration to renew into, as Microsoft names it. Example: P1Y

[Dicker Data] Sign the Microsoft Customer Agreement for a tenant. THIS RECORDS A LEGAL SIGNATURE ON A CUSTOMER'S BEHALF and must never be run without that customer's explicit instruction. Check dicker_get_mcua_acceptance_details first — if an acceptance already exists, this is not needed. The agreement payload is a JSON object: UserId, PrimaryContact (FirstName, LastName, Phone, Fax, Email, Mobile), TemplateId (from dicker_get_mcua_metadata), DateAgreed, Type and AgreementLink.

ParamTypeRequiredDefaultDescription
agreementJsonstringyesThe Agreement block as a JSON object. Example: {"UserId":"admin@contoso.com","TemplateId":"MCA-2026","DateAgreed":"2026-09-01T00:00:00Z","PrimaryContact":{"FirstName":"Ada","LastName":"Lovelace","Email":"admin@contoso.com"}}
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Record a customer's acceptance of the Microsoft Customer Agreement against an attestation. THIS COMMITS A LEGAL ACCEPTANCE ON A CUSTOMER'S BEHALF. Run dicker_create_agreement_attestation first to get the attestation id, and get the template id from dicker_get_mcua_metadata. Never run either without the customer's explicit instruction.

ParamTypeRequiredDefaultDescription
attestationIdstringnonullThe attestation id, from dicker_create_agreement_attestation.
templateIdstringnonullThe agreement template id, from dicker_get_mcua_metadata.
tenantIdstringyesThe Microsoft tenant GUID.

[Dicker Data] Move a Microsoft subscription to another SKU or term. THIS IS IRREVERSIBLE AND CHANGES BILLING — a transition cannot be rolled back, only transitioned again. ALWAYS call dicker_get_transition_eligibility first and pass only a target it named; an ineligible transition can leave a customer between two states.

ParamTypeRequiredDefaultDescription
billingCycleTypestringnonullThe billing cycle of the target. Example: Monthly
catalogItemIdstringnonullThe Microsoft catalog item id of the target offer.
quantityintegernonullThe seat count on the target.
subscriptionIdstringyesThe subscription id to transition.
targetSubscriptionIdstringnonullThe target subscription id, when transitioning into an existing subscription.
tenantIdstringyesThe Microsoft tenant GUID.
termDurationstringnonullThe term duration of the target. Example: P1Y
transitionTypestringnonullThe transition type, from dicker_get_transition_eligibility.

Autodesk & Opportunities

ToolPlanAccessSummary
dicker_assign_autodesk_licenseProDestructiveIssue or assign an Autodesk license.
dicker_create_autodesk_subscription_orderProDestructivePlace an Autodesk subscription order from a raw payload.
dicker_get_autodesk_licenseFreeRead-onlyLook up Autodesk licenses by serial number.
dicker_get_autodesk_term_switch_statusFreeRead-onlyGet the Autodesk term-switch status for a location — whether Autodesk is currently accepting term changes there.
dicker_get_opportunity_detailsFreeRead-onlyGet one opportunity by partner CSN, contract number or opportunity number.
dicker_get_opportunity_extendedFreeRead-onlyGet the extended opportunity projection — Dicker Data's richer view of the same records dicker_get_opportunity_details returns.
dicker_list_opportunitiesFreeRead-onlyList renewal opportunities over a date window.
dicker_transact_opportunityProDestructiveConvert an opportunity into a real transaction.
dicker_update_autodesk_subscriptionProDestructiveChange the term on one or more Autodesk contracts.

[Dicker Data] Issue or assign an Autodesk license. THIS COMMITS A LICENSE to the named account and is not reversible from this API. The payload is a JSON object: Token, SerialNumber (an array), PartnerCSN, AccountId, LoginId and CompanyCode. The Token here is an AUTODESK token you supply — it is unrelated to the Dicker Data API credential, which StackJack attaches on its own.

ParamTypeRequiredDefaultDescription
licenseRequestJsonstringyesThe license request body as a JSON object. Example: {"Token":"<your Autodesk token>","SerialNumber":["123-45678901"],"PartnerCSN":"5100000000","CompanyCode":"AU"}

[Dicker Data] Place an Autodesk subscription order from a raw payload. THIS SPENDS REAL MONEY, and it is the least safe tool in the connector: Dicker Data publishes NO request model for it, accepts the body as an opaque payload, and answers with no content at all — so nothing in the response confirms what was ordered. Send exactly what Dicker Data's integration guide specifies for your account, have a person approve it, and check the result afterwards with dicker_get_order_details. Prefer dicker_place_subscription_order, whose contract is documented, wherever it can do the job.

ParamTypeRequiredDefaultDescription
rawPayloadstringyesThe raw order payload, sent verbatim. Dicker Data documents no schema for it; supply exactly what its integration guide specifies for your account.

[Dicker Data] Look up Autodesk licenses by serial number. Several serials can be sent at once as a comma-separated list, and related assets can be included. For a non-Autodesk license, dicker_get_license takes a single serial instead.

ParamTypeRequiredDefaultDescription
includeRelatedAssetsstringnonullSet to include assets related to the licenses. Dicker Data types this as a string rather than a boolean.
plcstringnonullThe Autodesk product line code.
releasestringnonullThe Autodesk product release.
serialNumbersstringyesComma-separated Autodesk serial numbers.

[Dicker Data] Get the Autodesk term-switch status for a location — whether Autodesk is currently accepting term changes there. Read it before dicker_update_autodesk_subscription, which changes a contract term and spends money.

ParamTypeRequiredDefaultDescription
locationstringnonullThe Autodesk location, as Dicker Data names it.

[Dicker Data] Get one opportunity by partner CSN, contract number or opportunity number. Supply at least one. Read this before dicker_transact_opportunity, which converts the opportunity into a real transaction and spends money.

ParamTypeRequiredDefaultDescription
contractNumberstringnonullThe contract number.
opportunityNumberstringnonullThe opportunity number.
partnerCsnstringnonullThe partner CSN (Autodesk Customer Service Number).

[Dicker Data] Get the extended opportunity projection — Dicker Data's richer view of the same records dicker_get_opportunity_details returns. Filter by partner CSN, contract number, opportunity number or a date window. Dicker Data does not document which extra fields the extended form adds, so compare the two against a real opportunity rather than assuming.

ParamTypeRequiredDefaultDescription
contractNumberstringnonullThe contract number.
fromDatestringnonullStart of an optional date window. ISO-8601 date.
opportunityNumberstringnonullThe opportunity number.
partnerCsnstringnonullThe partner CSN (Autodesk Customer Service Number).
toDatestringnonullEnd of an optional date window. ISO-8601 date.

[Dicker Data] List renewal opportunities over a date window. Both ends are required: this API has no paging, so the window is what bounds the response. Dicker Data does not document a date format; send ISO-8601 (YYYY-MM-DD). Narrow further by partner CSN, the Autodesk Customer Service Number. For one opportunity in full, use dicker_get_opportunity_details.

ParamTypeRequiredDefaultDescription
fromDatestringyesStart of the window. ISO-8601 date.
partnerCsnstringnonullThe partner CSN (Autodesk Customer Service Number) to filter by.
toDatestringyesEnd of the window. ISO-8601 date.

[Dicker Data] Convert an opportunity into a real transaction. THIS SPENDS REAL MONEY against the end customer named in the payload. Read dicker_get_opportunity_details first and have a person approve the line items and prices. The payload is the In block as a JSON object: PartnerPONumber, PartnerPODate, ContractNumber, OpportunityNumber, EndCustomer (Account with CSN, CompanyName, AddressLine1, AddressLine2, City, State, PostCode, CountryCode; ContractManager with FirstName, LastName, Email, Phone, CountryCode), ShipTo, Reseller (CSN and Email), and LineItems (each RenewalSKU, SKUDescription, SerialNumber, Quantity and UnitPrice). Quantities and prices are strings.

ParamTypeRequiredDefaultDescription
transactionInJsonstringyesThe In block as a JSON object. Example: {"PartnerPONumber":"PO-1001","OpportunityNumber":"OPP-5001","Reseller":{"CSN":"5100000000"},"LineItems":[{"RenewalSKU":"ACD-2026","Quantity":"1","UnitPrice":"1990.00"}]}

[Dicker Data] Change the term on one or more Autodesk contracts. THIS SPENDS MONEY and alters a live contract. Check dicker_get_autodesk_term_switch_status first — Autodesk does not always accept term changes. The payload is the Subscriptions array as JSON; each element takes SubscriptionReferenceNumber and a Contract object carrying Term.

ParamTypeRequiredDefaultDescription
subscriptionsJsonstringyesThe Subscriptions array as JSON. Example: [{"SubscriptionReferenceNumber":"SUB-100200","Contract":{"Term":"Annual"}}]