Mittwoch, 15. Juli 2026 Publisher-Hub für presseecho · businessportal24 FAQ Hilfe
pressekonto Publisher · Hub
pressekonto API
Developers

API documentation

Create press releases programmatically, add images and submit them for review — via the versioned REST API of the publisher hub.


Basics

API v1 is a RESTful web service with JSON responses. Base URL: https://pressekonto.com/api/v1. A release created via the API is always a draft; it is only published after submission via the submit route and the subsequent content review — it then appears on both portals like any other release.

Authentication

All requests require a personal API token as a bearer header: Authorization: Bearer <token>. Each token carries permissions (e.g. press-releases:write) that control access to the respective endpoints. You create and revoke tokens yourself in your publisher account under "API tokens" — an active booking (plan or single press release) is required. Existing customers of the legacy portals: your previous API keys were migrated and keep working — both as bearer tokens and in the old form (X-ApiKey header) and on the documented /service/… paths. For new integrations we recommend the current /api/v1/… endpoints with bearer tokens.

Endpoints

Press releases

GET
/press-releases

List your releases (paginated, filterable via ?status= and ?per_page=, max. 100). · Permission: press-releases:read

POST
/press-releases

Create a new release — always as a draft (status draft). · Permission: press-releases:write

GET
/press-releases/{id}

Fetch a release incl. company, category and images. · Permission: press-releases:read

PATCH
/press-releases/{id}

Update a release — only in status draft or rejected. · Permission: press-releases:write

POST
/press-releases/{id}/submit

Submit for content review — the only path towards publication. · Permission: press-releases:write

DELETE
/press-releases/{id}

Delete a release — published releases are excluded. · Permission: press-releases:write

Images

GET
/press-releases/{id}/images

List the images of a release. · Permission: press-releases:read

POST
/press-releases/{id}/images

Upload an image (multipart/form-data) — only for draft/rejected. · Permission: press-release-images:write

DELETE
/press-release-images/{imageId}

Remove an image — only for draft/rejected. · Permission: press-release-images:write

Master data

GET
/companies

List your company profiles (newsrooms). · Permission: companies:read

GET
/companies/{id}

Fetch a company profile. · Permission: companies:read

GET
/categories

Active categories incl. translations — provides the category_id for new releases. · Permission: press-releases:read

Fields of a press release

Field Type Required Description
company_id integer yes ID of one of your company profiles — determines newsroom and portal.
category_id integer yes Category (see GET /categories).
language string yes Language code, two characters: de or en.
title string yes Headline, max. 255 characters.
text string yes Content. Allowed HTML: p, br, h2, h3, strong, em, ul, ol, li, blockquote, a — everything else is stripped.
backlink_url string Link to source/website, max. 255 characters.
keywords string Keywords, comma-separated, max. 255 characters.
teaser_begin / teaser_end integer Character offsets for the teaser excerpt.
no_export boolean Exclude the release from feeds/exports.

Fields of an image upload

Field Type Required Description
image file yes JPG, PNG or WebP, max. 8 MB.
title string Image title, max. 120 characters.
description string Description, max. 500 characters.
copyright string Copyright attribution, max. 255 characters.
is_preview boolean Set as preview image (replaces an existing one).

Quick start

The typical flow: create a draft, upload an image, submit for review.

# 1. Create a draft
curl -X POST https://pressekonto.com/api/v1/press-releases \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "company_id": 1,
    "category_id": 2,
    "language": "de",
    "title": "Neue Produktankündigung",
    "text": "<p>Unser neues Produkt …</p>"
  }'

# 2. Upload an image (multipart)
curl -X POST https://pressekonto.com/api/v1/press-releases/123/images \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "image=@pressefoto.jpg" \
  -F "ai_declaration=original" \
  -F "copyright=Mustermann GmbH" \
  -F "is_preview=1"

# 3. Submit for content review
curl -X POST https://pressekonto.com/api/v1/press-releases/123/submit \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "ai_text_declaration": "none" }'

Required since July 2026: the submit call bindingly declares the AI grade of the text (ai_text_declaration: none, assisted, mostly_ai, fully_ai — transparency obligation under Art. 50 EU AI Act) and includes acknowledgement of permanent archiving (Terms § 13). Each image carries its own label (ai_declaration: original, ai_generated, ai_edited).

Machine-readable reference: OpenAPI specification (YAML).

HTTP status codes

Code Meaning
200 / 201 / 204 Success — fetch, resource created or deleted.
401 Missing or invalid API token.
402 Submitting requires an active booking (plan or single release).
403 Token permission missing or the resource does not belong to your account.
409 Status conflict — e.g. editing an already published release.
422 Validation error or quota/guideline violation (details in the body).
429 Rate limit reached: 60 requests per minute per token (X-RateLimit-* headers).

Create an API token

You manage tokens yourself in the publisher account. For integration questions, support is happy to help: info@businessportal24.com