Profiles

Endpoints for listing team profiles and viewing profile-specific orders, order items, and campaigns.

Create a profile

POST /profiles

Create a profile for the team associated with your API token.

Scope: profiles.create

Description: Creates a business profile using the same core fields collected during onboarding. Industry and target audience values can be existing tag UUIDs or custom names.

Request body

FieldTypeDescription
namestringProfile or company name
website_urlstringCompany website URL
overviewstringCompany overview or description
products_and_servicesstringMain products and services
key_achievementsstring[]Notable achievements, awards, or milestones
unique_value_propositionsstring[]Differentiators or value propositions
industrystring[]Industry tag UUIDs or custom industry names
target_audiencestring[]Audience tag UUIDs or custom audience names

Request

curl -X POST "https://api.presscart.com/profiles" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Corp",
    "website_url": "https://acme.com",
    "overview": "Acme helps finance teams automate invoice workflows.",
    "products_and_services": "Invoice automation, payment reconciliation, and spend analytics.",
    "key_achievements": ["Processed over $500M in invoices"],
    "unique_value_propositions": ["Finance automation built for mid-market operators"],
    "industry": ["Fintech", "B2B SaaS"],
    "target_audience": ["CFOs", "Finance operations teams"]
  }'

Response

{
  "id": "22222222-2222-2222-2222-222222222222",
  "team_id": "11111111-1111-1111-1111-111111111111",
  "name": "Acme Corp",
  "website_url": "https://acme.com",
  "overview": "Acme helps finance teams automate invoice workflows.",
  "products_and_services": "Invoice automation, payment reconciliation, and spend analytics.",
  "key_achievements": ["Processed over $500M in invoices"],
  "unique_value_propositions": ["Finance automation built for mid-market operators"],
  "industry": ["Fintech", "B2B SaaS"],
  "target_audience": ["CFOs", "Finance operations teams"],
  "created_at": "2026-05-07T00:00:00.000Z",
  "updated_at": "2026-05-07T00:00:00.000Z"
}

Update a profile

PATCH /profiles/{profile_id}

Update a profile belonging to the team associated with your API token.

Scope: profiles.update

Description: Updates submitted profile fields. Omitted fields stay unchanged. Industry and target audience values can be existing tag UUIDs or custom names; send an empty array only when you want to clear that tag category.

Path parameters

ParameterTypeDescription
profile_idstringUUID of the profile

Request body

Use any subset of the POST /profiles body fields.

Request

curl -X PATCH "https://api.presscart.com/profiles/22222222-2222-2222-2222-222222222222" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "overview": "Acme helps finance teams automate invoice and payment workflows.",
    "target_audience": ["CFOs", "Finance operations teams"]
  }'

Response

Returns the same response shape as POST /profiles.


List team profiles

GET /teams/{team_id}/profiles

List profiles for a team.

Scope: profiles.lists

Description: Returns profiles belonging to the specified team. The team_id in the path must match the token's team.

Path parameters

ParameterTypeDescription
team_idstringUUID of the team (must match your token's team)

Request

curl "https://api.presscart.com/teams/11111111-1111-1111-1111-111111111111/profiles" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN"

Response

{
  "records": [
    {
      "id": "22222222-2222-2222-2222-222222222222",
      "name": "Acme Corp",
      "legal_company_name": "Acme Corporation Inc.",
      "type": "COMPANY",
      "logo": null,
      "location": "San Francisco, CA",
      "overview": "Leading provider of innovative tech solutions",
      "products_and_services": "SaaS platform for project management",
      "google_drive_link": null,
      "writing_samples": null,
      "primary_goals": ["BRAND_AWARENESS"],
      "website_url": "https://acme.com",
      "team_id": "11111111-1111-1111-1111-111111111111",
      "brand_tone_and_voice_id": null,
      "last_generated_at": null,
      "created_at": "2026-01-10T10:00:00.000Z",
      "updated_at": "2026-02-20T08:00:00.000Z",
      "deleted_at": null
    }
  ],
  "total_records": 1,
  "total_pages": 1,
  "current_page": 1,
  "next_page": null,
  "previous_page": null
}

List profile orders

GET /profiles/{profile_id}/orders

List orders for a specific profile.

Scope: orders.lists

Description: Returns orders for the specified profile. The profile must belong to the token's team.

Path parameters

ParameterTypeDescription
profile_idstringUUID of the profile

Query parameters

ParameterTypeDescription
start_datestringFilter orders from this date (ISO 8601)
end_datestringFilter orders until this date (ISO 8601)
paid_orders_onlybooleanReturn only paid orders

Request

curl "https://api.presscart.com/profiles/22222222-2222-2222-2222-222222222222/orders?paid_orders_only=true" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN"

Response

{
  "records": [
    {
      "id": "44444444-4444-4444-4444-444444444444",
      "profile_id": "22222222-2222-2222-2222-222222222222",
      "client_id": null,
      "checkout_by_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
      "team_id": "11111111-1111-1111-1111-111111111111",
      "total": 1500,
      "subtotal": 1500,
      "processing_fee": 0,
      "discount": null,
      "credits_applied": null,
      "coupon": null,
      "client_secret": "pi_xxxxx_secret_xxxxx",
      "date_paid": "2026-02-10T14:30:00.000Z",
      "status": "PAID",
      "reference_number": "ORD-20260210-ABC123",
      "external_reference_number": null,
      "customer_invoice_id": null,
      "customer_invoice_source": null,
      "customer_invoice_date": null,
      "customer_invoice_url": null,
      "is_guest_order": false,
      "guest_email": null,
      "account_owner_email": "team@example.com",
      "guest_stripe_customer_id": null,
      "metadata": null,
      "created_at": "2026-02-10T14:00:00.000Z",
      "updated_at": "2026-02-10T14:30:00.000Z",
      "deleted_at": null,
      "line_items": [
        {
          "id": "55555555-5555-5555-5555-555555555555",
          "order_id": "44444444-4444-4444-4444-444444444444",
          "product_id": "33333333-3333-3333-3333-333333333333",
          "quantity": 1,
          "price": 1500,
          "name": "Premium Tech Feature",
          "created_at": "2026-02-10T14:00:00.000Z",
          "updated_at": "2026-02-10T14:00:00.000Z",
          "deleted_at": null
        }
      ]
    }
  ],
  "total_records": 1,
  "total_pages": 1,
  "current_page": 1,
  "next_page": null,
  "previous_page": null
}

List profile order items

GET /profiles/{profile_id}/order-items

List order items for a specific profile.

Scope: orders.lists

Description: Returns order items for the specified profile. The profile must belong to the token's team.

Note: This endpoint returns a raw array, not a pagination envelope.

Path parameters

ParameterTypeDescription
profile_idstringUUID of the profile

Query parameters

ParameterTypeDescription
typestringFilter by item type
is_add_onbooleanFilter for add-on items
searchstringSearch term
aggregate_add_onsbooleanAggregate add-on items with their parent

Request

curl "https://api.presscart.com/profiles/22222222-2222-2222-2222-222222222222/order-items" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN"

Response

[
  {
    "id": "55555555-5555-5555-5555-555555555555",
    "name": "Premium Tech Feature",
    "description": "Full-length feature article on a leading tech publication",
    "is_add_on": false,
    "profile_id": "22222222-2222-2222-2222-222222222222",
    "type": "guest_post",
    "campaign_id": "66666666-6666-6666-6666-666666666666",
    "product_id": "33333333-3333-3333-3333-333333333333",
    "min_delivery_days": 5,
    "max_delivery_days": 14,
    "outlet": {
      "id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
      "name": "TechDaily",
      "website_url": "https://techdaily.com",
      "logo": "https://cdn.presscart.com/logos/techdaily.png"
    },
    "includes": [
      {
        "channel_type": "NEWSLETTER",
        "placement_type": "MENTION"
      }
    ]
  }
]

List profile campaigns

GET /profiles/{profile_id}/campaigns

List campaigns for a specific profile.

Scope: campaigns.lists

Description: Returns campaigns for the specified profile. The profile must belong to the token's team.

Path parameters

ParameterTypeDescription
profile_idstringUUID of the profile

Request

curl "https://api.presscart.com/profiles/22222222-2222-2222-2222-222222222222/campaigns" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN"

Response

{
  "records": [
    {
      "id": "66666666-6666-6666-6666-666666666666",
      "name": "Q2 Product Launch",
      "reference": "CAMP-Q2-2026",
      "profile_id": "22222222-2222-2222-2222-222222222222",
      "created_at": "2026-02-01T10:00:00.000Z",
      "updated_at": "2026-02-15T08:00:00.000Z",
      "deleted_at": null
    }
  ],
  "total_records": 1,
  "total_pages": 1,
  "current_page": 1,
  "next_page": null,
  "previous_page": null
}

On this page