FSSAI

1 endpoint · Core API

This API checks the validity and status of food business licenses issued by the Food Safety and Standards Authority of India.

Benefits

  • Verify food business licenses
  • Ensure regulatory compliance
  • Build trust with verified vendors
  • Integrate into onboarding or audit workflows

What you can do

Authenticate FSSAI license numbers to validate food business credentials and ensure food safety compliance.

POST

/api/v1/FSSAI

#

Get FSSAI details

docs.signcare.io/core/api/business-registration/fssai/#post-api-v1-fssai

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. The consent statement shown to the end user. Send the default text from the sample.
    minLength 1default I hear by declare my consent agreeme…
  • request_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • fssaiNumber
    stringrequired
    Required. FSSAI license number to verify: exactly 14 digits, no spaces.
    length 14pattern ^\d{14}$default 10721004000481
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "fssaiNumber": "10721004000481" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    Response model containing FSSAI license verification details.
    13 fields
    • premise_address
      stringoptional
      Address of the licensed premises.
      nullable
    • fssai_number
      stringoptional
      FSSAI license number.
      nullable
    • license_category_name
      stringoptional
      Name of the license category.
      nullable
    • state_name
      stringoptional
      State where the license is registered.
      nullable
    • status_description
      stringoptional
      Description of the license status.
      nullable
    • license_category_id
      stringoptional
      Identifier for the license category.
      nullable
    • taluk_name
      stringoptional
      Taluk (sub-district) where the premises is located.
      nullable
    • district_name
      stringoptional
      District where the premises is located.
      nullable
    • company_name
      stringoptional
      Name of the company holding the FSSAI license.
      nullable
    • license_active_flag
      booleanoptional
      Indicates whether the license is currently active.
    • app_type_description
      stringoptional
      Description of the application type.
      nullable
    • village_name
      stringoptional
      Village where the premises is located.
      nullable
    • premise_pincode
      stringoptional
      PIN code of the licensed premises.
      nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "premise_address": "string", "fssai_number": "string", "license_category_name": "string", "state_name": "string", "status_description": "string", "license_category_id": "string", "taluk_name": "string", "district_name": "string", "company_name": "string", "license_active_flag": false, "app_type_description": "string", "village_name": "string", "premise_pincode": "string" }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/FSSAI' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "fssaiNumber": "10721004000481" }'