---
title: "Import prompts from your industry"
method: POST
path: "/org/industries/{id}/prompts/import"
tags: ["Prompts"]
---

# Import prompts from your industry

`POST /org/industries/{id}/prompts/import`

## Request

- Base URL: `https://apiv2.senso.ai/api/v1`
- URL: `https://apiv2.senso.ai/api/v1/org/industries/{id}/prompts/import`
- Auth: API key in header `X-API-Key`

Copies prompts from your organization's industry into your organization and starts importing the run history already collected for them, so their analytics begin with data instead of an empty chart. History is copied only for the AI models and locations your organization runs, and only to prompts whose text matches the industry prompt's.

Only your organization's own industry is accepted: any other industry id, and an organization with no industry, is a `403`. Every requested prompt must be a live, active prompt of that industry with text that fits a prompt, and no two may share the same text; otherwise the whole request is rejected with a `400` naming the offending ids and nothing is changed.

Once accepted, each prompt is either `created` or `skipped` because your organization already holds a prompt with the same text. Sending the same request again is safe — prompts already present are skipped, and the history import is started again or, if one is still running, that one is returned. Importing activates your organization and starts its scheduled runs. Any prompts already saved to the organization that were not yet running will begin running as well. Should the request fail after it was accepted, prompts created before the failure remain and the organization may already be activated; send the same request again to finish.

Follow the history import with `GET /org/history-imports/{importId}` using the returned `history_import.import_id`. A `completed` import may have copied nothing — read its `prompts_count` and `historic_runs_imported` rather than the status alone. Requires the GEO product.

## Path parameters

- `id` string, uuid, required

## Request body

- ImportIndustryPromptsRequest
  - `prompt_ids` string[], required: Ids of prompts in your organization's industry. Each id may appear once; a duplicate rejects the request.

## Response `200`

One outcome per requested prompt, in request order, plus the history import that was started, found already running, or could not be started.

- ImportIndustryPromptsResponse
  - `outcomes` ImportIndustryPromptOutcome[], required: One entry per requested prompt, in request order.
    - `industry_prompt_id` string, uuid, required: The requested industry prompt.
    - `status` 'created' | 'skipped', required: `created` — a new prompt was added to your organization. `skipped` — your organization already had a prompt with the same text, whether imported earlier or written by hand; nothing on it was changed.
    - `geo_question_id` string, uuid, nullable, required: The prompt in your organization this now corresponds to: the one created, or the existing one it was skipped for. Null only if that existing prompt was deleted in the same instant.
    - `reason` string, nullable, required: Why the prompt was skipped. Null when it was created.
  - `created` integer, required: How many prompts were added to your organization.
  - `skipped` integer, required: How many prompts your organization already had.
  - `defaults_seeded` ImportIndustryPromptsDefaultsSeeded, required: Run configuration this call had to create so the prompts can run. Empty arrays mean your organization was already configured and nothing was changed.
    - `models` string[], required: AI models configured for your organization by this call.
    - `schedule_dows` integer[], required: Run days added to your schedule, 0 (Sunday) to 6 (Saturday).
    - `locations` string[], required: Locations added to your run configuration: a country code, or `COUNTRY/region` for a regional location.
  - `history_import` ImportIndustryPromptsHistoryImport, required: The history-import job this call started, or found already running.
    - `status` 'queued' | 'already_running' | 'skipped', required: `queued` — a new import was started; `already_running` — an import for your organization was already in progress, and `import_id` is that import, so call again after it completes to cover anything copied since it started; `skipped` — the import could not be started (your prompts were still copied; send the request again to retry).
    - `import_id` string, uuid, nullable, required: The job to follow with `GET /org/history-imports/{importId}`. Null when `skipped`.
    - `days` integer, required: How many days of industry history the import covers — the window that was requested, when `skipped`.
    - `reason` string, nullable, required: Set when the import was skipped, null otherwise. Always the same fixed sentence — the cause itself is not exposed; sending the request again retries it.

## Other responses

- `400`: The request was malformed — a bad path/query parameter or an invalid value.
- `401`: Missing or invalid credentials — supply a valid org API key in the `X-API-Key` header.
- `403`: The API key is authenticated but not permitted to access this resource.
- `404`: The requested resource does not exist or is not visible to this key.

---

[API](https://skmtc.dev/senso/apis/senso-org-api.md) - [All operations](https://skmtc.dev/senso/apis/senso-org-api/llms.txt) - [OpenAPI document](https://skmtc.dev/senso/apis/senso-org-api/revisions/d789b4fcbe84?raw)
