Unfortunately, this feature is not supported on mobile devices. For the best experience, please use a computer.

project44 REST API (4.0.0)

Version 4.0.0 of project44's API

Download OpenAPI description
Languages
Servers
Mock server
https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/
NA - Endpoint for project44 tenants created in the NA region
https://na12.api.project44.com/
EU - Endpoint for project44 tenants created in the EU region
https://eu12.api.project44.com/
Sandbox - Endpoint for project44 tenants created in the sandbox environment
https://na12.api.sandbox.p-44.com/

Manage Client Applications

Operations

Generate Tokens

Operations

Unified Shipment Tracking

Operations

FTL Modal Tracking

Operations

Shipment Attributes

Operations

TL: Connected Capacity

Operations

Stop Location Management

Operations

List all stop locations used by your organization.

Request

Paginated with default page size of 10. The offset and pageSize query parameters modify this behavior, allowing you to retrieve all of your locations one page at a time.

Query
offsetinteger(int64)

The offset of the first requested location within the total list of locations.

Default 0
pageSizeinteger(int64)

The maximum number of locations to return.

Default 10
curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/stoplocations?offset=0&pageSize=10' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
locationsArray of objects(StopLocation)required

Locations listed.

locations[].​addressobject(Address)required

A postal address.

locations[].​address.​postalCodestringrequired

The ZIP or postal code.

locations[].​address.​addressLinesArray of stringsrequired

Street name, number, direction, PO box, etc. Only three address lines are currently permitted.

locations[].​address.​citystringrequired

Name of city, town, etc.

locations[].​address.​statestringrequired

Abbreviation of state, province, district, etc.

locations[].​address.​countrystring(enum)(CountryCode)required

Abbreviation of country (using ISO 3166 standards). (default: 'US')

Enum"US""CA""MX""AG""BB""BS""BZ""CR""CU""DM""DO""GD""GT""HN""HT"
locations[].​addressSpecificitystring

The specificity of this address. Return only. This represents how sepcifically we were able to geocode the address, i.e., the most specific known entity we were able to match with it.

Enum"COUNTRY""STATE""COUNTY""CITY""DISTRICT""POSTAL_CODE""STREET""INTERSECTION""LANDMARK""HOUSE_NUMBER"
locations[].​contactsArray of objects(ContactReference)

A list of contact information for people associated with this location.

locations[].​coordinatesobject(GeoCoordinates)
locations[].​geofenceobject(Geofence)
locations[].​idstring(uuid)

Stop location id. Should be null. Will be provided on return.

locations[].​namestringrequired

Name of the location. Nonblank value required.

locations[].​openingHoursArray of objects(OpeningHours)

Optional list of opening and closing hours of the stop location.

locations[].​specialOpeningHoursArray of objects(SpecialOpeningHours)

Optional list of special (i.e., holiday) opening and closing hours of the stop location.

locations[].​suppliedIdstring

Customer-supplied identifier for this location.

locations[].​versioninteger(int64)

Version number of this location. Every time the location is edited this number is incremented.

offsetinteger(int32)

Offset of the start of this list within the list of all matching locations.

pageSizeinteger(int32)

Locations requested per page.

totalItemsinteger(int32)

Total locations available.

Response
{ "locations": [ {} ], "offset": 0, "pageSize": 0, "totalItems": 0 }

Submit a new shipment location.

Request

Required Fields

To create a valid stop location, you must supply a name plus one of
  • A valid STREET ADDRESS. This is an address that includes all of:
    • addressLines
    • city
    • state and/or postalCode
    • country
  • A pair of valid COORDINATES along with an address that includes COUNTRY
    Bodyrequired

    location

    addressobject(Address)required

    A postal address.

    address.​postalCodestringrequired

    The ZIP or postal code.

    address.​addressLinesArray of stringsrequired

    Street name, number, direction, PO box, etc. Only three address lines are currently permitted.

    address.​citystringrequired

    Name of city, town, etc.

    address.​statestringrequired

    Abbreviation of state, province, district, etc.

    address.​countrystring(enum)(CountryCode)required

    Abbreviation of country (using ISO 3166 standards). (default: 'US')

    Enum"US""CA""MX""AG""BB""BS""BZ""CR""CU""DM""DO""GD""GT""HN""HT"
    addressSpecificitystring

    The specificity of this address. Return only. This represents how sepcifically we were able to geocode the address, i.e., the most specific known entity we were able to match with it.

    Enum"COUNTRY""STATE""COUNTY""CITY""DISTRICT""POSTAL_CODE""STREET""INTERSECTION""LANDMARK""HOUSE_NUMBER"
    contactsArray of objects(ContactReference)

    A list of contact information for people associated with this location.

    coordinatesobject(GeoCoordinates)
    geofenceobject(Geofence)
    idstring(uuid)

    Stop location id. Should be null. Will be provided on return.

    namestringrequired

    Name of the location. Nonblank value required.

    openingHoursArray of objects(OpeningHours)

    Optional list of opening and closing hours of the stop location.

    specialOpeningHoursArray of objects(SpecialOpeningHours)

    Optional list of special (i.e., holiday) opening and closing hours of the stop location.

    suppliedIdstring

    Customer-supplied identifier for this location.

    versioninteger(int64)

    Version number of this location. Every time the location is edited this number is incremented.

    curl -i -X POST \
      https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/stoplocations \
      -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
      -H 'Content-Type: application/json' \
      -d '{
        "address": {
          "postalCode": "string",
          "addressLines": [
            "str"
          ],
          "city": "string",
          "state": "string",
          "country": "US"
        },
        "addressSpecificity": "COUNTRY",
        "contacts": [
          {
            "contactId": "string",
            "type": "string"
          }
        ],
        "coordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "geofence": {
          "geometry": {
            "bbox": [
              0.1
            ],
            "crs": {
              "properties": {},
              "type": "name"
            },
            "type": "string"
          },
          "type": "TIME",
          "units": "MINUTES",
          "value": 0.1
        },
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "openingHours": [
          {
            "appliesFriday": true,
            "appliesMonday": true,
            "appliesSaturday": true,
            "appliesSunday": true,
            "appliesThursday": true,
            "appliesTuesday": true,
            "appliesWednesday": true,
            "closes": "string",
            "opens": "string"
          }
        ],
        "specialOpeningHours": [
          {
            "hours": {
              "appliesFriday": true,
              "appliesMonday": true,
              "appliesSaturday": true,
              "appliesSunday": true,
              "appliesThursday": true,
              "appliesTuesday": true,
              "appliesWednesday": true,
              "closes": "string",
              "opens": "string"
            },
            "validFrom": "2019-08-24",
            "validThrough": "2019-08-24"
          }
        ],
        "suppliedId": "string",
        "version": 0
      }'

    Responses

    OK

    Body
    addressobject(Address)required

    A postal address.

    address.​postalCodestringrequired

    The ZIP or postal code.

    address.​addressLinesArray of stringsrequired

    Street name, number, direction, PO box, etc. Only three address lines are currently permitted.

    address.​citystringrequired

    Name of city, town, etc.

    address.​statestringrequired

    Abbreviation of state, province, district, etc.

    address.​countrystring(enum)(CountryCode)required

    Abbreviation of country (using ISO 3166 standards). (default: 'US')

    Enum"US""CA""MX""AG""BB""BS""BZ""CR""CU""DM""DO""GD""GT""HN""HT"
    addressSpecificitystring

    The specificity of this address. Return only. This represents how sepcifically we were able to geocode the address, i.e., the most specific known entity we were able to match with it.

    Enum"COUNTRY""STATE""COUNTY""CITY""DISTRICT""POSTAL_CODE""STREET""INTERSECTION""LANDMARK""HOUSE_NUMBER"
    contactsArray of objects(ContactReference)

    A list of contact information for people associated with this location.

    coordinatesobject(GeoCoordinates)
    geofenceobject(Geofence)
    idstring(uuid)

    Stop location id. Should be null. Will be provided on return.

    namestringrequired

    Name of the location. Nonblank value required.

    openingHoursArray of objects(OpeningHours)

    Optional list of opening and closing hours of the stop location.

    specialOpeningHoursArray of objects(SpecialOpeningHours)

    Optional list of special (i.e., holiday) opening and closing hours of the stop location.

    suppliedIdstring

    Customer-supplied identifier for this location.

    versioninteger(int64)

    Version number of this location. Every time the location is edited this number is incremented.

    Response
    { "address": { "postalCode": "string", "addressLines": [], "city": "string", "state": "string", "country": "US" }, "addressSpecificity": "COUNTRY", "contacts": [ {} ], "coordinates": { "latitude": -90, "longitude": -180 }, "geofence": { "geometry": {}, "type": "TIME", "units": "MINUTES", "value": 0.1 }, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "openingHours": [ {} ], "specialOpeningHours": [ {} ], "suppliedId": "string", "version": 0 }

    Retrieve latest version of a shipment location by id.

    Request

    This retrieves only the most recently saved version of the location.

    Path
    idstring(uuid)required

    Id of the stop location to retrieve (required)

    curl -i -X GET \
      'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/stoplocations/{id}' \
      -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

    Responses

    OK

    Body
    addressobject(Address)required

    A postal address.

    address.​postalCodestringrequired

    The ZIP or postal code.

    address.​addressLinesArray of stringsrequired

    Street name, number, direction, PO box, etc. Only three address lines are currently permitted.

    address.​citystringrequired

    Name of city, town, etc.

    address.​statestringrequired

    Abbreviation of state, province, district, etc.

    address.​countrystring(enum)(CountryCode)required

    Abbreviation of country (using ISO 3166 standards). (default: 'US')

    Enum"US""CA""MX""AG""BB""BS""BZ""CR""CU""DM""DO""GD""GT""HN""HT"
    addressSpecificitystring

    The specificity of this address. Return only. This represents how sepcifically we were able to geocode the address, i.e., the most specific known entity we were able to match with it.

    Enum"COUNTRY""STATE""COUNTY""CITY""DISTRICT""POSTAL_CODE""STREET""INTERSECTION""LANDMARK""HOUSE_NUMBER"
    contactsArray of objects(ContactReference)

    A list of contact information for people associated with this location.

    coordinatesobject(GeoCoordinates)
    geofenceobject(Geofence)
    idstring(uuid)

    Stop location id. Should be null. Will be provided on return.

    namestringrequired

    Name of the location. Nonblank value required.

    openingHoursArray of objects(OpeningHours)

    Optional list of opening and closing hours of the stop location.

    specialOpeningHoursArray of objects(SpecialOpeningHours)

    Optional list of special (i.e., holiday) opening and closing hours of the stop location.

    suppliedIdstring

    Customer-supplied identifier for this location.

    versioninteger(int64)

    Version number of this location. Every time the location is edited this number is incremented.

    Response
    { "address": { "postalCode": "string", "addressLines": [], "city": "string", "state": "string", "country": "US" }, "addressSpecificity": "COUNTRY", "contacts": [ {} ], "coordinates": { "latitude": -90, "longitude": -180 }, "geofence": { "geometry": {}, "type": "TIME", "units": "MINUTES", "value": 0.1 }, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "openingHours": [ {} ], "specialOpeningHours": [ {} ], "suppliedId": "string", "version": 0 }

    Update an existing shipment location of a specified id.

    Request

    Saves the location and increments its version number.

    Path
    idstring(uuid)required

    Id of the stop location to retrieve (required)

    Bodyrequired

    location

    addressobject(Address)required

    A postal address.

    address.​postalCodestringrequired

    The ZIP or postal code.

    address.​addressLinesArray of stringsrequired

    Street name, number, direction, PO box, etc. Only three address lines are currently permitted.

    address.​citystringrequired

    Name of city, town, etc.

    address.​statestringrequired

    Abbreviation of state, province, district, etc.

    address.​countrystring(enum)(CountryCode)required

    Abbreviation of country (using ISO 3166 standards). (default: 'US')

    Enum"US""CA""MX""AG""BB""BS""BZ""CR""CU""DM""DO""GD""GT""HN""HT"
    addressSpecificitystring

    The specificity of this address. Return only. This represents how sepcifically we were able to geocode the address, i.e., the most specific known entity we were able to match with it.

    Enum"COUNTRY""STATE""COUNTY""CITY""DISTRICT""POSTAL_CODE""STREET""INTERSECTION""LANDMARK""HOUSE_NUMBER"
    contactsArray of objects(ContactReference)

    A list of contact information for people associated with this location.

    coordinatesobject(GeoCoordinates)
    geofenceobject(Geofence)
    idstring(uuid)

    Stop location id. Should be null. Will be provided on return.

    namestringrequired

    Name of the location. Nonblank value required.

    openingHoursArray of objects(OpeningHours)

    Optional list of opening and closing hours of the stop location.

    specialOpeningHoursArray of objects(SpecialOpeningHours)

    Optional list of special (i.e., holiday) opening and closing hours of the stop location.

    suppliedIdstring

    Customer-supplied identifier for this location.

    versioninteger(int64)

    Version number of this location. Every time the location is edited this number is incremented.

    curl -i -X PUT \
      'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/stoplocations/{id}' \
      -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
      -H 'Content-Type: application/json' \
      -d '{
        "address": {
          "postalCode": "string",
          "addressLines": [
            "str"
          ],
          "city": "string",
          "state": "string",
          "country": "US"
        },
        "addressSpecificity": "COUNTRY",
        "contacts": [
          {
            "contactId": "string",
            "type": "string"
          }
        ],
        "coordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "geofence": {
          "geometry": {
            "bbox": [
              0.1
            ],
            "crs": {
              "properties": {},
              "type": "name"
            },
            "type": "string"
          },
          "type": "TIME",
          "units": "MINUTES",
          "value": 0.1
        },
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "openingHours": [
          {
            "appliesFriday": true,
            "appliesMonday": true,
            "appliesSaturday": true,
            "appliesSunday": true,
            "appliesThursday": true,
            "appliesTuesday": true,
            "appliesWednesday": true,
            "closes": "string",
            "opens": "string"
          }
        ],
        "specialOpeningHours": [
          {
            "hours": {
              "appliesFriday": true,
              "appliesMonday": true,
              "appliesSaturday": true,
              "appliesSunday": true,
              "appliesThursday": true,
              "appliesTuesday": true,
              "appliesWednesday": true,
              "closes": "string",
              "opens": "string"
            },
            "validFrom": "2019-08-24",
            "validThrough": "2019-08-24"
          }
        ],
        "suppliedId": "string",
        "version": 0
      }'

    Responses

    No Content

    Body
    Response
    { "httpStatusCode": 0, "httpMessage": "string", "errorMessage": "string", "errors": [ {} ], "supportReferenceId": "string" }

    Retrieve all versions of a shipment location by id.

    Request

    This retrieves all of the versions of the location that have ever been saved. The versions can be distinguished by their version number. The version number starts at zero when the location is created and is incremented by one every time the location is saved.

    Path
    idstring(uuid)required

    Id of the stop location to retrieve (required)

    curl -i -X GET \
      'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/stoplocations/{id}/versions' \
      -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

    Responses

    OK

    Body
    locationsArray of objects(StopLocation)required

    Locations listed.

    locations[].​addressobject(Address)required

    A postal address.

    locations[].​address.​postalCodestringrequired

    The ZIP or postal code.

    locations[].​address.​addressLinesArray of stringsrequired

    Street name, number, direction, PO box, etc. Only three address lines are currently permitted.

    locations[].​address.​citystringrequired

    Name of city, town, etc.

    locations[].​address.​statestringrequired

    Abbreviation of state, province, district, etc.

    locations[].​address.​countrystring(enum)(CountryCode)required

    Abbreviation of country (using ISO 3166 standards). (default: 'US')

    Enum"US""CA""MX""AG""BB""BS""BZ""CR""CU""DM""DO""GD""GT""HN""HT"
    locations[].​addressSpecificitystring

    The specificity of this address. Return only. This represents how sepcifically we were able to geocode the address, i.e., the most specific known entity we were able to match with it.

    Enum"COUNTRY""STATE""COUNTY""CITY""DISTRICT""POSTAL_CODE""STREET""INTERSECTION""LANDMARK""HOUSE_NUMBER"
    locations[].​contactsArray of objects(ContactReference)

    A list of contact information for people associated with this location.

    locations[].​coordinatesobject(GeoCoordinates)
    locations[].​geofenceobject(Geofence)
    locations[].​idstring(uuid)

    Stop location id. Should be null. Will be provided on return.

    locations[].​namestringrequired

    Name of the location. Nonblank value required.

    locations[].​openingHoursArray of objects(OpeningHours)

    Optional list of opening and closing hours of the stop location.

    locations[].​specialOpeningHoursArray of objects(SpecialOpeningHours)

    Optional list of special (i.e., holiday) opening and closing hours of the stop location.

    locations[].​suppliedIdstring

    Customer-supplied identifier for this location.

    locations[].​versioninteger(int64)

    Version number of this location. Every time the location is edited this number is incremented.

    offsetinteger(int32)

    Offset of the start of this list within the list of all matching locations.

    pageSizeinteger(int32)

    Locations requested per page.

    totalItemsinteger(int32)

    Total locations available.

    Response
    { "locations": [ {} ], "offset": 0, "pageSize": 0, "totalItems": 0 }

    Retrieve a specific version of a shipment location by id and version number.

    Request

    This retrieves only the specified version of the location.

    Path
    idstring(uuid)required

    Id of the stop location to retrieve (required)

    versioninteger(int64)required

    Version of the stop location to retrieve (required)

    curl -i -X GET \
      'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/stoplocations/{id}/versions/{version}' \
      -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

    Responses

    OK

    Body
    addressobject(Address)required

    A postal address.

    address.​postalCodestringrequired

    The ZIP or postal code.

    address.​addressLinesArray of stringsrequired

    Street name, number, direction, PO box, etc. Only three address lines are currently permitted.

    address.​citystringrequired

    Name of city, town, etc.

    address.​statestringrequired

    Abbreviation of state, province, district, etc.

    address.​countrystring(enum)(CountryCode)required

    Abbreviation of country (using ISO 3166 standards). (default: 'US')

    Enum"US""CA""MX""AG""BB""BS""BZ""CR""CU""DM""DO""GD""GT""HN""HT"
    addressSpecificitystring

    The specificity of this address. Return only. This represents how sepcifically we were able to geocode the address, i.e., the most specific known entity we were able to match with it.

    Enum"COUNTRY""STATE""COUNTY""CITY""DISTRICT""POSTAL_CODE""STREET""INTERSECTION""LANDMARK""HOUSE_NUMBER"
    contactsArray of objects(ContactReference)

    A list of contact information for people associated with this location.

    coordinatesobject(GeoCoordinates)
    geofenceobject(Geofence)
    idstring(uuid)

    Stop location id. Should be null. Will be provided on return.

    namestringrequired

    Name of the location. Nonblank value required.

    openingHoursArray of objects(OpeningHours)

    Optional list of opening and closing hours of the stop location.

    specialOpeningHoursArray of objects(SpecialOpeningHours)

    Optional list of special (i.e., holiday) opening and closing hours of the stop location.

    suppliedIdstring

    Customer-supplied identifier for this location.

    versioninteger(int64)

    Version number of this location. Every time the location is edited this number is incremented.

    Response
    { "address": { "postalCode": "string", "addressLines": [], "city": "string", "state": "string", "country": "US" }, "addressSpecificity": "COUNTRY", "contacts": [ {} ], "coordinates": { "latitude": -90, "longitude": -180 }, "geofence": { "geometry": {}, "type": "TIME", "units": "MINUTES", "value": 0.1 }, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "openingHours": [ {} ], "specialOpeningHours": [ {} ], "suppliedId": "string", "version": 0 }

    Webhook

    Operations

    Deprecated FTL Webhooks

    Operations