# Get Components Input Output

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Get Components Input Output"}
>
</Heading>

<MethodEndpoint
  method={"get"}
  path={"/api/v1/haystack/components/input-output"}
  context={"endpoint"}
>
  
</MethodEndpoint>

Returns the haystack components available for the domain of the current version.

This can be used to identify the input values required for each component and the output
values that will be returned.

By default, it returns the components for the deepset domain.

If names are provided, it will return the input/output schema for the provided components.
We use exact match for the component names.
If no names are provided, it will return the input/output schema for all available components.

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

<ParamsDetails
  parameters={[{"description":"The service domain to fetch components for.","in":"query","name":"domain","required":false,"schema":{"default":"deepset-cloud","description":"The service domain to fetch components for.","enum":["deepset-cloud","community"],"title":"ComponentDomain","type":"string"}},{"in":"query","name":"names","required":false,"schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Names"}}]}
>
  
</ParamsDetails>

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

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"content":{"application/json":{"schema":{"items":{"properties":{"errors":{"anyOf":[{"items":{"description":"Describes errors caused by invalid haystack components.","properties":{"code":{"description":"Error code","title":"Code","type":"string"},"message":{"description":"Error message","title":"Message","type":"string"},"title":{"description":"Error title","title":"Title","type":"string"}},"required":["code","message","title"],"title":"HaystackComponentInputOutputError","type":"object"},"type":"array"},{"type":"null"}],"description":"Errors encountered during the generation of input/output schemas","title":"Errors during input/output schema generation"},"init_parameters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"Additional dynamic parameters of the component that are not part of the component schema but are relevant for the component usage (e.g. Code component).","title":"Component init parameters"},"input":{"additionalProperties":true,"description":"Input schema of the component","title":"Input schema of the component","type":"object"},"name":{"description":"Schema for all available haystack components.","title":"Haystack Component Input Output Schema","type":"string"},"output":{"additionalProperties":true,"description":"Output schema of the component","title":"Output schema of the component","type":"object"}},"required":["name","input","output"],"title":"HaystackComponentInputOutputSchema","type":"object"},"title":"Response 200 Get Components Input Output Api V1 Haystack Components Input Output Get","type":"array"}}},"description":"Input and output schema for available components."},"404":{"description":"Input and output schema not found."},"422":{"content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"}}},"description":"Validation Error"}}}
>
  
</StatusCodes>
