Version 4.0.0 of project44's API. If you're not familiar with project44, we recommend checking out our guides first: https://developers.project44.com/guides/shippers and https://developers.project44.com/guides/carriers.
Version 4.0.0 of project44's API. If you're not familiar with project44, we recommend checking out our guides first: https://developers.project44.com/guides/shippers and https://developers.project44.com/guides/carriers.
API used for registering and managing OAuth 2.0 client applications. See the "Authentication" section above for more information. To authorize API requests to project44 for an API integration, first your client application must be registered with project44, which will issue your application a client id and secret. These credentials can then be used to generate bearer tokens, which can be included on all other API requests to authorize your client application. The client application is authorized through the project44 user management UI as a machine user with username "app-{client_id}@client-applications.project44.com".
An admin user (with Movement user role "Customer Admin") must use HTTP Basic Authentication with this API to manage client applications. Basic Authentication is deprecated for all other APIs, besides token generation, in favor of passing the access token generated via OAuth 2.0.
curl -i -X GET \ -u <username>:<password> \ https://na12.api.project44.com/api/v4/oauth2/client-applications
Register a new client application, in order to receive a client id and secret that can be used to authenticate with project44's OAuth 2.0 token generation endpoint. Generate tokens to access other project44 APIs. Note you must record the client secret returned here securely as it cannot be retrieved again. You can, however, generate a new client secret via the "new-secret" endpoint in case you forget it or need to rotate it.
curl -i -X POST \ -u <username>:<password> \ https://na12.api.project44.com/api/v4/oauth2/client-applications \ -H 'Content-Type: application/json' \ -d '{ "name": "My Client Application" }'
Created
The id of the client application, generated and assigned by project44. It is an alphanumeric id. In OAuth 2.0, this is referred to as the "client_id". This id is not considered a secret, but it is generally known only to you, your application, and project44, and is part of your application's credentials, along with the client secret, which are required to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this id is the "username" part of the base64-encoded Authorization header summary.
Your name for the client application. Every application is required to have a name.
The secret part of the client application's credentials, generated and assigned by project44. In OAuth 2.0, this is referred to as the "client_secret". It cannot be retrieved again after the first time project44 returns it to you, but a new secret can be set for an application via the "new-secret" endpoint. It is confidential and should be stored encrypted at rest in a secure location for your application's use only. It is needed to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this secret is the "password" part of the base64-encoded Authorization header summary.
curl -i -X GET \ -u <username>:<password> \ 'https://na12.api.project44.com/api/v4/oauth2/client-applications/{clientId}'
OK
The id of the client application, generated and assigned by project44. It is an alphanumeric id. In OAuth 2.0, this is referred to as the "client_id". This id is not considered a secret, but it is generally known only to you, your application, and project44, and is part of your application's credentials, along with the client secret, which are required to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this id is the "username" part of the base64-encoded Authorization header summary.
Your name for the client application. Every application is required to have a name.
The secret part of the client application's credentials, generated and assigned by project44. In OAuth 2.0, this is referred to as the "client_secret". It cannot be retrieved again after the first time project44 returns it to you, but a new secret can be set for an application via the "new-secret" endpoint. It is confidential and should be stored encrypted at rest in a secure location for your application's use only. It is needed to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this secret is the "password" part of the base64-encoded Authorization header summary.
curl -i -X PUT \ -u <username>:<password> \ 'https://na12.api.project44.com/api/v4/oauth2/client-applications/{clientId}' \ -H 'Content-Type: application/json' \ -d '{ "name": "My Client Application" }'
OK
The id of the client application, generated and assigned by project44. It is an alphanumeric id. In OAuth 2.0, this is referred to as the "client_id". This id is not considered a secret, but it is generally known only to you, your application, and project44, and is part of your application's credentials, along with the client secret, which are required to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this id is the "username" part of the base64-encoded Authorization header summary.
Your name for the client application. Every application is required to have a name.
The secret part of the client application's credentials, generated and assigned by project44. In OAuth 2.0, this is referred to as the "client_secret". It cannot be retrieved again after the first time project44 returns it to you, but a new secret can be set for an application via the "new-secret" endpoint. It is confidential and should be stored encrypted at rest in a secure location for your application's use only. It is needed to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this secret is the "password" part of the base64-encoded Authorization header summary.
curl -i -X DELETE \ -u <username>:<password> \ 'https://na12.api.project44.com/api/v4/oauth2/client-applications/{clientId}'
In case you have forgotten your application's client secret, or you wish to rotate it, generate a new one. Doing so invalidates the former client secret for the application, but does not invalidate any active access tokens you may have outstanding. Note you must record the client secret returned here securely as it cannot be retrieved again.
curl -i -X POST \ -u <username>:<password> \ 'https://na12.api.project44.com/api/v4/oauth2/client-applications/{clientId}/new-secret'
Created
The id of the client application, generated and assigned by project44. It is an alphanumeric id. In OAuth 2.0, this is referred to as the "client_id". This id is not considered a secret, but it is generally known only to you, your application, and project44, and is part of your application's credentials, along with the client secret, which are required to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this id is the "username" part of the base64-encoded Authorization header summary.
Your name for the client application. Every application is required to have a name.
The secret part of the client application's credentials, generated and assigned by project44. In OAuth 2.0, this is referred to as the "client_secret". It cannot be retrieved again after the first time project44 returns it to you, but a new secret can be set for an application via the "new-secret" endpoint. It is confidential and should be stored encrypted at rest in a secure location for your application's use only. It is needed to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this secret is the "password" part of the base64-encoded Authorization header summary.
API for OAuth 2.0 token generation. See the "Authentication" section above for more information. Once your client application is registered, you can use the token generation endpoint to authenticate with your application's client id and secret in exchange for a bearer token to be included on all other API requests to authenticate as that client application. The client application is authorized through the project44 user management UI as a machine user with username "app-{client_id}@client-applications.project44.com".
To generate an access token, you may authenticate your client application by providing its client id and secret either in the body of the request or in the form of HTTP Basic Authentication (but you may not use both ways in the same request).