> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

---
id: 25cfd2ad-2b57-42bd-9e05-847a698157a9
---

# Contracts API

> Retrieve contract data from your HubSpot account

export const SupportedProducts = ({marketing, sales, service, cms, data, commerce, marketingLevel, salesLevel, serviceLevel, cmsLevel, dataLevel, commerceLevel}) => {
  const translations = {
    description: "Requires one of the following products or higher.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub",
      data: "Data Hub",
      commerce: "Revenue Hub"
    },
    tiers: {
      free: "Free",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/marketing-bolt.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/sales-star.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/service-heart.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/content-play.svg",
    alt: "Content Hub"
  }, {
    name: data ? translations.productNames.data : '',
    level: translateTier(dataLevel),
    icon: "https://developers.hubspot.com/hubfs/Knowledge_Base_2023-24-25/subscription_key_icons/operations_icon.svg",
    alt: "Data Hub"
  }, {
    name: commerce ? translations.productNames.commerce : '',
    level: translateTier(commerceLevel),
    icon: "https://developers.hubspot.com/hubfs/Knowledge_Base/subscription_key_icons/commerce_icon.svg",
    alt: "Revenue Hub"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

export const ScopesList = ({scopes = [], description = "This API requires one of the following scopes:"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

<AccordionGroup>
  <Accordion title="Supported products" defaultOpen="true" icon="cubes">
    <SupportedProducts commerce={true} commerceLevel="Professional" />
  </Accordion>

  <Accordion title="Scope requirements">
    <ScopesList
      scopes={[
'crm.objects.contracts.read'
]}
    />
  </Accordion>
</AccordionGroup>

Contracts represent the committed revenue agreements between buyers and sellers, detailing products, billing, and payment terms. The contracts API allows you to retrieve contract data from your HubSpot account. For more information on using contracts in HubSpot, see [create and manage contracts](https://knowledge.hubspot.com/contracts/create-contracts).

## Retrieve contracts

You can retrieve all contracts or individual contracts by ID as needed.

* To retrieve all contracts, make a `GET` request to `/crm/objects/2026-03/contracts`
* To retrieve a specific contract, make a `GET` request to `/crm/objects/2026-03/contracts/{contractId}`

The response will include a few default properties, including the create date and last modified date. To return additional properties, specify the properties by name using the `?properties=` query parameter.

For example, to fetch contracts and their corresponding ID, name, and effective start date, make a `GET` request to `/crm/objects/2026-03/contracts?properties=hs_name,hs_contract_effective_date`

```json theme={null}
{
  "results": [
    {
      "id": "398334119041",
      "properties": {
        "hs_contract_effective_date": "2025-11-17",
        "hs_createdate": "2025-11-17T11:32:10.699Z",
        "hs_lastmodifieddate": "2025-11-17T11:32:12.651Z",
        "hs_name": "HubBean | Machine servicing | 2025",
        "hs_object_id": "398334119041"
      },
      "createdAt": "2025-11-17T11:32:10.699Z",
      "updatedAt": "2025-11-17T11:32:12.651Z",
      "archived": false,
      "url": "https://app.hubspot.com/contacts/123456/record/0-721/398334119041"
    },
    {
      "id": "399027563070",
      "properties": {
        "hs_contract_effective_date": "2025-11-27",
        "hs_createdate": "2025-11-27T11:26:47.649Z",
        "hs_lastmodifieddate": "2025-11-27T11:26:49.449Z",
        "hs_name": "HubBean coffee | Machine servicing | 2025",
        "hs_object_id": "399027563070"
      },
      "createdAt": "2025-11-27T11:26:47.649Z",
      "updatedAt": "2025-11-27T11:26:49.449Z",
      "archived": false,
      "url": "https://app.hubspot.com/contacts/123456/record/contracts/399027563070"
    }
  ]
}
```
