---
title: "Submit a new shipment location."
method: POST
path: "/api/v4/stoplocations"
tags: ["Stop Location Management"]
---

# Submit a new shipment location.

`POST /api/v4/stoplocations`

## Request

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

<h4><b>Required Fields</h4></b>
To create a valid stop location, you must supply a <b>name</b> plus one of <ul><li>A valid <b>STREET ADDRESS</b>. This is an address that includes all of:<ul><li><b>addressLines</b></li><li><b>city</b></li><li><b>state</b> and/or <b>postalCode</b></li><li><b>country</b></li></ul></li><li>A pair of valid <b>COORDINATES</b> along with an address that includes <b>COUNTRY</b></li><ul>

## Request body

- StopLocation
  - `address` Address: A postal address.
    - `addressLines` string[]: Street name, number, direction, PO box, etc. Only three address lines are currently permitted.
    - `city` string: Name of city, town, etc.
    - `country` 'US' | 'CA' | 'MX' | 'AG' | 'BB' | 'BS' | 'BZ' | 'CR' | 'CU' | 'DM' | 'DO' | 'GD' | 'GT' | 'HN' | 'HT' | 'JM' | 'KN' | 'LC' | 'NI' | 'PA' | 'SV' | 'TT' | 'VC' | 'AI' | 'AW' | 'BL' | 'BM' | 'BQ' | 'CW' | 'GL' | 'GP' | 'KY' | 'MF' | 'MQ' | 'MS' | 'PM' | 'PR' | 'SX' | 'TC' | 'UM' | 'VG' | 'VI' | 'AT' | 'BE' | 'BG' | 'CY' | 'CZ' | 'DK' | 'DE' | 'EE' | 'ES' | 'FI' | 'FR' | 'GB' | 'GR' | 'HR' | 'HU' | 'IE' | 'IT' | 'LT' | 'LU' | 'LV' | 'MT' | 'NL' | 'PL' | 'PT' | 'RO' | 'SE' | 'SK' | 'SI' | 'CH' | 'IS' | 'LI' | 'NO' | 'AL' | 'ME' | 'MK' | 'RS' | 'TR' | 'AD' | 'AX' | 'BA' | 'BV' | 'BY' | 'FO' | 'GG' | 'GI' | 'IM' | 'IO' | 'JE' | 'MC' | 'MD' | 'SJ' | 'SM' | 'TF' | 'UA' | 'VA' | 'AE' | 'AF' | 'AM' | 'AZ' | 'BD' | 'BH' | 'BN' | 'BT' | 'CN' | 'GE' | 'HK' | 'ID' | 'IL' | 'IN' | 'IQ' | 'IR' | 'JO' | 'JP' | 'KG' | 'KH' | 'KP' | 'KR' | 'KW' | 'KZ' | 'LA' | 'LB' | 'LK' | 'MM' | 'MN' | 'MO' | 'MV' | 'MY' | 'NP' | 'OM' | 'PH' | 'PK' | 'PS' | 'QA' | 'RU' | 'SA' | 'SG' | 'SY' | 'TH' | 'TJ' | 'TL' | 'TM' | 'TW' | 'UZ' | 'VN' | 'YE' | 'AO' | 'BF' | 'BI' | 'BJ' | 'BW' | 'CD' | 'CF' | 'CG' | 'CI' | 'CM' | 'CV' | 'DJ' | 'DZ' | 'EG' | 'EH' | 'ER' | 'ET' | 'GA' | 'GH' | 'GM' | 'GN' | 'GQ' | 'GW' | 'HM' | 'KE' | 'KM' | 'LR' | 'LS' | 'LY' | 'MA' | 'MG' | 'ML' | 'MR' | 'MU' | 'MW' | 'MZ' | 'NA' | 'NE' | 'NG' | 'RE' | 'RW' | 'SC' | 'SD' | 'SH' | 'SL' | 'SN' | 'SO' | 'SS' | 'ST' | 'SZ' | 'TD' | 'TG' | 'TN' | 'TZ' | 'UG' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'AR' | 'BO' | 'BR' | 'CL' | 'CO' | 'EC' | 'FK' | 'GF' | 'GS' | 'GY' | 'PE' | 'PY' | 'SR' | 'UY' | 'VE' | 'AS' | 'AU' | 'CC' | 'CK' | 'CX' | 'FJ' | 'FM' | 'GU' | 'KI' | 'MH' | 'MP' | 'NC' | 'NF' | 'NR' | 'NU' | 'NZ' | 'PF' | 'PG' | 'PN' | 'PW' | 'SB' | 'TK' | 'TO' | 'TV' | 'VU' | 'WF' | 'WS' | 'AQ' | 'EL' | 'UK' | 'XK' | 'XS' | 'XI', enum: Abbreviation of country (using ISO 3166 standards). (default: 'US')
    - `postalCode` string: The ZIP or postal code.
    - `state` string: Abbreviation of state, province, district, etc.
  - `addressSpecificity` 'COUNTRY' | 'STATE' | 'COUNTY' | 'CITY' | 'DISTRICT' | 'POSTAL_CODE' | 'STREET' | 'INTERSECTION' | 'LANDMARK' | 'HOUSE_NUMBER': 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.
  - `contacts` ContactReference[]: A list of contact information for people associated with this location.
    - `contactId` string: The project44-generated id of the contact. Contacts can be created, updated, and retrieved through the contact management API.
    - `type` string: Relationship of this contact to the location.
  - `coordinates` GeoCoordinates
    - `latitude` number, float: The approximate geographic latitude of a location, using the WGS84 coordinate system.
    - `longitude` number, float: The approximate geographic longitude of a location, using the WGS84 coordinate system.
  - `geofence` Geofence
    - `geometry` GeoJsonObject
      - `bbox` number[]
      - `crs` Crs
        - `properties` object
        - `type` 'name' | 'link'
      - `type` string
    - `type` 'TIME' | 'DISTANCE' | 'POLYGON': Geofence type. See reference documentation.
    - `units` 'MINUTES' | 'METERS': Units the value is provided in. Units must be appropriate for the type.
    - `value` number, double: Value in the appropriate units. Only used for TIME and DISTANCE type geofences.
  - `id` string, uuid: Stop location id. Should be null. Will be provided on return.
  - `name` string: Name of the location. Nonblank value required.
  - `openingHours` OpeningHours[]: Optional list of opening and closing hours of the stop location.
    - `appliesFriday` boolean: Whether this set of OpeningHours applies on Fridays.
    - `appliesMonday` boolean: Whether this set of OpeningHours applies on Mondays.
    - `appliesSaturday` boolean: Whether this set of OpeningHours applies on Saturdays.
    - `appliesSunday` boolean: Whether this set of OpeningHours applies on Sundays.
    - `appliesThursday` boolean: Whether this set of OpeningHours applies on Thursdays.
    - `appliesTuesday` boolean: Whether this set of OpeningHours applies on Tuesdays.
    - `appliesWednesday` boolean: Whether this set of OpeningHours applies on Wednesdays.
    - `closes` string: Local closing time of this location, formatted as HH:mm.
    - `opens` string: Local opening time of this location, formatted as HH:mm.
  - `specialOpeningHours` SpecialOpeningHours[]: Optional list of special (i.e., holiday) opening and closing hours of the stop location.
    - `hours` OpeningHours
      - `appliesFriday` boolean: Whether this set of OpeningHours applies on Fridays.
      - `appliesMonday` boolean: Whether this set of OpeningHours applies on Mondays.
      - `appliesSaturday` boolean: Whether this set of OpeningHours applies on Saturdays.
      - `appliesSunday` boolean: Whether this set of OpeningHours applies on Sundays.
      - `appliesThursday` boolean: Whether this set of OpeningHours applies on Thursdays.
      - `appliesTuesday` boolean: Whether this set of OpeningHours applies on Tuesdays.
      - `appliesWednesday` boolean: Whether this set of OpeningHours applies on Wednesdays.
      - `closes` string: Local closing time of this location, formatted as HH:mm.
      - `opens` string: Local opening time of this location, formatted as HH:mm.
    - `validFrom` string, date: Date (inclusive) local to the stop to start applying the special hours. Formatted as yyyy-MM-dd
    - `validThrough` string, date: Date (exclusive) local to the stop to stop applying the special hours. Formatted as yyyy-MM-dd
  - `suppliedId` string: Customer-supplied identifier for this location.
  - `version` integer: Version number of this location. Every time the location is edited this number is incremented.

## Response `200`

OK

- StopLocation
  - `address` Address: A postal address.
    - `addressLines` string[]: Street name, number, direction, PO box, etc. Only three address lines are currently permitted.
    - `city` string: Name of city, town, etc.
    - `country` 'US' | 'CA' | 'MX' | 'AG' | 'BB' | 'BS' | 'BZ' | 'CR' | 'CU' | 'DM' | 'DO' | 'GD' | 'GT' | 'HN' | 'HT' | 'JM' | 'KN' | 'LC' | 'NI' | 'PA' | 'SV' | 'TT' | 'VC' | 'AI' | 'AW' | 'BL' | 'BM' | 'BQ' | 'CW' | 'GL' | 'GP' | 'KY' | 'MF' | 'MQ' | 'MS' | 'PM' | 'PR' | 'SX' | 'TC' | 'UM' | 'VG' | 'VI' | 'AT' | 'BE' | 'BG' | 'CY' | 'CZ' | 'DK' | 'DE' | 'EE' | 'ES' | 'FI' | 'FR' | 'GB' | 'GR' | 'HR' | 'HU' | 'IE' | 'IT' | 'LT' | 'LU' | 'LV' | 'MT' | 'NL' | 'PL' | 'PT' | 'RO' | 'SE' | 'SK' | 'SI' | 'CH' | 'IS' | 'LI' | 'NO' | 'AL' | 'ME' | 'MK' | 'RS' | 'TR' | 'AD' | 'AX' | 'BA' | 'BV' | 'BY' | 'FO' | 'GG' | 'GI' | 'IM' | 'IO' | 'JE' | 'MC' | 'MD' | 'SJ' | 'SM' | 'TF' | 'UA' | 'VA' | 'AE' | 'AF' | 'AM' | 'AZ' | 'BD' | 'BH' | 'BN' | 'BT' | 'CN' | 'GE' | 'HK' | 'ID' | 'IL' | 'IN' | 'IQ' | 'IR' | 'JO' | 'JP' | 'KG' | 'KH' | 'KP' | 'KR' | 'KW' | 'KZ' | 'LA' | 'LB' | 'LK' | 'MM' | 'MN' | 'MO' | 'MV' | 'MY' | 'NP' | 'OM' | 'PH' | 'PK' | 'PS' | 'QA' | 'RU' | 'SA' | 'SG' | 'SY' | 'TH' | 'TJ' | 'TL' | 'TM' | 'TW' | 'UZ' | 'VN' | 'YE' | 'AO' | 'BF' | 'BI' | 'BJ' | 'BW' | 'CD' | 'CF' | 'CG' | 'CI' | 'CM' | 'CV' | 'DJ' | 'DZ' | 'EG' | 'EH' | 'ER' | 'ET' | 'GA' | 'GH' | 'GM' | 'GN' | 'GQ' | 'GW' | 'HM' | 'KE' | 'KM' | 'LR' | 'LS' | 'LY' | 'MA' | 'MG' | 'ML' | 'MR' | 'MU' | 'MW' | 'MZ' | 'NA' | 'NE' | 'NG' | 'RE' | 'RW' | 'SC' | 'SD' | 'SH' | 'SL' | 'SN' | 'SO' | 'SS' | 'ST' | 'SZ' | 'TD' | 'TG' | 'TN' | 'TZ' | 'UG' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'AR' | 'BO' | 'BR' | 'CL' | 'CO' | 'EC' | 'FK' | 'GF' | 'GS' | 'GY' | 'PE' | 'PY' | 'SR' | 'UY' | 'VE' | 'AS' | 'AU' | 'CC' | 'CK' | 'CX' | 'FJ' | 'FM' | 'GU' | 'KI' | 'MH' | 'MP' | 'NC' | 'NF' | 'NR' | 'NU' | 'NZ' | 'PF' | 'PG' | 'PN' | 'PW' | 'SB' | 'TK' | 'TO' | 'TV' | 'VU' | 'WF' | 'WS' | 'AQ' | 'EL' | 'UK' | 'XK' | 'XS' | 'XI', enum: Abbreviation of country (using ISO 3166 standards). (default: 'US')
    - `postalCode` string: The ZIP or postal code.
    - `state` string: Abbreviation of state, province, district, etc.
  - `addressSpecificity` 'COUNTRY' | 'STATE' | 'COUNTY' | 'CITY' | 'DISTRICT' | 'POSTAL_CODE' | 'STREET' | 'INTERSECTION' | 'LANDMARK' | 'HOUSE_NUMBER': 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.
  - `contacts` ContactReference[]: A list of contact information for people associated with this location.
    - `contactId` string: The project44-generated id of the contact. Contacts can be created, updated, and retrieved through the contact management API.
    - `type` string: Relationship of this contact to the location.
  - `coordinates` GeoCoordinates
    - `latitude` number, float: The approximate geographic latitude of a location, using the WGS84 coordinate system.
    - `longitude` number, float: The approximate geographic longitude of a location, using the WGS84 coordinate system.
  - `geofence` Geofence
    - `geometry` GeoJsonObject
      - `bbox` number[]
      - `crs` Crs
        - `properties` object
        - `type` 'name' | 'link'
      - `type` string
    - `type` 'TIME' | 'DISTANCE' | 'POLYGON': Geofence type. See reference documentation.
    - `units` 'MINUTES' | 'METERS': Units the value is provided in. Units must be appropriate for the type.
    - `value` number, double: Value in the appropriate units. Only used for TIME and DISTANCE type geofences.
  - `id` string, uuid: Stop location id. Should be null. Will be provided on return.
  - `name` string: Name of the location. Nonblank value required.
  - `openingHours` OpeningHours[]: Optional list of opening and closing hours of the stop location.
    - `appliesFriday` boolean: Whether this set of OpeningHours applies on Fridays.
    - `appliesMonday` boolean: Whether this set of OpeningHours applies on Mondays.
    - `appliesSaturday` boolean: Whether this set of OpeningHours applies on Saturdays.
    - `appliesSunday` boolean: Whether this set of OpeningHours applies on Sundays.
    - `appliesThursday` boolean: Whether this set of OpeningHours applies on Thursdays.
    - `appliesTuesday` boolean: Whether this set of OpeningHours applies on Tuesdays.
    - `appliesWednesday` boolean: Whether this set of OpeningHours applies on Wednesdays.
    - `closes` string: Local closing time of this location, formatted as HH:mm.
    - `opens` string: Local opening time of this location, formatted as HH:mm.
  - `specialOpeningHours` SpecialOpeningHours[]: Optional list of special (i.e., holiday) opening and closing hours of the stop location.
    - `hours` OpeningHours
      - `appliesFriday` boolean: Whether this set of OpeningHours applies on Fridays.
      - `appliesMonday` boolean: Whether this set of OpeningHours applies on Mondays.
      - `appliesSaturday` boolean: Whether this set of OpeningHours applies on Saturdays.
      - `appliesSunday` boolean: Whether this set of OpeningHours applies on Sundays.
      - `appliesThursday` boolean: Whether this set of OpeningHours applies on Thursdays.
      - `appliesTuesday` boolean: Whether this set of OpeningHours applies on Tuesdays.
      - `appliesWednesday` boolean: Whether this set of OpeningHours applies on Wednesdays.
      - `closes` string: Local closing time of this location, formatted as HH:mm.
      - `opens` string: Local opening time of this location, formatted as HH:mm.
    - `validFrom` string, date: Date (inclusive) local to the stop to start applying the special hours. Formatted as yyyy-MM-dd
    - `validThrough` string, date: Date (exclusive) local to the stop to stop applying the special hours. Formatted as yyyy-MM-dd
  - `suppliedId` string: Customer-supplied identifier for this location.
  - `version` integer: Version number of this location. Every time the location is edited this number is incremented.

## 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)
