Edit own profile
Modify information on the account owner LinkedIn profile.
The request body is sent as multipart/form-data. Nested fields use bracket notation - for example location[id]=105015875, picture_settings[filter]=STUDIO or picture_settings[layout][bottomLeft][x]=1.25. For array fields, repeat the same key for each value - for example experience[skills]=development and experience[skills]=management.
Authorization
Request body (multipart/form-data)
typestringLINKEDINrequiredaccount_idstringlength ≥ 1requiredlocationobjectlocation object
idstringrequiredpostal_codestringlength = 5headlinestringsummarystringpicturebinarypicture_settingsobjectpicture_settings object
filterstringORIGINALSTUDIOSPOTLIGHTPRIMECLASSICEDGELUMINATElayoutobjectlayout object
bottomLeftobjectbottomLeft object
xnumberrequiredynumberrequiredbottomRightobjectbottomRight object
xnumberrequiredynumberrequiredtopLeftobjecttopLeft object
xnumberrequiredynumberrequiredtopRightobjecttopRight object
xnumberrequiredynumberrequiredcontrastnumbervignettenumbersaturationnumberbrightnessnumbercover_picturebinarycover_picture_settingsobjectcover_picture_settings object
filterstringORIGINALSTUDIOSPOTLIGHTPRIMECLASSICEDGELUMINATElayoutobjectlayout object
bottomLeftobjectbottomLeft object
xnumberrequiredynumberrequiredbottomRightobjectbottomRight object
xnumberrequiredynumberrequiredtopLeftobjecttopLeft object
xnumberrequiredynumberrequiredtopRightobjecttopRight object
xnumberrequiredynumberrequiredcontrastnumbervignettenumbersaturationnumberbrightnessnumberexperienceobjectexperience object
Add a new experienceobjectAdd a new experience object
rolestringrequiredcompanystringrequirednotify_networkbooleanemployment_typestringcompany_idstringlocationstringpresencestringON_SITEHYBRIDREMOTEseniorityobjectseniority object
start_dateobjectrequiredstart_date object
monthnumberrequiredyearnumberrequiredend_dateobjectend_date object
monthnumberrequiredyearnumberrequireddescriptionstringsource_of_hirestringINDEEDLINKEDINCOMPANY_WEBSITEOTHER_JOB_SITESREFERRALCONTACTED_BY_RECRUITERSTAFFING_AGENCYOTHERskillsarray of stringsattachmentobjectattachment object
Link variantobjectLink variant object
typestringlinkrequiredtitlestringrequireddescriptionstringurlstringrequiredthumbnailbinaryMedia variantobjectMedia variant object
typestringmediarequiredtitlestringrequireddescriptionstringfilebinaryEdit an existing experienceobjectEdit an existing experience object
idstringrequirednotify_networkbooleanrolestringemployment_typestringcompanystringcompany_idstringlocationstringpresencestringON_SITEHYBRIDREMOTEseniorityobjectseniority object
start_dateobjectrequiredstart_date object
monthnumberrequiredyearnumberrequiredend_dateobjectend_date object
monthnumberrequiredyearnumberrequireddescriptionstringsource_of_hirestringINDEEDLINKEDINCOMPANY_WEBSITEOTHER_JOB_SITESREFERRALCONTACTED_BY_RECRUITERSTAFFING_AGENCYOTHERskillsarray of stringsattachmentobjectattachment object
Link variantobjectLink variant object
typestringlinkrequiredtitlestringrequireddescriptionstringurlstringrequiredthumbnailbinaryMedia variantobjectMedia variant object
typestringmediarequiredtitlestringrequireddescriptionstringfilebinaryeducationobjecteducation object
Add a new educationobjectAdd a new education object
notify_networkbooleanschoolstringrequireddegreestringgradestringfield_of_studystringactivitiesstringdescriptionstringstart_dateobjectstart_date object
monthnumberrequiredyearnumberrequiredend_dateobjectend_date object
monthnumberrequiredyearnumberrequiredskillsarray of stringsattachmentobjectattachment object
Link variantobjectLink variant object
typestringlinkrequiredtitlestringrequireddescriptionstringurlstringrequiredthumbnailbinaryMedia variantobjectMedia variant object
typestringmediarequiredtitlestringrequireddescriptionstringfilebinaryEdit an existing educationobjectEdit an existing education object
idstringrequirednotify_networkbooleanrolestringemployment_typestringcompanystringcompany_idstringlocationstringpresencestringON_SITEHYBRIDREMOTEseniorityobjectseniority object
start_dateobjectrequiredstart_date object
monthnumberrequiredyearnumberrequiredend_dateobjectend_date object
monthnumberrequiredyearnumberrequireddescriptionstringsource_of_hirestringINDEEDLINKEDINCOMPANY_WEBSITEOTHER_JOB_SITESREFERRALCONTACTED_BY_RECRUITERSTAFFING_AGENCYOTHERskillsarray of stringsattachmentobjectattachment object
Link variantobjectLink variant object
typestringlinkrequiredtitlestringrequireddescriptionstringurlstringrequiredthumbnailbinaryMedia variantobjectMedia variant object
typestringmediarequiredtitlestringrequireddescriptionstringfilebinaryskillsarray of stringsskills_followbooleanopen_to_workobjectopen_to_work object
job_titlearray of objectsrequiredjob_title array
namestringrequiredidstringrequiredpresencearray of stringsrequiredON_SITEHYBRIDREMOTElocationobjectrequiredlocation object
on_sitearray of stringsremotearray of stringsstart_datestringIMMEDIATELYFLEXIBLEemployment_typearray of stringsFULL_TIMEPART_TIMECONTRACTINTERNSHIPTEMPORARYvisibilitystringALLRECRUITERS_ONLYcustom_linkobjectcustom_link object
typestringrequiredSTOREWEBSITEPORTFOLIOBLOGNEWSLETTERurlstringrequireddisplay_onstringPROFILE_ONLYEVERYWHEREResponse 200 OK
objectstringProfileEditedrequiredExample request
curl --request PATCH \
--url 'https://api.postpress.ai/api/v1/users/me/edit' \
--header 'X-API-KEY: pp_live_...' \
--header 'accept: application/json' \
--header 'content-type: multipart/form-data' \
--form 'type=LINKEDIN' \
--form 'account_id=acc_linkedin_01HXYZ4QK3WJ8FN3M6QH7TZ8GR' \
--form 'headline=Building postpress' \
--form 'summary=Founder. Author. Builder.' \
--form 'location[id]=105015875' \
--form 'picture=@./me.jpg' \
--form 'picture_settings[filter]=STUDIO' \
--form 'picture_settings[layout][bottomLeft][x]=1.25' \
--form 'picture_settings[layout][bottomLeft][y]=1.25' \
--form 'experience[role]=Founder' \
--form 'experience[company]=postpress' \
--form 'experience[skills]=development' \
--form 'experience[skills]=management'Example response
{
"object": "ProfileEdited"
}Errors
Every error response follows the same envelope:
401 Unauthorized13 types
Credentials are missing, expired, or otherwise invalid.
errors/missing_credentials- Some credentials are necessary to perform the request.errors/multiple_sessions- LinkedIn limits multiple sessions on certain Recruiter accounts. Use the cookie connection method.errors/invalid_checkpoint_solution- The checkpoint resolution did not pass successfully. Retry.errors/invalid_proxy_credentials- The provided proxy credentials are invalid.errors/checkpoint_error- The checkpoint does not appear to be resolvable.errors/invalid_credentials- The provided credentials are invalid.errors/expired_credentials- Credentials have expired. Reconnect the account.errors/insufficient_privileges- This resource is out of your API-key scopes.errors/disconnected_account- The account is disconnected from the provider service.errors/disconnected_feature- The service you're trying to reach is disconnected.errors/invalid_credentials_but_valid_account_imap- IMAP/SMTP credentials are invalid but the account is otherwise valid.errors/expired_link- This link has expired. Generate a new one.errors/wrong_account- The provided credentials do not match the correct account.
403 Forbidden9 types
Authenticated but the account is restricted or the action is not allowed.
errors/account_restricted- The account has been restricted by the provider.errors/account_mismatch- This action cannot be done with your account.errors/insufficient_permissions- Valid authentication but insufficient permissions to perform the request.errors/session_mismatch- Token user id does not match client session id.errors/feature_not_subscribed- The requested feature has not been subscribed or authenticated properly.errors/subscription_required- A subscription is required to use this feature.errors/unknown_authentication_context- An additional step seems necessary to complete login.errors/action_required- An additional step is required.errors/resource_access_restricted- You don't have access to this resource.
404 Not Found2 types
The account or the owning user could not be found.
errors/resource_not_found- The requested resource was not found.errors/invalid_resource_identifier- The provided identifier is not valid.
422 Unprocessable Entity5 types
The account is not designed for this feature, or another constraint is violated.
errors/invalid_account- Provided account is not designed for this feature.errors/unprocessable_entity- The request could not be processed as submitted.errors/action_already_performed- The requested action has already been performed.errors/limit_exceeded- A LinkedIn limit was reached.errors/account_configuration_error- The account configuration prevents this operation.
429 Too Many Requests1 types
The provider cannot accept any more requests at the moment. Retry later.
errors/too_many_requests- Provider rate limit reached. Back off and retry.
500 Internal Server Error3 types
Something went wrong on our side or with the upstream provider.
errors/unexpected_error- Something went wrong.errors/provider_error- The provider is experiencing operational problems. Retry later.errors/authentication_intent_error- The current authentication intent was killed after failure.
501 Not Implemented1 types
The requested feature is planned but not yet available.
errors/feature_not_implemented- This feature has not been implemented yet.
503 Service Unavailable5 types
postpress is temporarily unable to handle the request.
errors/no_client_session- No client session is currently running.errors/no_channel- No channel to client session.errors/no_handler- Handler missing for that request.errors/network_down- Network is down on the server side. Retry shortly.errors/service_unavailable- Service temporarily unavailable. Retry later.
504 Gateway Timeout1 types
The upstream provider did not respond in time.
errors/request_timeout- Request timed out. Retry, and contact support if it persists.