# Sign In Customer Sign-in from a backend service on behalf of a consumer customer (B2C) or customer delegate (B2B). Used by custom integrations and e-commerce plugins as a form of single-sign-on for the checkout. If the customer has been authenticated with the merchant's website, this lets them also authenticate a known customer with April. This is a pre-requisite for using the checkout for a B2B customer. For both B2B and B2C customers having an authenticated session with the checkout also unlocks access to saved cards as a payment source. Note merchants need to have been registered as supporting B2B customer when onboarded to be able to support B2B customers in the checkout. Endpoint: POST /auth/signin Version: 3.0 Security: Marketplace API Key | Merchant Secret Token | Pay By Link Token ## Header parameters: - `Merchant-Id` (string) Perform operation in the context of the given merchant. Usually not required — specify only if acting on behalf of a merchant not implied by the credentials specified in the Authorization header. ## Response 200 fields (application/json): - `customerId` (string, required) System unique identifier for the customer - `customerDelegateId` (string) System unique identifier for the customer delegate - `customToken` (string, required) A custom token that can be provided to the checkout. ## Response 400 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 401 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 403 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 404 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 405 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 406 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 409 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 422 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 429 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 500 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 503 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata