Contract Summary
The idea is to offer Distributors an API endpoint for the purpose of creating the contract related to the order being submitted. Successful results must be obtained from Credit checks to generate any related contract.
The contract creation phase is a critical step in formalizing agreements between the Solution Provider (SP) and the end customer. During this phase, essential details—such as customer details, end customer contact details, effective date, and contract term—are incorporated into the contract. Prerequisites, including the successful eSign completion of credit check approval, must be met before initiating contract creation. Once the quote is generated, which involves multiple configurations and associated sites tied to a specific quote ID, the focus shifts to finalizing the contract. Creating the contract at this stage ensures that the terms remain consistent with the agreed-upon quote. Once the contract is signed which is processed via eSign, it becomes legally binding, and subsequent changes to the quote are restricted, ensuring stability and clarity throughout the contractual relationship.
Ordering APIs Flow

Security
This RESTful service uses a client id enforcement policy as the authentication mechanism. Please work with the Client On-Boarding Team if you do not have the necessary credentials.
Endpoints and Headers
GET API
Environment | Base URI |
UAT | https://uat-att-contract-eapi.nprd-gw.cloud.att.com/api/v1/contract?quoteId= |
Production | https://att-contract-eapi.gw.cloud.att.com/api/v1/contract?quoteId= |
POST API
Environment | Base URI |
UAT | https://uat-att-contract-eapi.nprd-gw.cloud.att.com/api/v1/contract/aiab |
Production | https://att-contract-eapi.gw.cloud.att.com/api/v1/contract/aiab |
If you are a Connector—meaning you develop on behalf of multiple Solution Provider accounts to retrieve information for them, you will use the same URL, and ensure that you pass the unique client header per Solution Provider.
API Headers
The following are the fields in the request headers of Contract API.
Field Name | Field Description | Mandatory/Optional |
content-type | Application/json | M |
accept | Specifies the format of the response message body. Structured text message payloads are required to support application/json. No other format is permitted. As they are the only supported format, the accept header is not relevant for those requests. | O |
x-trace-id | This field is used for passing a trace ID between API hops for end-to-end traceability. | M |
x-transaction-id | This field is used for passing a traceable Id to uniquely identify the transactions. | O |
client_id | This field represents the client id. | M |
client_secret | This field represents the client secret. | M |
source | This field should identify the calling system/application. | O |
Scenario 1: retrieve the submitted order.
GET Request:
{baseURI}/api/v1/contract?quoteId=0Q0KQ000000CvE40AK
Response:
{
"status": "Draft",
"validity": "2024-09-07"
}
Scenario 2: create a new contract for submitted order.
POST
{baseURI}/api/v1/contract/aiab
Request:
{
"quoteId": "0Q0dx000002JrIoCAK",
"contractType": "Quote-Based",
"contractDetails": {
"solutionProviderContactInfoBlock": {
"additionalSpEmail1": "revathy.rajan@accenture.com",
"additionalSpEmail2": "nerlakanti.swathi@accenture.com",
"additionalSpEmail3": "durga.chadalawada@gmail.com",
"spFirstName": "Demo",
"spLastName": "Agent",
"spStreet": "2008 S AKWARD ST,SUITE 3700",
"spCity": "DALLAS",
"spId": "10006",
"spState": "TX",
"spZipCode": "75301-1232",
"spCountry": "US",
"spTelephone": "1234567800",
"spEmail": "vp3792@att.com"
},
"contactObj": {
"additionalContactEmail1": "sn057w@att.com",
"additionalContactEmail2": "shamlashama1995@gmail.com",
"additionalContactEmail3": "b.dhamodharaswamy@accenture.com",
"contactTitle": "Testing",
"contactPhone": "4657311232",
"contactMailingStreet": "3430 Tully road tst3",
"contactMailingState": "CA",
"contactMailingPostalCode": "94564-2342",
"contactMailingCountry": "US",
"contactMailingCity": "Modesto",
"contactLastName": "newcontact",
"contactFirstName": "TestFebpredemo",
"contactName": "Test",
"contactEmail": "addagadda.tejasri@accenture.com"
}
}
}
Response:
{
"code": 200,
"message": "SentToeSign",
"description": "Document has been sent to eSign successfully",
"esignRequestId": 526809,
"transactionId": "bbc53a13-7b1b-4b6f-9f2e-eaf52013ef6f",
"traceId": "October17"
}