---
id: workflow-config-read
title: Read a secret or variable
description: Returns one entry by id. `value` is only present for non-secret entries.
sidebar_label: Read a secret or variable
hide_title: true
hide_table_of_contents: true
api: >-
  eJytV21v2zYQ/isHYkBTTJbdokM3AfuQFumQDk2DJEU6BIFFiyeLjUSqJGXHM/zfhyMlW35JHWzLl8gSeXzunudeuGSOTy1L7titNg95qedgMTPoLHAlYMaN5JMSLbuPmECbGVk7qRVL2BW6xigLWiGgcmYBkwVIEUM642WDKUj6Vi6gNmhROci1AaXVINj3eyTamEVM12g4mT0XLGHzFsgg0yqX08QgFyxiNTe8QoeG0C6ZJAw1dwWLmOIVsoRJWmbweyMNCpY402DEbFZgxVmyZG5R0yrrjFRTttr156ZACCe27kgBJ2mWT8dxHKcvCSc+8qouyQi9fj35TbzKR5yt7iNmMWuMdAuPbYLcoDltXMGSu3v6bNDWWlm0BOT1aET/9o/359JBmVYOlaNVvK5LmfnoDL9ZWrrs+ySdx/PeAz+j/SzqPNWTb5g5tuvoacswaLPmN4azR565cuHp1DmkFNqUlqQdHylIgcrJXKIFVyDUJc8QpINSztDGcB3MevotcIMwN9LhgFSQ0I6Ff6lwhgaMlw8KUg1XCyCW4y3+7gKhnlwfYIPkTGaQOxSn9NzUon2+j1htSEdOhiBLsc/50wx2GtrfsSv6HA2qDAVIBQJzqSR9ssAtpD8tl132xBenn85gtQohpA8zbjZvt9V0cTk+vTwf/3n2FyFpPd1gmWhdIld7YM6rqnGBvZTEnkLFH1puPAm9+PtsNih45lAAMbCYF2gwphN9Gh31/YMuBZqW9ZN06DOcztJmypX822sUjNbuZQyXbdLPC1R+UcgprxTQCjjk3tx2IIY8IyMD6bCyhKzT3nF06/JlOoqOgyCtdyf4QPioHTpLNWVJke6qyvbZnynAa0E/VedWEcM8x8zJGT6DXW90Ll0BKVcZWqeN/d3TnJBDrkADrpAWjJ7DXCpLhTZDQa57DNJZIFX7kystDjqGqqko1dqs2uTUfsG/JTHBupJBSOsNlC68c26hNQctjKBGox299HjaBe8WByvzJscPQM61qbhjCSOcAycrpC2bUvDMLf4vYm++ft0vxu9LSbpBY7SJKLXrkksFH68/X/yX8kzmjpZn3whoJUy0WHT1ZMCVGKy7MaAStZbK2VZ2CXCoeFZIhQOqpLQKMi2oSDeWPqK1fIqEfrtO+qOOp9enQ8YjwHgaQyrVjJdSjEltabT57UsFvQhOjPOST8eyq1r0QWk3znWjxE5F3LLg9Rvw/7imXxo9kwIBt3sZlTdS4rqYdNz/coj7Lwofa/Rl0qKhVuVD9APea6MnJVY/P83/ZVjxLO6t40pwI/oiOLn68B7e/jp6C+1ZINBxWdooYBS+/TyFKQwv27QHHMdY94oFWgNfrs47ugvnapsMh+tBzS6swyoWOBt60HbzSWk3OETwv7JBQmhD+iMZXGgaNtv11nHX9FxmUjmcounveDN648dBCukx02sVhdosBczzscxv301u87qZjhTgo7TOdy+piMzsCNy1o3bYGyiGO2Z9+/CB6VnjxvDFHmtd29MKfBaFxpxzWTYGbdKb2Gs0oPMclZBqCrnE0s9gof1ujlmrdVtDT40NPdesw9oObcbVMMzWz87lqrEOCj6jjhMmQmhPX8ALKj4v2jQOqVyhKzTdHqZ+SAzQ+qENxw+XUqz8NEmZHW4SjSl7guS1jKnb1yV31DbiTFdbE/41ZXcIQH/OX/tChlh77/D93S9iUfvwoWtFH29v2MqLJNe0nfAE/l7Fo3jE1lJnFz04cHp57kc2bV3Ffblpbz9XyAXwA7P9rj6Wmzr2f17iWvcdPrqhb5e+K5tyo5S79ThnQzElPUQskX7YKLR1tGa5nHCLX0y5WtHr7w0aulXd03TWOkSsCWnpWbAk56XdHcn6Pp5ctQJ6Cc+44x10o0s3RcnWDomMRewBF+HeubpfRaxALtB4dOHDaZZh7Xpb9qYFEtZaun+c3bCI8W057cjHWz8IZ7kMK270A6rVao3O0W8CuFr9A1ezjTk=
sidebar_class_name: get api-method
info_path: docs/api/nullplatform-api
custom_edit_url: null
canonical: 'https://docs.nullplatform.com/docs/api/workflow-config-read'
---
<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Read a secret or variable"}
>
</Heading>

<MethodEndpoint
  method={"get"}
  path={"/workflows/config/{id}"}
  context={"endpoint"}
>

</MethodEndpoint>

Returns one entry by id. `value` is only present for non-secret entries.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
  children={"Request"}
>
</Heading>

<ParamsDetails
  parameters={[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"The config entry id (`cfg_...`).","example":"cfg_2b9d1f0a"}]}
>

</ParamsDetails>

<RequestSchema
  title={"Body"}
  body={undefined}
>

</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"description":"The entry.","content":{"application/json":{"schema":{"title":"ConfigEntry","type":"object","description":"A secret or variable. Exactly one of `path` or `workflow` identifies the place it lives. Secret values are write-only: they are never returned by any read.","required":["id","name","secret","createdAt","updatedAt"],"properties":{"id":{"type":"string","example":"cfg_2b9d1f0a"},"name":{"type":"string","description":"Referenced in definitions as `${{ secrets.NAME }}` or `${{ vars.NAME }}`.","example":"NP_API_KEY"},"secret":{"type":"boolean","description":"Immutable. `true` makes the value write-only and redacted everywhere."},"path":{"type":"string","description":"Folder place (`/` is the organization root). Present when the entry lives on a folder.","example":"/action-items"},"workflow":{"type":"string","description":"Workflow reference. Present when the entry lives on one workflow."},"value":{"type":"string","nullable":true,"description":"Only returned for non-secret entries."},"effective":{"type":"boolean","description":"Only with `ancestors=true`: whether this row wins precedence for its name."},"mode":{"type":"string","enum":["created","updated"],"description":"Write responses only: whether the entry was created or its value rotated."},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}}}}},"4XX":{"description":"Client error, as plain JSON.","content":{"application/json":{"schema":{"title":"ConfigError","type":"object","description":"The error body secrets-and-variables endpoints return: a machine-readable code plus a message.","properties":{"error":{"type":"string","description":"Machine-readable code, e.g. `invalid_name`, `invalid_place`, `secret_flag_immutable`, `not_found`.","example":"invalid_place"},"message":{"type":"string","example":"Provide exactly one of path or workflow"}}}}}},"5XX":{"description":"Unexpected server error.","content":{"application/problem+json":{"schema":{"title":"Problem","type":"object","description":"The standard error body (RFC 7807 problem details, served as `application/problem+json`).","properties":{"type":{"type":"string","description":"Error type URI, e.g. `https://workflow-system.dev/errors/workflow-not-found`.","example":"https://workflow-system.dev/errors/workflow-not-found"},"title":{"type":"string","example":"Not found"},"status":{"type":"integer","example":404},"detail":{"type":"string","example":"No workflow with id wf_ifWBbWfpug0n exists"},"instance":{"type":"string","example":"/workflows/definitions/wf_ifWBbWfpug0n"},"errors":{"type":"array","description":"Present on validation failures: one entry per offending field.","items":{"type":"object","properties":{"path":{"type":"string","example":"/steps/scan/config"},"message":{"type":"string","example":"must have required property 'code'"}}}}}}}}}}}
>

</StatusCodes>

