Skip to content
TellMeHow Developers

API documentation

Methods

Methods: 27 API operations, with their parameters, body, responses and a curl example.

GET /guide/{ownerType}/{ownerId}/effective

Read guide.effective

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).
cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/effective" \
  -H "Authorization: Bearer pat_…"

PUT /guide/{ownerType}/{ownerId}/overrides/{topic}

Write guide.overrides.put

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).
topic path
Identifier (ULID).

Body application/json

  • operation object required

    one of modify remove make_optional make_mandatory

  • patch array<object> | null
  • patch.title string

    length: at most 255

  • patch.description string

    length: at most 4000

  • patch.depth object

    one of overview standard deep

  • patch.opening_questions array<string>

    items: at most 20

  • patch.information_targets array<object>

    items: at most 20

  • patch.information_targets[].key string required
  • patch.information_targets[].label string required

    length: at most 255

  • patch.demonstrations array<string>

    items: at most 20

  • patch.forbidden_subjects array<string>

    items: at most 20

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X PUT "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/overrides/{topic}" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"operation":"modify"}'

DELETE /guide/{ownerType}/{ownerId}/overrides/{topic}

Write guide.overrides.destroy

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).
topic path
Identifier (ULID).

Responses

  • 204 Deleted, no content.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X DELETE "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/overrides/{topic}" \
  -H "Authorization: Bearer pat_…"

GET /guide/{ownerType}/{ownerId}/proposals/{proposal}

Read guide.proposals.show

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).
proposal path
Identifier (ULID).
cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/proposals/{proposal}" \
  -H "Authorization: Bearer pat_…"

POST /guide/{ownerType}/{ownerId}/proposals/{proposal}/accept

Write guide.proposals.accept

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).
proposal path
Identifier (ULID).

Body application/json

  • keys array<string> required

    items: at least 1

  • edits array<array<object>>
  • edits[].title string

    length: at most 255

  • edits[].requirement object

    one of mandatory optional

  • edits[].depth object

    one of overview standard deep

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/proposals/{proposal}/accept" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"keys":[]}'

POST /guide/{ownerType}/{ownerId}/propose-topics

Write guide.propose-topics

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).

Body application/json

  • count integer

    at least 3 at most 12

  • focus string | null

    length: at most 1000

  • locale string | null

    one of en fr

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/propose-topics" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"count":3,"focus":"…","locale":"en"}'

GET /guide/{ownerType}/{ownerId}/topics

Read guide.topics.index

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).
cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/topics" \
  -H "Authorization: Bearer pat_…"

POST /guide/{ownerType}/{ownerId}/topics

Write guide.topics.store

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).

Body application/json

  • key string | null
  • title string required

    length: at most 255

  • description string | null

    length: at most 4000

  • requirement object

    one of mandatory optional

  • depth object

    one of overview standard deep

  • opening_questions array<string>

    items: at most 20

  • information_targets array<object>

    items: at most 20

  • information_targets[].key string required
  • information_targets[].label string required

    length: at most 255

  • demonstrations array<string>

    items: at most 20

  • forbidden_subjects array<string>

    items: at most 20

  • deliverable_category string | null

    length: at most 64

  • position integer

    at least 0

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/topics" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"title":"…"}'

POST /guide/{ownerType}/{ownerId}/topics/reorder

Write guide.topics.reorder

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).

Body application/json

  • ids array<string> required

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/topics/reorder" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"ids":[]}'

PATCH /guide/{ownerType}/{ownerId}/topics/{topic}

Write guide.topics.update

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).
topic path
Identifier (ULID).

Body application/json

  • key string | null
  • title string

    length: at most 255

  • description string | null

    length: at most 4000

  • requirement object

    one of mandatory optional

  • depth object

    one of overview standard deep

  • opening_questions array<string>

    items: at most 20

  • information_targets array<object>

    items: at most 20

  • information_targets[].key string required
  • information_targets[].label string required

    length: at most 255

  • demonstrations array<string>

    items: at most 20

  • forbidden_subjects array<string>

    items: at most 20

  • deliverable_category string | null

    length: at most 64

  • position integer

    at least 0

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X PATCH "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/topics/{topic}" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"key":"…","title":"…","description":"…"}'

DELETE /guide/{ownerType}/{ownerId}/topics/{topic}

Write guide.topics.destroy

Parameters

ownerType path
Value from a fixed list (type, language, level…).
ownerId path
Identifier (ULID).
topic path
Identifier (ULID).

Responses

  • 204 Deleted, no content.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X DELETE "https://{your-workspace}.tellmehow.io/api/v1/guide/{ownerType}/{ownerId}/topics/{topic}" \
  -H "Authorization: Bearer pat_…"

GET /methods

Read methods.index

Parameters

cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/methods" \
  -H "Authorization: Bearer pat_…"

POST /methods

Write methods.store

Body application/json

  • name string required

    length: at most 255

  • description string | null

    length: at most 2000

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/methods" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"…"}'

GET /methods/enums/avatar-presets

Read methods.enums.avatar-presets

Parameters

cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/methods/enums/avatar-presets" \
  -H "Authorization: Bearer pat_…"

GET /methods/enums/{name}

Read methods.enums.show

Parameters

name path
Value from a fixed list (type, language, level…).
cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/methods/enums/{name}" \
  -H "Authorization: Bearer pat_…"

POST /methods/from-template

Write methods.from-template

Body application/json

  • template_key string required
  • name string | null

    length: at most 255

  • locale string | null

    one of en fr

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/methods/from-template" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"template_key":"…"}'

GET /methods/templates

Read methods.templates.index

Parameters

cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/methods/templates" \
  -H "Authorization: Bearer pat_…"

GET /methods/{method}

Read methods.show

Parameters

method path
Identifier (ULID).
cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}" \
  -H "Authorization: Bearer pat_…"

PATCH /methods/{method}

Write methods.update

Parameters

method path
Identifier (ULID).

Body application/json

  • name string required

    length: at most 255

  • description string | null

    length: at most 2000

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X PATCH "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"…"}'

DELETE /methods/{method}

Write methods.destroy

Parameters

method path
Identifier (ULID).

Responses

  • 204 Deleted, no content.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X DELETE "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}" \
  -H "Authorization: Bearer pat_…"

POST /methods/{method}/duplicate

Write methods.duplicate

Parameters

method path
Identifier (ULID).

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}/duplicate" \
  -H "Authorization: Bearer pat_…"

GET /methods/{method}/versions

Read methods.versions.index

Parameters

method path
Identifier (ULID).
cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}/versions" \
  -H "Authorization: Bearer pat_…"

GET /methods/{method}/versions/{version}

Read methods.versions.show

Parameters

method path
Identifier (ULID).
version path
Identifier (ULID).
cursor limit query
Cursor pagination, for operations that return a paginated list.

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}/versions/{version}" \
  -H "Authorization: Bearer pat_…"

PATCH /methods/{method}/versions/{version}

Write methods.versions.update

Parameters

method path
Identifier (ULID).
version path
Identifier (ULID).

Body application/json

  • objectives string | null

    length: at most 10000

  • interviewer_instructions string | null

    length: at most 10000

  • posture array<object>
  • posture.register array<object>

    one of vous tu neutral

  • posture.use_first_name boolean
  • posture.formality object

    one of relaxed standard formal

  • posture.warmth object

    one of reserved standard warm

  • posture.probing object

    one of light standard insistent

  • posture.silence_threshold_ms integer

    at least 400 at most 5000

  • posture.allow_suggestions boolean
  • persona array<object>
  • persona.name string required

    length: at most 60

  • persona.avatar_preset object

    one of classic short_hair glasses curly bun beard

  • persona.voice string | null

    length: at most 128

  • welcome_screen array<array<object>>
  • welcome_screen[].title string | null

    length: at most 255

  • welcome_screen[].intro string | null

    length: at most 2000

  • welcome_screen[].accept_label string | null

    length: at most 255

  • welcome_screen[].highlights array<string | null>

    items: at most 6

  • welcome_screen[].blocks array<object>
  • welcome_screen[].blocks.custom array<object>

    items: at most 6

  • welcome_screen[].blocks.custom[].title string | null

    length: at most 255

  • welcome_screen[].blocks.custom[].body string | null

    length: at most 4000

  • welcome_screen[].blocks[].title string | null

    length: at most 255

  • welcome_screen[].blocks[].body string | null

    length: at most 4000

  • deliverable_schema array<object>
  • deliverable_schema.sections array<object>
  • deliverable_schema.sections[].key object required

    one of summary process_map findings contradictions opportunities recommendations tools

  • deliverable_schema.sections[].enabled boolean required
  • deliverable_schema.finding_categories array<object>

    items: at most 30

  • deliverable_schema.finding_categories[].key string required
  • deliverable_schema.finding_categories[].label array<string | null> required
  • deliverable_schema.finding_categories[].description array<string | null>
  • deliverable_schema.opportunity_categories array<object>

    items: at most 30

  • deliverable_schema.opportunity_categories[].key string required
  • deliverable_schema.opportunity_categories[].label array<string | null> required
  • deliverable_schema.opportunity_categories[].description array<string | null>
  • deliverable_schema.priority_scale array<object>

    items: at most 6

  • deliverable_schema.priority_scale[].key string required

    length: at most 32

  • deliverable_schema.priority_scale[].label array<string | null> required
  • deliverable_schema.priority_scale[].rule string required

    length: at most 255

Responses

  • 200 Success: the resource in data.
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X PATCH "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}/versions/{version}" \
  -H "Authorization: Bearer pat_…" \
  -H "Content-Type: application/json" \
  -d '{"objectives":"…","interviewer_instructions":"…","posture":[]}'

POST /methods/{method}/versions/{version}/draft

Write methods.versions.draft

Parameters

method path
Identifier (ULID).
version path
Identifier (ULID).

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}/versions/{version}/draft" \
  -H "Authorization: Bearer pat_…"

POST /methods/{method}/versions/{version}/persona/avatar

Write methods.versions.avatar

Parameters

method path
Identifier (ULID).
version path
Identifier (ULID).

Body multipart/form-data

  • avatar file required

    length: at most 2048

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}/versions/{version}/persona/avatar" \
  -H "Authorization: Bearer pat_…" \
  -F "avatar=@./file.pdf"

POST /methods/{method}/versions/{version}/publish

Write methods.versions.publish

Parameters

method path
Identifier (ULID).
version path
Identifier (ULID).

Responses

  • 201 Created (200 or 202 for an action or an asynchronous job).
  • 401 Missing, invalid, revoked or expired token.
  • 403 Not allowed by the role, a rule or the scope.
  • 404 Unknown resource or outside the workspace.
  • 422 Invalid data (validation.failed).
  • 429 Rate limit reached.
Example
curl -X POST "https://{your-workspace}.tellmehow.io/api/v1/methods/{method}/versions/{version}/publish" \
  -H "Authorization: Bearer pat_…"