create onboarded carriers bulk.md
Create Onboarded Carriers Bulk
Authentication
- Include your
Access-Tokenin the header of your requests. - Include your
x-api-keyThe API key provided by GenLogs. This header must be included in the request.
Permissions
The external-api-create-onboarded-carrier-contact permission is required to access this endpoint.
Endpoint
- URL:
https://api.genlogs.io/onboarded-carrier/bulk/contacts - Method:
POST
Headers
- Access-Token: (string, required): Access token obtained from the "Create Access Token" endpoint.
- X-Api-Key (string, required): The API key provided by GenLogs.
Request body
- contacts (list, object, required): List of contacts to be created. Including:
- usdot (string, required): Carrier USDOT number. Must contain digits only, be greater than zero, and be at most 9 digits.
- name (string, optional): Contact name.
- phone (string, optional): Contact phone number
- email (string, optional): Contact email address.
Request Example:
curl --location --request POST 'https://api.genlogs.io/onboarded-carrier/bulk/contacts' \
--header 'access-token: <your-api-access-token>' \
--header 'x-api-key: <your-x-api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"contacts": [
{
"usdot": "123456789",
"name": "Peter Parker",
"phone": "3432434234",
"email": "peter.parker@marvel.com"
},
{
"usdot": "234567890",
"name": "Mary Jane",
"phone": "5423123456",
"email": "mary.jane@marvel.com"
}
]
}'
Response:
- 200 OK: A JSON object containing two lists for:
- Success: created carrier contact(s) with relevant information including
usdot,nameandid. - Failed: failed creation with
indexandreason.
- Success: created carrier contact(s) with relevant information including
- 400 Bad Request: If required parameters are missing or invalid.
- 401 Unauthorized: If the authentication credentials (Access-Token) is missing or incorrect.
- 403 Forbidden: If the permission has not been added to your user.
- 500 Internal Server Error: If there is an issue on the server that prevents processing the request.
Response Body:
200 OK – Contacts Deleted Successfully
{
"contacts": [
{
"usdot": "123456789",
"name": "Peter Parker",
"phone": "3432434234",
"email": "peter.parker@marvel.com"
},
{
"usdot": "234567890",
"name": "Mary Jane",
"phone": "5423123456",
"email": "mary.jane@marvel.com"
}
]
}
400 Bad Request
Returned when:
- The provided contacts list is malformed or missing
- Malformed
usdotnumber
{
"detail": "Missing required field: contacts"
}
{
"detail": "All contacts failed to be created"
}
{
"detail": "Value error, usdot_number must contain only digits."
}
{
"detail": "contacts list must not be empty"
}
401 Unauthorized
- When access-token is missing or expired
{
"detail": "Token is missing!"
}
{
"detail": "Token is expired!"
}
403 Forbidden
{
"detail": "User not allowed to access this endpoint"
}
404 Not Found
Bulk create onboarded carrier contacts
Creates multiple onboarded carrier contacts for the authenticated customer in a single request. Each contact entry is validated using the same rules as the single-contact create flow. At least one contact must be valid for the operation to succeed. The operation follows the same authorization, repository, caching, and creation logic as the single-contact create flow. Each
usdotvalue must contain digits only, be greater than zero, and be at most 9 digits after normalization.
{"openapi":"3.0.3","info":{"title":"Onboarded Carrier Contacts API","version":"1.1.0"},"servers":[{"url":"https://api.genlogs.io"}],"security":[{"AccessTokenAuth":[],"ApiKeyAuth":[]}],"paths":{"/onboarded-carrier/bulk/contacts":{"post":{"summary":"Bulk create onboarded carrier contacts","description":"Creates multiple onboarded carrier contacts for the authenticated customer in a single request. Each contact entry is validated using the same rules as the single-contact create flow. At least one contact must be valid for the operation to succeed. The operation follows the same authorization, repository, caching, and creation logic as the single-contact create flow. Each `usdot` value must contain digits only, be greater than zero, and be at most 9 digits after normalization.\n","tags":["Onboarded Carriers"],"requestBody":{"required":true,"description":"List of onboarded carrier contact definitions to create. The contacts array must be non-empty.\n","content":{"application/json":{"schema":{"type":"object","required":["contacts"],"properties":{"contacts":{"type":"array","minItems":1,"description":"List of contacts to create.","items":{"type":"object","required":["usdot"],"properties":{"usdot":{"type":"string","description":"Carrier USDOT number. Must contain digits only, be greater than zero, and be at most 9 digits. Leading zeroes are normalized before persistence.\n","minLength":1,"maxLength":9,"pattern":"^[0-9]+$"},"name":{"type":"string","nullable":true,"description":"Contact name."},"phone":{"type":"string","nullable":true,"description":"Contact phone number."},"email":{"type":"string","nullable":true,"description":"Contact email address."}}}}}}}}},"responses":{"200":{"description":"Contacts processed successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"created_contacts":{"type":"array","description":"List of successfully created contacts.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"usdot":{"type":"string"},"name":{"type":"string"}}}},"failed_contacts":{"type":"array","description":"Per-item errors for contacts that were not created.","items":{"type":"object","properties":{"index":{"type":"integer","description":"Index of the contact in the original payload."},"error":{"type":"string","description":"Human-readable error message for this item."}}}}}}}}},"400":{"description":"Bad Request – Invalid request body or all items failed.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"401":{"description":"Unauthorized – Invalid or missing Access-Token.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Forbidden – Missing required permission.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"500":{"description":"Internal Server Error.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}}}}}}