---
title: "Get metadata for a specific capacity provider."
method: GET
path: "/api/v4/capacityproviders/metadata"
tags: ["Capacity Provider Metadata"]
---

# Get metadata for a specific capacity provider.

`GET /api/v4/capacityproviders/metadata`

## Request

- Base URL: `https://na12.api.project44.com`
- URL: `https://na12.api.project44.com/api/v4/capacityproviders/metadata`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/api/v4/oauth2/token`
- TypeScript: <https://skmtc.dev/project44/apis/project44-rest-api/docs/api/v4/capacityproviders/metadata/get.ts> (a function with typed inputs; its response is checked against the schema)

Provides metadata about capacity providers for which capacity provider accounts can be created within project44. This API works alongside the capacity provider account management APIs, providing the services supported by each capacity provider and the fields needed to create an account with one, along with what that capacity provider calls these fields in their system to make finding the necessary account information easy. 

Note that in some cases, like with truckload tracking, a capacity provider account is not needed to connect to a capacity provider -- e.g., if project44 has an ELD connection set up with that capacity provider directly. In these cases, that capacity provider will not currently be returned by this API. This API is solely for capacity providers requiring account information.  

<br/><h4><b>Required Fields</h4></b>
<ul><li> capacityProviderIdentifier.type </li><li> capacityProviderIdentifier.value </li></ul>

## Query parameters

- `capacityProviderIdentifier.type` 'SCAC' | 'DOT_NUMBER' | 'MC_NUMBER' | 'P44_EU' | 'SYSTEM' | 'P44_GLOBAL' | 'VAT'
- `capacityProviderIdentifier.value` string

## Response `200`

OK

- CapacityProviderMetadata
  - `accountDefinitions` CapacityProviderAccountInfoDefinition[]: A list of capacity provider account definitions for this capacity provider. Each of these corresponds to a CapacityProviderAccountInfo that could be passed as part of a CapacityProviderAccountInfos when creating a capacity provider account for this capacity provider via the capacity provider account management APIs.
    - `accountDefinitionIdentifier` string: The project44 account definition identifier for this capacity provider account definition, to be passed in the CapacityProviderAccountInfo to identify this account.
    - `accountFieldDefinitions` CapacityProviderAccountFieldDefinition[]: A list of account fields and their definitions, indicating which fields on CapacityProviderAccountInfo are required, conditionally required, and optional, and what the capacity provider itself calls these fields to make locating the information within the capacity provider's system easy. Only those fields that may be passed in CapacityProviderAccountInfo for this specific account definition and capacity provider are listed here.
      - `code` string: The project44 code for this field. This is the name of the field within CapacityProviderAccountInfo -- e.g., 'credential1' or 'accountFlag1'.
      - `constraint` 'REQUIRED' | 'CONDITIONALLY_REQUIRED' | 'OPTIONAL': The constraints on this field -- whether it is required, conditionally required, or optional. If a field is not applicable to an account definition, it won't show up at all in the list.
      - `name` string: The display name of this field. For capacity-provider-specific fields like 'credential1', this name will be what the capacity provider calls this field -- e.g., 'Authentication Key' or 'Login Name'.
    - `name` string: The project44 name for this account for reference or display purposes.
    - `supportedServices` CapacityProviderService[]: A list of supported services by transportation mode supported by this capacity provider via this specific account type. Capacity providers that have multiple account definitions often use each for a distinct subset of their supported services -- e.g., one account definition may be for volume LTL rating, another may be for LTL imaging, and a third may be for their remaining supported services.
      - `mode` 'PARCEL' | 'LTL' | 'VOLUME_LTL' | 'TRUCKLOAD' | 'OCEAN' | 'RAIL': The transportation mode of this service provided by a capacity provider.
      - `type` 'RATING' | 'DISPATCH' | 'TRACKING' | 'IMAGING': The type of this service provided by a capacity provider.
  - `capacityProvider` CapacityProvider
    - `capacityProviderIdentifiers` CapacityProviderIdentifier[]: A list of capacity provider identifiers that can be used to reference this capacity provider.
      - `type` 'SCAC' | 'DOT_NUMBER' | 'MC_NUMBER' | 'P44_EU' | 'SYSTEM' | 'P44_GLOBAL' | 'VAT': Capacity provider identifier type.
      - `value` string: Capacity provider identifier value.
    - `name` string: The name of this capacity provider.
    - `supportedServices` CapacityProviderService[]: A list of services by transportation mode supported by this capacity provider within project44.
      - `mode` 'PARCEL' | 'LTL' | 'VOLUME_LTL' | 'TRUCKLOAD' | 'OCEAN' | 'RAIL': The transportation mode of this service provided by a capacity provider.
      - `type` 'RATING' | 'DISPATCH' | 'TRACKING' | 'IMAGING': The type of this service provided by a capacity provider.
    - `type` 'CARRIER' | 'BROKER': The type of this capacity provider, either carrier or 3PL/broker.

## Other responses

- `400`: Invalid request
- `401`: Invalid or missing credentials
- `403`: User not authorized to perform this operation

---

[API](https://skmtc.dev/project44/apis/project44-rest-api.md) - [All operations](https://skmtc.dev/project44/apis/project44-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/project44/apis/project44-rest-api/revisions/cdf9675e2294?raw)
