Edit own profile

PATCHhttps://api.postpress.ai/v1/users/me/edit

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

X-API-KEYstringrequired
API key from your postpress dashboard. Sent as a request header.

Request body (multipart/form-data)

typestringLINKEDINrequired
account_idstringlength ≥ 1required
A postpress account id.
locationobject
location object
idstringrequired
Location id. Use Retrieve LinkedIn search parameters with type LOCATION to find it.
postal_codestringlength = 5
A 5-digit postal code.
headlinestring
The subtitle of your profile.
summarystring
The ABOUT section of your profile.
picturebinary
Profile picture file.
picture_settingsobject
picture_settings object
filterstring
ORIGINALSTUDIOSPOTLIGHTPRIMECLASSICEDGELUMINATE
layoutobject
layout object
bottomLeftobject
bottomLeft object
xnumberrequired
ynumberrequired
bottomRightobject
bottomRight object
xnumberrequired
ynumberrequired
topLeftobject
topLeft object
xnumberrequired
ynumberrequired
topRightobject
topRight object
xnumberrequired
ynumberrequired
contrastnumber
vignettenumber
saturationnumber
brightnessnumber
cover_picturebinary
Cover picture file.
cover_picture_settingsobject
cover_picture_settings object
filterstring
ORIGINALSTUDIOSPOTLIGHTPRIMECLASSICEDGELUMINATE
layoutobject
layout object
bottomLeftobject
bottomLeft object
xnumberrequired
ynumberrequired
bottomRightobject
bottomRight object
xnumberrequired
ynumberrequired
topLeftobject
topLeft object
xnumberrequired
ynumberrequired
topRightobject
topRight object
xnumberrequired
ynumberrequired
contrastnumber
vignettenumber
saturationnumber
brightnessnumber
experienceobject
Add or edit a professional experience. One of the variants below.
experience object
Add a new experienceobject
Add a new experience object
rolestringrequired
companystringrequired
notify_networkboolean
employment_typestring
Employment type id. Use Retrieve LinkedIn search parameters with type EMPLOYMENT_TYPE.
company_idstring
locationstring
presencestring
ON_SITEHYBRIDREMOTE
seniorityobject
seniority object
start_dateobjectrequired
start_date object
monthnumberrequired
yearnumberrequired
end_dateobject
end_date object
monthnumberrequired
yearnumberrequired
descriptionstring
source_of_hirestring
INDEEDLINKEDINCOMPANY_WEBSITEOTHER_JOB_SITESREFERRALCONTACTED_BY_RECRUITERSTAFFING_AGENCYOTHER
skillsarray of strings
attachmentobject
One of the variants below.
attachment object
Link variantobject
Link variant object
typestringlinkrequired
titlestringrequired
descriptionstring
urlstringrequired
thumbnailbinary
Optional replacement image when the default thumbnail is not satisfactory.
Media variantobject
Media variant object
typestringmediarequired
titlestringrequired
descriptionstring
filebinary
Image or document (pdf, ppt, doc).
Edit an existing experienceobject
Edit an existing experience object
idstringrequired
The id of the experience to edit.
notify_networkboolean
rolestring
employment_typestring
Employment type id. Use Retrieve LinkedIn search parameters with type EMPLOYMENT_TYPE.
companystring
company_idstring
locationstring
presencestring
ON_SITEHYBRIDREMOTE
seniorityobject
seniority object
start_dateobjectrequired
start_date object
monthnumberrequired
yearnumberrequired
end_dateobject
end_date object
monthnumberrequired
yearnumberrequired
descriptionstring
source_of_hirestring
INDEEDLINKEDINCOMPANY_WEBSITEOTHER_JOB_SITESREFERRALCONTACTED_BY_RECRUITERSTAFFING_AGENCYOTHER
skillsarray of strings
attachmentobject
One of the variants below.
attachment object
Link variantobject
Link variant object
typestringlinkrequired
titlestringrequired
descriptionstring
urlstringrequired
thumbnailbinary
Optional replacement image when the default thumbnail is not satisfactory.
Media variantobject
Media variant object
typestringmediarequired
titlestringrequired
descriptionstring
filebinary
Image or document (pdf, ppt, doc).
educationobject
Add or edit an education. One of the variants below.
education object
Add a new educationobject
Add a new education object
notify_networkboolean
schoolstringrequired
degreestring
gradestring
field_of_studystring
activitiesstring
descriptionstring
start_dateobject
start_date object
monthnumberrequired
yearnumberrequired
end_dateobject
end_date object
monthnumberrequired
yearnumberrequired
skillsarray of strings
attachmentobject
One of the variants below.
attachment object
Link variantobject
Link variant object
typestringlinkrequired
titlestringrequired
descriptionstring
urlstringrequired
thumbnailbinary
Optional replacement image when the default thumbnail is not satisfactory.
Media variantobject
Media variant object
typestringmediarequired
titlestringrequired
descriptionstring
filebinary
Image or document (pdf, ppt, doc).
Edit an existing educationobject
Edit an existing education object
idstringrequired
The id of the education to edit.
notify_networkboolean
rolestring
employment_typestring
Employment type id. Use Retrieve LinkedIn search parameters with type EMPLOYMENT_TYPE.
companystring
company_idstring
locationstring
presencestring
ON_SITEHYBRIDREMOTE
seniorityobject
seniority object
start_dateobjectrequired
start_date object
monthnumberrequired
yearnumberrequired
end_dateobject
end_date object
monthnumberrequired
yearnumberrequired
descriptionstring
source_of_hirestring
INDEEDLINKEDINCOMPANY_WEBSITEOTHER_JOB_SITESREFERRALCONTACTED_BY_RECRUITERSTAFFING_AGENCYOTHER
skillsarray of strings
attachmentobject
One of the variants below.
attachment object
Link variantobject
Link variant object
typestringlinkrequired
titlestringrequired
descriptionstring
urlstringrequired
thumbnailbinary
Optional replacement image when the default thumbnail is not satisfactory.
Media variantobject
Media variant object
typestringmediarequired
titlestringrequired
descriptionstring
filebinary
Image or document (pdf, ppt, doc).
skillsarray of strings
skills_followboolean
open_to_workobject
open_to_work object
job_titlearray of objectsrequired
At least one job title.
job_title array
namestringrequired
Job title name.
idstringrequired
Job title id. Use Retrieve LinkedIn search parameters with type JOB_TITLE.
presencearray of stringsrequired
ON_SITEHYBRIDREMOTE
locationobjectrequired
location object
on_sitearray of strings
Location ids for on-site. At least one.
remotearray of strings
Location ids for remote. At least one.
start_datestring
IMMEDIATELYFLEXIBLE
employment_typearray of strings
FULL_TIMEPART_TIMECONTRACTINTERNSHIPTEMPORARY
visibilitystring
ALLRECRUITERS_ONLY
Defaults to `ALL`.
custom_linkobject
custom_link object
typestringrequired
STOREWEBSITEPORTFOLIOBLOGNEWSLETTER
urlstringrequired
display_onstring
PROFILE_ONLYEVERYWHERE
Defaults to `EVERYWHERE`.

Response 200 OK

objectstringProfileEditedrequired

Example 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:

titlestringrequired
Short error title.
detailstringoptional
Human-readable explanation.
instancestringoptional
Request identifier for support.
typestringrequired
Error type identifier.
statusnumberrequired
HTTP status code.
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.
Updated May 2026