0.9.1-draft03

Beckn Core API specification (Latest Draft v0.9.1-draft03)

Authentication

  • API Key (SubscriberAuth)

    • Parameter Name: Authorization, in: header. Signature of message body using BAP or BPP subscriber's signing public key. For example:
      Authorization : Signature keyId='bap-example.com', signature='Base64(EdDSA-SHA512(requestBody))'
  • API Key (GatewaySubscriberAuth)

    • Parameter Name: Proxy-Authorization, in: header. Signature of message body + BAP/BPP's Authorization header using BG's signing public key. For example:
      Proxy-Authorization : Signature keyId='bg-example.com' headers='Authorization',signature='Base64(EdDSA-SHA512(requestBody)'

Beckn Provider Platform (BPP)

/search

POST /search

Search for services by intent

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseBAP searches for services
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» intentbodyIntentfalseIntent of a user. Used for searching for services
»»» query_stringbodystringfalsenone
»»» providerbodyobjectfalsenone
»»»» idbodyProvider/properties/idfalseId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» namebodystringfalsenone
»»»»» codebodystringfalsenone
»»»»» symbolbodystringfalsenone
»»»»» short_descbodystringfalsenone
»»»»» long_descbodystringfalsenone
»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»» audiobodystring(uri)falsenone
»»»»» 3d_renderbodystring(uri)falsenone
»»»» locationsbody[object]falsenone
»»»»» idbodyLocation/properties/idfalsenone
»»» fulfillmentbodyobjectfalsenone
»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»» startbodyobjectfalsenone
»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» idbodyLocation/properties/idfalsenone
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»» addressbodyAddressfalseDescribes an address
»»»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»»»» buildingbodystringfalseName of the building or block
»»»»»»» streetbodystringfalseStreet name or number
»»»»»»» localitybodystringfalseName of the locality, apartments
»»»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»»»» citybodystringfalseCity name
»»»»»»» statebodystringfalseState name
»»»»»»» countrybodystringfalseCountry name
»»»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»»»» station_codebodystringfalsenone
»»»»»» citybodyCityfalseDescribes a city
»»»»»»» namebodystringfalseName of the city
»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»» namebodystringfalseName of the country
»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»»»»» typebodystringfalsenone
»»»»»»»»» valuebodynumbertruenone
»»»»»»»»» estimated_valuebodynumberfalsenone
»»»»»»»»» computed_valuebodynumberfalsenone
»»»»»»»»» rangebodyobjectfalsenone
»»»»»»»»»» minbodynumberfalsenone
»»»»»»»»»» maxbodynumberfalsenone
»»»»»»»»» unitbodystringtruenone
»»»»»» polygonbodystringfalsenone
»»»»»» 3dspacebodystringfalsenone
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» labelbodystringfalsenone
»»»»»» timestampbodystring(date-time)falsenone
»»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»»» rangebodyobjectfalsenone
»»»»»»» startbodystring(date-time)falsenone
»»»»»»» endbodystring(date-time)falsenone
»»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» endbodyobjectfalsenone
»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»»» additionalPropertiesbodystringfalsenone
»»» paymentbodyPaymentfalseDescribes a payment
»»»» uribodystring(uri)falseA payment uri to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, $transaction_id and $amount are mandatory. And example url would be : https://www.example.com/pay?txid=$transaction_id&amount=$amount&vpa=upiid&payee=shopez&billno=1234
»»»» tl_methodbodystringfalsenone
»»»» paramsbodyobjectfalsenone
»»»»» additionalPropertiesbodystringfalsenone
»»»»» transaction_idbodystringfalseThis value will be placed in the the $transaction_id url param in case of http/get and in the requestBody http/post requests
»»»»» amountbodyDecimalValuefalseDescribes a decimal value
»»»» typebodystringfalsenone
»»»» statusbodystringfalsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» categorybodyCategoryfalseDescribes a category
»»»» idbodyCategory/properties/idfalseUnique id of the category
»»»» parent_category_idbodyCategory/properties/idfalseUnique id of the category
»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»» offerbodyobjectfalsenone
»»»» idbodyOffer/properties/idfalsenone
»»»» descriptorbodyobjectfalsenone
»»»»» namebodystringfalsenone
»»» itembodyobjectfalsenone
»»»» idbodyCategory/properties/idfalseUnique id of the category
»»»» descriptorbodyobjectfalsenone
»»»»» namebodystringfalsenone
»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»» purposebodystringfalsenone
»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/select

POST /select

Select items from the catalog and build your order

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» selectedbodyobjecttruenone
»»» providerbodyobjecttruenone
»»»» idbodyProvider/properties/idtrueId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» locationsbody[object]truenone
»»»»» idbodyLocation/properties/idtruenone
»»» itemsbody[object]truenone
»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)trueThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»» quantitybodyItemQuantity/properties/selectedtruenone
»»»»» countbodyintegerfalsenone
»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» typebodystringfalsenone
»»»»»» valuebodynumbertruenone
»»»»»» estimated_valuebodynumberfalsenone
»»»»»» computed_valuebodynumberfalsenone
»»»»»» rangebodyobjectfalsenone
»»»»»»» minbodynumberfalsenone
»»»»»»» maxbodynumberfalsenone
»»»»»» unitbodystringtruenone
»»» add_onsbody[object]falsenone
»»»» idbodyAddOn/properties/idtrueID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»» offersbody[object]falsenone
»»»» idbodyOffer/properties/idtruenone

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/init

POST /init

Initialize an order by providing billing and/or shipping details

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» orderbodyobjecttruenone
»»» providerbodyobjecttruenone
»»»» idbodyProvider/properties/idtrueId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» locationsbody[object]truenone
»»»»» idbodyLocation/properties/idtruenone
»»» itemsbody[object]truenone
»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)trueThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»» quantitybodyItemQuantity/properties/selectedtruenone
»»»»» countbodyintegerfalsenone
»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» typebodystringfalsenone
»»»»»» valuebodynumbertruenone
»»»»»» estimated_valuebodynumberfalsenone
»»»»»» computed_valuebodynumberfalsenone
»»»»»» rangebodyobjectfalsenone
»»»»»»» minbodynumberfalsenone
»»»»»»» maxbodynumberfalsenone
»»»»»» unitbodystringtruenone
»»» add_onsbody[object]truenone
»»»» idbodyAddOn/properties/idtrueID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»» offersbody[object]truenone
»»»» idbodyOffer/properties/idtruenone
»»» billingbodyBillingtrueDescribes a billing event
»»»» namebodystringtruePersonal details of the customer needed for billing.
»»»» organizationbodyOrganizationfalseDescribes an organization
»»»»» namebodystringfalsenone
»»»»» credbodystringfalsenone
»»»» addressbodyAddressfalseDescribes an address
»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»» buildingbodystringfalseName of the building or block
»»»»» streetbodystringfalseStreet name or number
»»»»» localitybodystringfalseName of the locality, apartments
»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»» citybodystringfalseCity name
»»»»» statebodystringfalseState name
»»»»» countrybodystringfalseCountry name
»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»» emailbodystring(email)falsenone
»»»» phonebodystringtruenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» tax_numberbodystringfalsenone
»»»» created_atbodystring(date-time)falsenone
»»»» updated_atbodystring(date-time)falsenone
»»» fulfillmentbodyFulfillmenttrueDescribes how a single product/service will be rendered/fulfilled to the end customer
»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»» typebodystringfalseThis describes the type of fulfillment
»»»» statebodyStatefalseDescribes a state
»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» namebodystringfalsenone
»»»»»» codebodystringfalsenone
»»»»»» symbolbodystringfalsenone
»»»»»» short_descbodystringfalsenone
»»»»»» long_descbodystringfalsenone
»»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»»» audiobodystring(uri)falsenone
»»»»»» 3d_renderbodystring(uri)falsenone
»»»»» updated_atbodystring(date-time)falsenone
»»»»» updated_bybodystringfalseID of entity which changed the state
»»»» trackingbodybooleanfalseIndicates whether the fulfillment allows tracking
»»»» agentbodyanyfalseThe person who fulfills the order
»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»» namebodyNamefalseDescribes the name of a person
»»»»»»» fullbodystringfalseFormat: ./{honorific prefix}/{given_name}/{family_name}/{additional_name}/{call_sign}/{honorific_suffix}
»»»»»»» additional_namebodystringfalseAn additional name for a Person, can be used for a middle name.
»»»»»»» family_namebodystringfalseFamily name. In India, it is the last name of an Person. This can be used along with givenName instead of the name property.
»»»»»»» given_namebodystringfalseGiven name. In India, it is the first name of a Person. This can be used along with familyName instead of the name property.
»»»»»»» call_signbodystringfalseA callsign, as used in broadcasting and radio communications to identify people
»»»»»»» honorific_prefixbodystringfalseAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
»»»»»»» honorific_suffixbodystringfalseAn honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
»»»»»» imagebodyImagefalseImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4
»»»»»» dobbodystring(date)falsenone
»»»»»» genderbodystringfalseGender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender
»»»»»» credbodystringfalsenone
»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»»»» additionalPropertiesbodystringfalsenone
»»»»» anonymousbodyContactfalsenone
»»»»»» phonebodystringfalsenone
»»»»»» emailbodystringfalsenone
»»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»» vehiclebodyVehiclefalseDescribes the properties of a vehicle used in a mobility service
»»»»» categorybodystringfalsenone
»»»»» capacitybodyintegerfalsenone
»»»»» makebodystringfalsenone
»»»»» modelbodystringfalsenone
»»»»» sizebodystringfalsenone
»»»»» variantbodystringfalsenone
»»»»» colorbodystringfalsenone
»»»»» energy_typebodystringfalsenone
»»»»» registrationbodystringfalsenone
»»»» startbodyobjectfalseDetails on the start of fulfillment
»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» idbodyLocation/properties/idfalsenone
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»» addressbodyAddressfalseDescribes an address
»»»»»» station_codebodystringfalsenone
»»»»»» citybodyCityfalseDescribes a city
»»»»»»» namebodystringfalseName of the city
»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»» namebodystringfalseName of the country
»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» polygonbodystringfalsenone
»»»»»» 3dspacebodystringfalsenone
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» contactbodyContactfalsenone
»»»» endbodyobjectfalseDetails on the end of fulfillment
»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» contactbodyContactfalsenone
»»»» purposebodystringfalsenone
»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/confirm

POST /confirm

Initialize an order by providing billing and/or shipping details

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» orderbodyOrdertrueDescribes the details of an order
»»» idbodyOrder/properties/idfalseHash of order object without id
»»» statebodystringfalsenone
»»» providerbodyobjecttruenone
»»»» idbodyProvider/properties/idtrueId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» locationsbody[object]truenone
»»»»» idbodyLocation/properties/idtruenone
»»» itemsbody[object]truenone
»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)trueThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»» quantitybodyItemQuantity/properties/selectedtruenone
»»»»» countbodyintegerfalsenone
»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» typebodystringfalsenone
»»»»»» valuebodynumbertruenone
»»»»»» estimated_valuebodynumberfalsenone
»»»»»» computed_valuebodynumberfalsenone
»»»»»» rangebodyobjectfalsenone
»»»»»»» minbodynumberfalsenone
»»»»»»» maxbodynumberfalsenone
»»»»»» unitbodystringtruenone
»»» add_onsbody[object]truenone
»»»» idbodyAddOn/properties/idtrueID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»» offersbody[object]truenone
»»»» idbodyOffer/properties/idtruenone
»»» billingbodyBillingtrueDescribes a billing event
»»»» namebodystringtruePersonal details of the customer needed for billing.
»»»» organizationbodyOrganizationfalseDescribes an organization
»»»»» namebodystringfalsenone
»»»»» credbodystringfalsenone
»»»» addressbodyAddressfalseDescribes an address
»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»» buildingbodystringfalseName of the building or block
»»»»» streetbodystringfalseStreet name or number
»»»»» localitybodystringfalseName of the locality, apartments
»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»» citybodystringfalseCity name
»»»»» statebodystringfalseState name
»»»»» countrybodystringfalseCountry name
»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»» emailbodystring(email)falsenone
»»»» phonebodystringtruenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» tax_numberbodystringfalsenone
»»»» created_atbodystring(date-time)falsenone
»»»» updated_atbodystring(date-time)falsenone
»»» fulfillmentbodyanytruenone
»»»» anonymousbodyFulfillmentfalseDescribes how a single product/service will be rendered/fulfilled to the end customer
»»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»»» typebodystringfalseThis describes the type of fulfillment
»»»»» statebodyStatefalseDescribes a state
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» namebodystringfalsenone
»»»»»»» codebodystringfalsenone
»»»»»»» symbolbodystringfalsenone
»»»»»»» short_descbodystringfalsenone
»»»»»»» long_descbodystringfalsenone
»»»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»»»» audiobodystring(uri)falsenone
»»»»»»» 3d_renderbodystring(uri)falsenone
»»»»»» updated_atbodystring(date-time)falsenone
»»»»»» updated_bybodystringfalseID of entity which changed the state
»»»»» trackingbodybooleanfalseIndicates whether the fulfillment allows tracking
»»»»» agentbodyanyfalseThe person who fulfills the order
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»»» namebodyNamefalseDescribes the name of a person
»»»»»»»» fullbodystringfalseFormat: ./{honorific prefix}/{given_name}/{family_name}/{additional_name}/{call_sign}/{honorific_suffix}
»»»»»»»» additional_namebodystringfalseAn additional name for a Person, can be used for a middle name.
»»»»»»»» family_namebodystringfalseFamily name. In India, it is the last name of an Person. This can be used along with givenName instead of the name property.
»»»»»»»» given_namebodystringfalseGiven name. In India, it is the first name of a Person. This can be used along with familyName instead of the name property.
»»»»»»»» call_signbodystringfalseA callsign, as used in broadcasting and radio communications to identify people
»»»»»»»» honorific_prefixbodystringfalseAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
»»»»»»»» honorific_suffixbodystringfalseAn honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
»»»»»»» imagebodyImagefalseImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4
»»»»»»» dobbodystring(date)falsenone
»»»»»»» genderbodystringfalseGender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender
»»»»»»» credbodystringfalsenone
»»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»»»»» additionalPropertiesbodystringfalsenone
»»»»»» anonymousbodyContactfalsenone
»»»»»»» phonebodystringfalsenone
»»»»»»» emailbodystringfalsenone
»»»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»»» vehiclebodyVehiclefalseDescribes the properties of a vehicle used in a mobility service
»»»»»» categorybodystringfalsenone
»»»»»» capacitybodyintegerfalsenone
»»»»»» makebodystringfalsenone
»»»»»» modelbodystringfalsenone
»»»»»» sizebodystringfalsenone
»»»»»» variantbodystringfalsenone
»»»»»» colorbodystringfalsenone
»»»»»» energy_typebodystringfalsenone
»»»»»» registrationbodystringfalsenone
»»»»» startbodyobjectfalseDetails on the start of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»»» idbodyLocation/properties/idfalsenone
»»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» addressbodyAddressfalseDescribes an address
»»»»»»» station_codebodystringfalsenone
»»»»»»» citybodyCityfalseDescribes a city
»»»»»»»» namebodystringfalseName of the city
»»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»»» namebodystringfalseName of the country
»»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»»» polygonbodystringfalsenone
»»»»»»» 3dspacebodystringfalsenone
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» endbodyobjectfalseDetails on the end of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» purposebodystringfalsenone
»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»» anonymousbodyobjectfalsenone
»»»»» customerbodyanytruenone
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»» anonymousbodyContactfalsenone
»»»»»» anonymousbodyobjectfalsenone
»»» quotebodyQuotationtrueDescribes a quote
»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»»» anonymousbodyMonetaryValuefalseDescribes a monetary value used for exchange
»»»»»» currencybodystringfalsenone
»»»»»» valuebodyDecimalValuefalseDescribes a decimal value
»»»»» anonymousbodyobjectfalsenone
»»»»»» estimated_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» computed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» listed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» offered_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» minimum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» maximum_valuebodyDecimalValuefalseDescribes a decimal value
»»»» breakupbody[object]falsenone
»»»»» typebodystringfalsenone
»»»»» ref_idbodystringfalsenone
»»»»» titlebodystringfalsenone
»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
»»» paymentbodyPaymenttrueDescribes a payment
»»»» uribodystring(uri)falseA payment uri to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, $transaction_id and $amount are mandatory. And example url would be : https://www.example.com/pay?txid=$transaction_id&amount=$amount&vpa=upiid&payee=shopez&billno=1234
»»»» tl_methodbodystringfalsenone
»»»» paramsbodyobjectfalsenone
»»»»» additionalPropertiesbodystringfalsenone
»»»»» transaction_idbodystringfalseThis value will be placed in the the $transaction_id url param in case of http/get and in the requestBody http/post requests
»»»»» amountbodyDecimalValuefalseDescribes a decimal value
»»»» typebodystringfalsenone
»»»» statusbodystringfalsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» created_atbodystring(date-time)falsenone
»»» updated_atbodystring(date-time)falsenone

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/status

POST /status

Fetch the latest order object

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» order_idbodyOrder/properties/idtrueHash of order object without id

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/track

POST /track

Track an active order

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» order_idbodyOrder/properties/idtrueHash of order object without id
»» callback_urlbodystring(uri)falsenone

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/cancel

POST /cancel

Cancel an order

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» order_idbodyOrder/properties/idtrueHash of order object without id
»» cancellation_reason_idbodyOption/properties/idtruenone
»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»» namebodystringfalsenone
»»» codebodystringfalsenone
»»» symbolbodystringfalsenone
»»» short_descbodystringfalsenone
»»» long_descbodystringfalsenone
»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»» audiobodystring(uri)falsenone
»»» 3d_renderbodystring(uri)falsenone

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/update

POST /update

Remove object

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» update_targetbodystringtrueComma separated values of order objects being updated. For example: "update_target":"item,billing,fulfillment"
»» orderbodyOrdertrueDescribes the details of an order
»»» idbodyOrder/properties/idfalseHash of order object without id
»»» statebodystringfalsenone
»»» providerbodyobjecttruenone
»»»» idbodyProvider/properties/idtrueId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» locationsbody[object]truenone
»»»»» idbodyLocation/properties/idtruenone
»»» itemsbody[object]truenone
»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)trueThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»» quantitybodyItemQuantity/properties/selectedtruenone
»»»»» countbodyintegerfalsenone
»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» typebodystringfalsenone
»»»»»» valuebodynumbertruenone
»»»»»» estimated_valuebodynumberfalsenone
»»»»»» computed_valuebodynumberfalsenone
»»»»»» rangebodyobjectfalsenone
»»»»»»» minbodynumberfalsenone
»»»»»»» maxbodynumberfalsenone
»»»»»» unitbodystringtruenone
»»» add_onsbody[object]truenone
»»»» idbodyAddOn/properties/idtrueID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»» offersbody[object]truenone
»»»» idbodyOffer/properties/idtruenone
»»» billingbodyBillingtrueDescribes a billing event
»»»» namebodystringtruePersonal details of the customer needed for billing.
»»»» organizationbodyOrganizationfalseDescribes an organization
»»»»» namebodystringfalsenone
»»»»» credbodystringfalsenone
»»»» addressbodyAddressfalseDescribes an address
»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»» buildingbodystringfalseName of the building or block
»»»»» streetbodystringfalseStreet name or number
»»»»» localitybodystringfalseName of the locality, apartments
»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»» citybodystringfalseCity name
»»»»» statebodystringfalseState name
»»»»» countrybodystringfalseCountry name
»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»» emailbodystring(email)falsenone
»»»» phonebodystringtruenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» tax_numberbodystringfalsenone
»»»» created_atbodystring(date-time)falsenone
»»»» updated_atbodystring(date-time)falsenone
»»» fulfillmentbodyanytruenone
»»»» anonymousbodyFulfillmentfalseDescribes how a single product/service will be rendered/fulfilled to the end customer
»»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»»» typebodystringfalseThis describes the type of fulfillment
»»»»» statebodyStatefalseDescribes a state
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» namebodystringfalsenone
»»»»»»» codebodystringfalsenone
»»»»»»» symbolbodystringfalsenone
»»»»»»» short_descbodystringfalsenone
»»»»»»» long_descbodystringfalsenone
»»»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»»»» audiobodystring(uri)falsenone
»»»»»»» 3d_renderbodystring(uri)falsenone
»»»»»» updated_atbodystring(date-time)falsenone
»»»»»» updated_bybodystringfalseID of entity which changed the state
»»»»» trackingbodybooleanfalseIndicates whether the fulfillment allows tracking
»»»»» agentbodyanyfalseThe person who fulfills the order
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»»» namebodyNamefalseDescribes the name of a person
»»»»»»»» fullbodystringfalseFormat: ./{honorific prefix}/{given_name}/{family_name}/{additional_name}/{call_sign}/{honorific_suffix}
»»»»»»»» additional_namebodystringfalseAn additional name for a Person, can be used for a middle name.
»»»»»»»» family_namebodystringfalseFamily name. In India, it is the last name of an Person. This can be used along with givenName instead of the name property.
»»»»»»»» given_namebodystringfalseGiven name. In India, it is the first name of a Person. This can be used along with familyName instead of the name property.
»»»»»»»» call_signbodystringfalseA callsign, as used in broadcasting and radio communications to identify people
»»»»»»»» honorific_prefixbodystringfalseAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
»»»»»»»» honorific_suffixbodystringfalseAn honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
»»»»»»» imagebodyImagefalseImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4
»»»»»»» dobbodystring(date)falsenone
»»»»»»» genderbodystringfalseGender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender
»»»»»»» credbodystringfalsenone
»»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»»»»» additionalPropertiesbodystringfalsenone
»»»»»» anonymousbodyContactfalsenone
»»»»»»» phonebodystringfalsenone
»»»»»»» emailbodystringfalsenone
»»»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»»» vehiclebodyVehiclefalseDescribes the properties of a vehicle used in a mobility service
»»»»»» categorybodystringfalsenone
»»»»»» capacitybodyintegerfalsenone
»»»»»» makebodystringfalsenone
»»»»»» modelbodystringfalsenone
»»»»»» sizebodystringfalsenone
»»»»»» variantbodystringfalsenone
»»»»»» colorbodystringfalsenone
»»»»»» energy_typebodystringfalsenone
»»»»»» registrationbodystringfalsenone
»»»»» startbodyobjectfalseDetails on the start of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»»» idbodyLocation/properties/idfalsenone
»»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» addressbodyAddressfalseDescribes an address
»»»»»»» station_codebodystringfalsenone
»»»»»»» citybodyCityfalseDescribes a city
»»»»»»»» namebodystringfalseName of the city
»»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»»» namebodystringfalseName of the country
»»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»»» polygonbodystringfalsenone
»»»»»»» 3dspacebodystringfalsenone
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» endbodyobjectfalseDetails on the end of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» purposebodystringfalsenone
»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»» anonymousbodyobjectfalsenone
»»»»» customerbodyanytruenone
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»» anonymousbodyContactfalsenone
»»»»»» anonymousbodyobjectfalsenone
»»» quotebodyQuotationtrueDescribes a quote
»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»»» anonymousbodyMonetaryValuefalseDescribes a monetary value used for exchange
»»»»»» currencybodystringfalsenone
»»»»»» valuebodyDecimalValuefalseDescribes a decimal value
»»»»» anonymousbodyobjectfalsenone
»»»»»» estimated_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» computed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» listed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» offered_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» minimum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» maximum_valuebodyDecimalValuefalseDescribes a decimal value
»»»» breakupbody[object]falsenone
»»»»» typebodystringfalsenone
»»»»» ref_idbodystringfalsenone
»»»»» titlebodystringfalsenone
»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
»»» paymentbodyPaymenttrueDescribes a payment
»»»» uribodystring(uri)falseA payment uri to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, $transaction_id and $amount are mandatory. And example url would be : https://www.example.com/pay?txid=$transaction_id&amount=$amount&vpa=upiid&payee=shopez&billno=1234
»»»» tl_methodbodystringfalsenone
»»»» paramsbodyobjectfalsenone
»»»»» additionalPropertiesbodystringfalsenone
»»»»» transaction_idbodystringfalseThis value will be placed in the the $transaction_id url param in case of http/get and in the requestBody http/post requests
»»»»» amountbodyDecimalValuefalseDescribes a decimal value
»»»» typebodystringfalsenone
»»»» statusbodystringfalsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» created_atbodystring(date-time)falsenone
»»» updated_atbodystring(date-time)falsenone

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/rating

POST /rating

Provide feedback on a service

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» idbodystringtrueID of the item to be rated
»» valuebodyintegertruenone

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/support

POST /support

Contact support

Parameters

NameInTypeRequiredDescription
SignatureheaderstringtrueThis contains the digital signature of the request body signed using the signing private key of the Subscriber
bodybodyobjectfalseTODO
» contextbodyContexttrueDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjecttruenone
»» ref_idbodystringfalseID of the element for which support is needed

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

Beckn App Platform (BAP)

POST /on_search

Send catalog

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» catalogbodyCatalogfalseDescribes a BPP catalog
»»» bppbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»» namebodystringfalsenone
»»»» codebodystringfalsenone
»»»» symbolbodystringfalsenone
»»»» short_descbodystringfalsenone
»»»» long_descbodystringfalsenone
»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»» audiobodystring(uri)falsenone
»»»» 3d_renderbodystring(uri)falsenone
»»» bppbody[Category]false[Describes a category]
»»»» idbodyCategory/properties/idfalseUnique id of the category
»»»» parent_category_idbodyCategory/properties/idfalseUnique id of the category
»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»» additionalPropertiesbodystringfalsenone
»»» bppbody[Fulfillment]false[Describes how a single product/service will be rendered/fulfilled to the end customer]
»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»» typebodystringfalseThis describes the type of fulfillment
»»»» statebodyStatefalseDescribes a state
»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» updated_atbodystring(date-time)falsenone
»»»»» updated_bybodystringfalseID of entity which changed the state
»»»» trackingbodybooleanfalseIndicates whether the fulfillment allows tracking
»»»» agentbodyanyfalseThe person who fulfills the order
»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»» namebodyNamefalseDescribes the name of a person
»»»»»»» fullbodystringfalseFormat: ./{honorific prefix}/{given_name}/{family_name}/{additional_name}/{call_sign}/{honorific_suffix}
»»»»»»» additional_namebodystringfalseAn additional name for a Person, can be used for a middle name.
»»»»»»» family_namebodystringfalseFamily name. In India, it is the last name of an Person. This can be used along with givenName instead of the name property.
»»»»»»» given_namebodystringfalseGiven name. In India, it is the first name of a Person. This can be used along with familyName instead of the name property.
»»»»»»» call_signbodystringfalseA callsign, as used in broadcasting and radio communications to identify people
»»»»»»» honorific_prefixbodystringfalseAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
»»»»»»» honorific_suffixbodystringfalseAn honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
»»»»»» imagebodyImagefalseImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4
»»»»»» dobbodystring(date)falsenone
»»»»»» genderbodystringfalseGender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender
»»»»»» credbodystringfalsenone
»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»» anonymousbodyContactfalsenone
»»»»»» phonebodystringfalsenone
»»»»»» emailbodystringfalsenone
»»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»» vehiclebodyVehiclefalseDescribes the properties of a vehicle used in a mobility service
»»»»» categorybodystringfalsenone
»»»»» capacitybodyintegerfalsenone
»»»»» makebodystringfalsenone
»»»»» modelbodystringfalsenone
»»»»» sizebodystringfalsenone
»»»»» variantbodystringfalsenone
»»»»» colorbodystringfalsenone
»»»»» energy_typebodystringfalsenone
»»»»» registrationbodystringfalsenone
»»»» startbodyobjectfalseDetails on the start of fulfillment
»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» idbodyLocation/properties/idfalsenone
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»» addressbodyAddressfalseDescribes an address
»»»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»»»» buildingbodystringfalseName of the building or block
»»»»»»» streetbodystringfalseStreet name or number
»»»»»»» localitybodystringfalseName of the locality, apartments
»»»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»»»» citybodystringfalseCity name
»»»»»»» statebodystringfalseState name
»»»»»»» countrybodystringfalseCountry name
»»»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»»»» station_codebodystringfalsenone
»»»»»» citybodyCityfalseDescribes a city
»»»»»»» namebodystringfalseName of the city
»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»» namebodystringfalseName of the country
»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»»»»» typebodystringfalsenone
»»»»»»»»» valuebodynumbertruenone
»»»»»»»»» estimated_valuebodynumberfalsenone
»»»»»»»»» computed_valuebodynumberfalsenone
»»»»»»»»» rangebodyobjectfalsenone
»»»»»»»»»» minbodynumberfalsenone
»»»»»»»»»» maxbodynumberfalsenone
»»»»»»»»» unitbodystringtruenone
»»»»»» polygonbodystringfalsenone
»»»»»» 3dspacebodystringfalsenone
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» contactbodyContactfalsenone
»»»» endbodyobjectfalseDetails on the end of fulfillment
»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» contactbodyContactfalsenone
»»»» purposebodystringfalsenone
»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»» bppbody[Payment]false[Describes a payment]
»»»» uribodystring(uri)falseA payment uri to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, $transaction_id and $amount are mandatory. And example url would be : https://www.example.com/pay?txid=$transaction_id&amount=$amount&vpa=upiid&payee=shopez&billno=1234
»»»» tl_methodbodystringfalsenone
»»»» paramsbodyobjectfalsenone
»»»»» additionalPropertiesbodystringfalsenone
»»»»» transaction_idbodystringfalseThis value will be placed in the the $transaction_id url param in case of http/get and in the requestBody http/post requests
»»»»» amountbodyDecimalValuefalseDescribes a decimal value
»»»» typebodystringfalsenone
»»»» statusbodystringfalsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» bppbody[Offer]false[Describes an offer]
»»»» idbodyOffer/properties/idfalsenone
»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»» location_idsbody[Location/properties/id]falsenone
»»»» category_idsbody[Category/properties/id]false[Unique id of the category]
»»»» item_idsbody[Item/properties/id]false[This is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.]
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» bppbody[allOf]falsenone
»»»» anonymousbodyProviderfalseDescribes a service provider. This can be a restaurant, a hospital, a Store etc
»»»»» idbodyProvider/properties/idfalseId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» locationsbody[Location]false[Describes the location of a runtime object. Extension not allowed]
»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»» anonymousbodyProviderCatalogfalseDescribes a provider catalog
»»»»» categoriesbody[Category]false[Describes a category]
»»»»» fulfillmentsbody[Fulfillment]false[Describes how a single product/service will be rendered/fulfilled to the end customer]
»»»»» paymentsbody[Payment]false[Describes a payment]
»»»»» locationsbody[allOf]falsenone
»»»»»» anonymousbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» anonymousbodyobjectfalsenone
»»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» offersbody[Offer]false[Describes an offer]
»»»»» itemsbody[Item]false[Describes an item. Allows for domain extension.]
»»»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)falseThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»»»» parent_item_idbodyItem/properties/id(#/components/schemas/Item/properties/id)falseThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»»»»» anonymousbodyMonetaryValuefalseDescribes a monetary value used for exchange
»»»»»»»» currencybodystringfalsenone
»»»»»»»» valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»» estimated_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»»» computed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»»» listed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»»» offered_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»»» minimum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»»» maximum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» category_idbodyCategory/properties/idfalseUnique id of the category
»»»»»» location_idbodyLocation/properties/idfalsenone
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» matchedbodybooleanfalsenone
»»»»»» relatedbodybooleanfalsenone
»»»»»» recommendedbodybooleanfalsenone
»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»» expbodystring(date-time)falseTime after which catalog has to be refreshed
»»» expbodystring(date-time)falseTime after which catalog has to be refreshed
» errorbodyErrorfalseDescribes an error object
»» typebodystringtruenone
»» codebodystringtrueBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathbodystringfalsePath to json schema generating the error. Used only during json schema validation errors
»» messagebodystringfalseHuman readable message descirbing the error

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/on_select

POST /on_select

Send draft order object with quoted price for selected items

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» selectedbodyobjectfalsenone
»»» providerbodyProviderfalseDescribes a service provider. This can be a restaurant, a hospital, a Store etc
»»»» idbodyProvider/properties/idfalseId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» namebodystringfalsenone
»»»»» codebodystringfalsenone
»»»»» symbolbodystringfalsenone
»»»»» short_descbodystringfalsenone
»»»»» long_descbodystringfalsenone
»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»» audiobodystring(uri)falsenone
»»»»» 3d_renderbodystring(uri)falsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» locationsbody[Location]false[Describes the location of a runtime object. Extension not allowed]
»»»»» idbodyLocation/properties/idfalsenone
»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»» addressbodyAddressfalseDescribes an address
»»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»»» buildingbodystringfalseName of the building or block
»»»»»» streetbodystringfalseStreet name or number
»»»»»» localitybodystringfalseName of the locality, apartments
»»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»»» citybodystringfalseCity name
»»»»»» statebodystringfalseState name
»»»»»» countrybodystringfalseCountry name
»»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»»» station_codebodystringfalsenone
»»»»» citybodyCityfalseDescribes a city
»»»»»» namebodystringfalseName of the city
»»»»»» codebodyCity/properties/codefalseCity code
»»»»» countrybodyCountryfalseDescribes a country.
»»»»»» namebodystringfalseName of the country
»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»» anonymousbodyobjectfalsenone
»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»»»» typebodystringfalsenone
»»»»»»»» valuebodynumbertruenone
»»»»»»»» estimated_valuebodynumberfalsenone
»»»»»»»» computed_valuebodynumberfalsenone
»»»»»»»» rangebodyobjectfalsenone
»»»»»»»»» minbodynumberfalsenone
»»»»»»»»» maxbodynumberfalsenone
»»»»»»»» unitbodystringtruenone
»»»»» polygonbodystringfalsenone
»»»»» 3dspacebodystringfalsenone
»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»» additionalPropertiesbodystringfalsenone
»»» provider_locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»» itemsbody[allOf]falsenone
»»»» anonymousbodyItemfalseDescribes an item. Allows for domain extension.
»»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)falseThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»»» parent_item_idbodyItem/properties/id(#/components/schemas/Item/properties/id)falseThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»»»» anonymousbodyMonetaryValuefalseDescribes a monetary value used for exchange
»»»»»»» currencybodystringfalsenone
»»»»»»» valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» anonymousbodyobjectfalsenone
»»»»»»» estimated_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»» computed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»» listed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»» offered_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»» minimum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»»» maximum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»» category_idbodyCategory/properties/idfalseUnique id of the category
»»»»» location_idbodyLocation/properties/idfalsenone
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» matchedbodybooleanfalsenone
»»»»» relatedbodybooleanfalsenone
»»»»» recommendedbodybooleanfalsenone
»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»» anonymousbodyobjectfalsenone
»»»»» quantitybodyItemQuantityfalseDescribes count or amount of an item
»»»»»» allocatedbodyobjectfalsenone
»»»»»»» countbodyintegerfalsenone
»»»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» availablebodyobjectfalsenone
»»»»»»» countbodyintegerfalsenone
»»»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» maximumbodyobjectfalsenone
»»»»»»» countbodyintegerfalsenone
»»»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» minimumbodyobjectfalsenone
»»»»»»» countbodyintegerfalsenone
»»»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» selectedbodyItemQuantity/properties/selectedfalsenone
»»»»»»» countbodyintegerfalsenone
»»»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»» add_onsbody[AddOn]false[Describes an add-on]
»»»» idbodyAddOn/properties/idfalseID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»» offersbody[Offer]false[Describes an offer]
»»»» idbodyOffer/properties/idfalsenone
»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»» location_idsbody[Location/properties/id]falsenone
»»»» category_idsbody[Category/properties/id]false[Unique id of the category]
»»»» item_idsbody[Item/properties/id]false[This is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.]
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» quotebodyQuotationfalseDescribes a quote
»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»» breakupbody[object]falsenone
»»»»» typebodystringfalsenone
»»»»» ref_idbodystringfalsenone
»»»»» titlebodystringfalsenone
»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» errorbodyErrorfalseDescribes an error object
»» typebodystringtruenone
»» codebodystringtrueBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathbodystringfalsePath to json schema generating the error. Used only during json schema validation errors
»» messagebodystringfalseHuman readable message descirbing the error

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/on_init

POST /on_init

Send order object with payment details updated

Parameters

NameInTypeRequiredDescription
Proxy-Authorizationheaderstringfalsenone
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» initializedbodyobjectfalsenone
»»» providerbodyobjectfalsenone
»»»» idbodyProvider/properties/idfalseId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»» provider_locationbodyobjectfalsenone
»»»» idbodyLocation/properties/idfalsenone
»»» itemsbody[object]falsenone
»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)falseThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»» quantitybodyItemQuantity/properties/selectedfalsenone
»»»»» countbodyintegerfalsenone
»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» typebodystringfalsenone
»»»»»» valuebodynumbertruenone
»»»»»» estimated_valuebodynumberfalsenone
»»»»»» computed_valuebodynumberfalsenone
»»»»»» rangebodyobjectfalsenone
»»»»»»» minbodynumberfalsenone
»»»»»»» maxbodynumberfalsenone
»»»»»» unitbodystringtruenone
»»» add_onsbody[object]falsenone
»»»» idbodyAddOn/properties/idfalseID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»» offersbody[object]falsenone
»»»» idbodyOffer/properties/idfalsenone
»»» billingbodyBillingfalseDescribes a billing event
»»»» namebodystringtruePersonal details of the customer needed for billing.
»»»» organizationbodyOrganizationfalseDescribes an organization
»»»»» namebodystringfalsenone
»»»»» credbodystringfalsenone
»»»» addressbodyAddressfalseDescribes an address
»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»» buildingbodystringfalseName of the building or block
»»»»» streetbodystringfalseStreet name or number
»»»»» localitybodystringfalseName of the locality, apartments
»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»» citybodystringfalseCity name
»»»»» statebodystringfalseState name
»»»»» countrybodystringfalseCountry name
»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»» emailbodystring(email)falsenone
»»»» phonebodystringtruenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» tax_numberbodystringfalsenone
»»»» created_atbodystring(date-time)falsenone
»»»» updated_atbodystring(date-time)falsenone
»»» fulfillmentbodyFulfillmentfalseDescribes how a single product/service will be rendered/fulfilled to the end customer
»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»» typebodystringfalseThis describes the type of fulfillment
»»»» statebodyStatefalseDescribes a state
»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» namebodystringfalsenone
»»»»»» codebodystringfalsenone
»»»»»» symbolbodystringfalsenone
»»»»»» short_descbodystringfalsenone
»»»»»» long_descbodystringfalsenone
»»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»»» audiobodystring(uri)falsenone
»»»»»» 3d_renderbodystring(uri)falsenone
»»»»» updated_atbodystring(date-time)falsenone
»»»»» updated_bybodystringfalseID of entity which changed the state
»»»» trackingbodybooleanfalseIndicates whether the fulfillment allows tracking
»»»» agentbodyanyfalseThe person who fulfills the order
»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»» namebodyNamefalseDescribes the name of a person
»»»»»»» fullbodystringfalseFormat: ./{honorific prefix}/{given_name}/{family_name}/{additional_name}/{call_sign}/{honorific_suffix}
»»»»»»» additional_namebodystringfalseAn additional name for a Person, can be used for a middle name.
»»»»»»» family_namebodystringfalseFamily name. In India, it is the last name of an Person. This can be used along with givenName instead of the name property.
»»»»»»» given_namebodystringfalseGiven name. In India, it is the first name of a Person. This can be used along with familyName instead of the name property.
»»»»»»» call_signbodystringfalseA callsign, as used in broadcasting and radio communications to identify people
»»»»»»» honorific_prefixbodystringfalseAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
»»»»»»» honorific_suffixbodystringfalseAn honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
»»»»»» imagebodyImagefalseImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4
»»»»»» dobbodystring(date)falsenone
»»»»»» genderbodystringfalseGender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender
»»»»»» credbodystringfalsenone
»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»»»» additionalPropertiesbodystringfalsenone
»»»»» anonymousbodyContactfalsenone
»»»»»» phonebodystringfalsenone
»»»»»» emailbodystringfalsenone
»»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»» vehiclebodyVehiclefalseDescribes the properties of a vehicle used in a mobility service
»»»»» categorybodystringfalsenone
»»»»» capacitybodyintegerfalsenone
»»»»» makebodystringfalsenone
»»»»» modelbodystringfalsenone
»»»»» sizebodystringfalsenone
»»»»» variantbodystringfalsenone
»»»»» colorbodystringfalsenone
»»»»» energy_typebodystringfalsenone
»»»»» registrationbodystringfalsenone
»»»» startbodyobjectfalseDetails on the start of fulfillment
»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» idbodyLocation/properties/idfalsenone
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»» addressbodyAddressfalseDescribes an address
»»»»»» station_codebodystringfalsenone
»»»»»» citybodyCityfalseDescribes a city
»»»»»»» namebodystringfalseName of the city
»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»» namebodystringfalseName of the country
»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» polygonbodystringfalsenone
»»»»»» 3dspacebodystringfalsenone
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» contactbodyContactfalsenone
»»»» endbodyobjectfalseDetails on the end of fulfillment
»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»» contactbodyContactfalsenone
»»»» purposebodystringfalsenone
»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»» quotebodyQuotationfalseDescribes a quote
»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»»» anonymousbodyMonetaryValuefalseDescribes a monetary value used for exchange
»»»»»» currencybodystringfalsenone
»»»»»» valuebodyDecimalValuefalseDescribes a decimal value
»»»»» anonymousbodyobjectfalsenone
»»»»»» estimated_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» computed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» listed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» offered_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» minimum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» maximum_valuebodyDecimalValuefalseDescribes a decimal value
»»»» breakupbody[object]falsenone
»»»»» typebodystringfalsenone
»»»»» ref_idbodystringfalsenone
»»»»» titlebodystringfalsenone
»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
»»» paymentbodyPaymentfalseDescribes a payment
»»»» uribodystring(uri)falseA payment uri to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, $transaction_id and $amount are mandatory. And example url would be : https://www.example.com/pay?txid=$transaction_id&amount=$amount&vpa=upiid&payee=shopez&billno=1234
»»»» tl_methodbodystringfalsenone
»»»» paramsbodyobjectfalsenone
»»»»» additionalPropertiesbodystringfalsenone
»»»»» transaction_idbodystringfalseThis value will be placed in the the $transaction_id url param in case of http/get and in the requestBody http/post requests
»»»»» amountbodyDecimalValuefalseDescribes a decimal value
»»»» typebodystringfalsenone
»»»» statusbodystringfalsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
» errorbodyErrorfalseDescribes an error object
»» typebodystringtruenone
»» codebodystringtrueBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathbodystringfalsePath to json schema generating the error. Used only during json schema validation errors
»» messagebodystringfalseHuman readable message descirbing the error

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/on_confirm

POST /on_confirm

Send active order object

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» orderbodyOrderfalseDescribes the details of an order
»»» idbodyOrder/properties/idfalseHash of order object without id
»»» statebodystringfalsenone
»»» providerbodyobjecttruenone
»»»» idbodyProvider/properties/idtrueId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» locationsbody[object]truenone
»»»»» idbodyLocation/properties/idtruenone
»»» itemsbody[object]truenone
»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)trueThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»» quantitybodyItemQuantity/properties/selectedtruenone
»»»»» countbodyintegerfalsenone
»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» typebodystringfalsenone
»»»»»» valuebodynumbertruenone
»»»»»» estimated_valuebodynumberfalsenone
»»»»»» computed_valuebodynumberfalsenone
»»»»»» rangebodyobjectfalsenone
»»»»»»» minbodynumberfalsenone
»»»»»»» maxbodynumberfalsenone
»»»»»» unitbodystringtruenone
»»» add_onsbody[object]truenone
»»»» idbodyAddOn/properties/idtrueID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»» offersbody[object]truenone
»»»» idbodyOffer/properties/idtruenone
»»» billingbodyBillingtrueDescribes a billing event
»»»» namebodystringtruePersonal details of the customer needed for billing.
»»»» organizationbodyOrganizationfalseDescribes an organization
»»»»» namebodystringfalsenone
»»»»» credbodystringfalsenone
»»»» addressbodyAddressfalseDescribes an address
»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»» buildingbodystringfalseName of the building or block
»»»»» streetbodystringfalseStreet name or number
»»»»» localitybodystringfalseName of the locality, apartments
»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»» citybodystringfalseCity name
»»»»» statebodystringfalseState name
»»»»» countrybodystringfalseCountry name
»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»» emailbodystring(email)falsenone
»»»» phonebodystringtruenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» tax_numberbodystringfalsenone
»»»» created_atbodystring(date-time)falsenone
»»»» updated_atbodystring(date-time)falsenone
»»» fulfillmentbodyanytruenone
»»»» anonymousbodyFulfillmentfalseDescribes how a single product/service will be rendered/fulfilled to the end customer
»»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»»» typebodystringfalseThis describes the type of fulfillment
»»»»» statebodyStatefalseDescribes a state
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» namebodystringfalsenone
»»»»»»» codebodystringfalsenone
»»»»»»» symbolbodystringfalsenone
»»»»»»» short_descbodystringfalsenone
»»»»»»» long_descbodystringfalsenone
»»»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»»»» audiobodystring(uri)falsenone
»»»»»»» 3d_renderbodystring(uri)falsenone
»»»»»» updated_atbodystring(date-time)falsenone
»»»»»» updated_bybodystringfalseID of entity which changed the state
»»»»» trackingbodybooleanfalseIndicates whether the fulfillment allows tracking
»»»»» agentbodyanyfalseThe person who fulfills the order
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»»» namebodyNamefalseDescribes the name of a person
»»»»»»»» fullbodystringfalseFormat: ./{honorific prefix}/{given_name}/{family_name}/{additional_name}/{call_sign}/{honorific_suffix}
»»»»»»»» additional_namebodystringfalseAn additional name for a Person, can be used for a middle name.
»»»»»»»» family_namebodystringfalseFamily name. In India, it is the last name of an Person. This can be used along with givenName instead of the name property.
»»»»»»»» given_namebodystringfalseGiven name. In India, it is the first name of a Person. This can be used along with familyName instead of the name property.
»»»»»»»» call_signbodystringfalseA callsign, as used in broadcasting and radio communications to identify people
»»»»»»»» honorific_prefixbodystringfalseAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
»»»»»»»» honorific_suffixbodystringfalseAn honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
»»»»»»» imagebodyImagefalseImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4
»»»»»»» dobbodystring(date)falsenone
»»»»»»» genderbodystringfalseGender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender
»»»»»»» credbodystringfalsenone
»»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»»»»» additionalPropertiesbodystringfalsenone
»»»»»» anonymousbodyContactfalsenone
»»»»»»» phonebodystringfalsenone
»»»»»»» emailbodystringfalsenone
»»»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»»» vehiclebodyVehiclefalseDescribes the properties of a vehicle used in a mobility service
»»»»»» categorybodystringfalsenone
»»»»»» capacitybodyintegerfalsenone
»»»»»» makebodystringfalsenone
»»»»»» modelbodystringfalsenone
»»»»»» sizebodystringfalsenone
»»»»»» variantbodystringfalsenone
»»»»»» colorbodystringfalsenone
»»»»»» energy_typebodystringfalsenone
»»»»»» registrationbodystringfalsenone
»»»»» startbodyobjectfalseDetails on the start of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»»» idbodyLocation/properties/idfalsenone
»»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» addressbodyAddressfalseDescribes an address
»»»»»»» station_codebodystringfalsenone
»»»»»»» citybodyCityfalseDescribes a city
»»»»»»»» namebodystringfalseName of the city
»»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»»» namebodystringfalseName of the country
»»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»»» polygonbodystringfalsenone
»»»»»»» 3dspacebodystringfalsenone
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» endbodyobjectfalseDetails on the end of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» purposebodystringfalsenone
»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»» anonymousbodyobjectfalsenone
»»»»» customerbodyanytruenone
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»» anonymousbodyContactfalsenone
»»»»»» anonymousbodyobjectfalsenone
»»» quotebodyQuotationtrueDescribes a quote
»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»»» anonymousbodyMonetaryValuefalseDescribes a monetary value used for exchange
»»»»»» currencybodystringfalsenone
»»»»»» valuebodyDecimalValuefalseDescribes a decimal value
»»»»» anonymousbodyobjectfalsenone
»»»»»» estimated_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» computed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» listed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» offered_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» minimum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» maximum_valuebodyDecimalValuefalseDescribes a decimal value
»»»» breakupbody[object]falsenone
»»»»» typebodystringfalsenone
»»»»» ref_idbodystringfalsenone
»»»»» titlebodystringfalsenone
»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
»»» paymentbodyPaymenttrueDescribes a payment
»»»» uribodystring(uri)falseA payment uri to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, $transaction_id and $amount are mandatory. And example url would be : https://www.example.com/pay?txid=$transaction_id&amount=$amount&vpa=upiid&payee=shopez&billno=1234
»»»» tl_methodbodystringfalsenone
»»»» paramsbodyobjectfalsenone
»»»»» additionalPropertiesbodystringfalsenone
»»»»» transaction_idbodystringfalseThis value will be placed in the the $transaction_id url param in case of http/get and in the requestBody http/post requests
»»»»» amountbodyDecimalValuefalseDescribes a decimal value
»»»» typebodystringfalsenone
»»»» statusbodystringfalsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» created_atbodystring(date-time)falsenone
»»» updated_atbodystring(date-time)falsenone
» errorbodyErrorfalseDescribes an error object
»» typebodystringtruenone
»» codebodystringtrueBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathbodystringfalsePath to json schema generating the error. Used only during json schema validation errors
»» messagebodystringfalseHuman readable message descirbing the error

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/on_track

POST /on_track

Send tracking details of an active order

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» trackingbodyTrackingfalseDescribes the tracking info of an object
»»» tl_methodbodystringfalsenone
»»» urlbodystring(uri)falsenone
»»» statusbodystringfalsenone
» errorbodyErrorfalseDescribes an error object
»» typebodystringtruenone
»» codebodystringtrueBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathbodystringfalsePath to json schema generating the error. Used only during json schema validation errors
»» messagebodystringfalseHuman readable message descirbing the error

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/on_cancel

POST /on_cancel

Send cancellation request_id with reasons list in case of cancellation request. Else send cancelled order object

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» orderbodyOrderfalseDescribes the details of an order
»»» idbodyOrder/properties/idfalseHash of order object without id
»»» statebodystringfalsenone
»»» providerbodyobjecttruenone
»»»» idbodyProvider/properties/idtrueId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» locationsbody[object]truenone
»»»»» idbodyLocation/properties/idtruenone
»»» itemsbody[object]truenone
»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)trueThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»» quantitybodyItemQuantity/properties/selectedtruenone
»»»»» countbodyintegerfalsenone
»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» typebodystringfalsenone
»»»»»» valuebodynumbertruenone
»»»»»» estimated_valuebodynumberfalsenone
»»»»»» computed_valuebodynumberfalsenone
»»»»»» rangebodyobjectfalsenone
»»»»»»» minbodynumberfalsenone
»»»»»»» maxbodynumberfalsenone
»»»»»» unitbodystringtruenone
»»» add_onsbody[object]truenone
»»»» idbodyAddOn/properties/idtrueID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»» offersbody[object]truenone
»»»» idbodyOffer/properties/idtruenone
»»» billingbodyBillingtrueDescribes a billing event
»»»» namebodystringtruePersonal details of the customer needed for billing.
»»»» organizationbodyOrganizationfalseDescribes an organization
»»»»» namebodystringfalsenone
»»»»» credbodystringfalsenone
»»»» addressbodyAddressfalseDescribes an address
»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»» buildingbodystringfalseName of the building or block
»»»»» streetbodystringfalseStreet name or number
»»»»» localitybodystringfalseName of the locality, apartments
»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»» citybodystringfalseCity name
»»»»» statebodystringfalseState name
»»»»» countrybodystringfalseCountry name
»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»» emailbodystring(email)falsenone
»»»» phonebodystringtruenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» tax_numberbodystringfalsenone
»»»» created_atbodystring(date-time)falsenone
»»»» updated_atbodystring(date-time)falsenone
»»» fulfillmentbodyanytruenone
»»»» anonymousbodyFulfillmentfalseDescribes how a single product/service will be rendered/fulfilled to the end customer
»»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»»» typebodystringfalseThis describes the type of fulfillment
»»»»» statebodyStatefalseDescribes a state
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» namebodystringfalsenone
»»»»»»» codebodystringfalsenone
»»»»»»» symbolbodystringfalsenone
»»»»»»» short_descbodystringfalsenone
»»»»»»» long_descbodystringfalsenone
»»»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»»»» audiobodystring(uri)falsenone
»»»»»»» 3d_renderbodystring(uri)falsenone
»»»»»» updated_atbodystring(date-time)falsenone
»»»»»» updated_bybodystringfalseID of entity which changed the state
»»»»» trackingbodybooleanfalseIndicates whether the fulfillment allows tracking
»»»»» agentbodyanyfalseThe person who fulfills the order
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»»» namebodyNamefalseDescribes the name of a person
»»»»»»»» fullbodystringfalseFormat: ./{honorific prefix}/{given_name}/{family_name}/{additional_name}/{call_sign}/{honorific_suffix}
»»»»»»»» additional_namebodystringfalseAn additional name for a Person, can be used for a middle name.
»»»»»»»» family_namebodystringfalseFamily name. In India, it is the last name of an Person. This can be used along with givenName instead of the name property.
»»»»»»»» given_namebodystringfalseGiven name. In India, it is the first name of a Person. This can be used along with familyName instead of the name property.
»»»»»»»» call_signbodystringfalseA callsign, as used in broadcasting and radio communications to identify people
»»»»»»»» honorific_prefixbodystringfalseAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
»»»»»»»» honorific_suffixbodystringfalseAn honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
»»»»»»» imagebodyImagefalseImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4
»»»»»»» dobbodystring(date)falsenone
»»»»»»» genderbodystringfalseGender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender
»»»»»»» credbodystringfalsenone
»»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»»»»» additionalPropertiesbodystringfalsenone
»»»»»» anonymousbodyContactfalsenone
»»»»»»» phonebodystringfalsenone
»»»»»»» emailbodystringfalsenone
»»»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»»» vehiclebodyVehiclefalseDescribes the properties of a vehicle used in a mobility service
»»»»»» categorybodystringfalsenone
»»»»»» capacitybodyintegerfalsenone
»»»»»» makebodystringfalsenone
»»»»»» modelbodystringfalsenone
»»»»»» sizebodystringfalsenone
»»»»»» variantbodystringfalsenone
»»»»»» colorbodystringfalsenone
»»»»»» energy_typebodystringfalsenone
»»»»»» registrationbodystringfalsenone
»»»»» startbodyobjectfalseDetails on the start of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»»» idbodyLocation/properties/idfalsenone
»»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» addressbodyAddressfalseDescribes an address
»»»»»»» station_codebodystringfalsenone
»»»»»»» citybodyCityfalseDescribes a city
»»»»»»»» namebodystringfalseName of the city
»»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»»» namebodystringfalseName of the country
»»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»»» polygonbodystringfalsenone
»»»»»»» 3dspacebodystringfalsenone
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» endbodyobjectfalseDetails on the end of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» purposebodystringfalsenone
»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»» anonymousbodyobjectfalsenone
»»»»» customerbodyanytruenone
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»» anonymousbodyContactfalsenone
»»»»»» anonymousbodyobjectfalsenone
»»» quotebodyQuotationtrueDescribes a quote
»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»»» anonymousbodyMonetaryValuefalseDescribes a monetary value used for exchange
»»»»»» currencybodystringfalsenone
»»»»»» valuebodyDecimalValuefalseDescribes a decimal value
»»»»» anonymousbodyobjectfalsenone
»»»»»» estimated_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» computed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» listed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» offered_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» minimum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» maximum_valuebodyDecimalValuefalseDescribes a decimal value
»»»» breakupbody[object]falsenone
»»»»» typebodystringfalsenone
»»»»» ref_idbodystringfalsenone
»»»»» titlebodystringfalsenone
»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
»»» paymentbodyPaymenttrueDescribes a payment
»»»» uribodystring(uri)falseA payment uri to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, $transaction_id and $amount are mandatory. And example url would be : https://www.example.com/pay?txid=$transaction_id&amount=$amount&vpa=upiid&payee=shopez&billno=1234
»»»» tl_methodbodystringfalsenone
»»»» paramsbodyobjectfalsenone
»»»»» additionalPropertiesbodystringfalsenone
»»»»» transaction_idbodystringfalseThis value will be placed in the the $transaction_id url param in case of http/get and in the requestBody http/post requests
»»»»» amountbodyDecimalValuefalseDescribes a decimal value
»»»» typebodystringfalsenone
»»»» statusbodystringfalsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» created_atbodystring(date-time)falsenone
»»» updated_atbodystring(date-time)falsenone
» errorbodyErrorfalseDescribes an error object
»» typebodystringtruenone
»» codebodystringtrueBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathbodystringfalsePath to json schema generating the error. Used only during json schema validation errors
»» messagebodystringfalseHuman readable message descirbing the error

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/on_update

POST /on_update

Returns updated service with updated runtime object

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» orderbodyOrderfalseDescribes the details of an order
»»» idbodyOrder/properties/idfalseHash of order object without id
»»» statebodystringfalsenone
»»» providerbodyobjecttruenone
»»»» idbodyProvider/properties/idtrueId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» locationsbody[object]truenone
»»»»» idbodyLocation/properties/idtruenone
»»» itemsbody[object]truenone
»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)trueThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»» quantitybodyItemQuantity/properties/selectedtruenone
»»»»» countbodyintegerfalsenone
»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» typebodystringfalsenone
»»»»»» valuebodynumbertruenone
»»»»»» estimated_valuebodynumberfalsenone
»»»»»» computed_valuebodynumberfalsenone
»»»»»» rangebodyobjectfalsenone
»»»»»»» minbodynumberfalsenone
»»»»»»» maxbodynumberfalsenone
»»»»»» unitbodystringtruenone
»»» add_onsbody[object]truenone
»»»» idbodyAddOn/properties/idtrueID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»» offersbody[object]truenone
»»»» idbodyOffer/properties/idtruenone
»»» billingbodyBillingtrueDescribes a billing event
»»»» namebodystringtruePersonal details of the customer needed for billing.
»»»» organizationbodyOrganizationfalseDescribes an organization
»»»»» namebodystringfalsenone
»»»»» credbodystringfalsenone
»»»» addressbodyAddressfalseDescribes an address
»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»» buildingbodystringfalseName of the building or block
»»»»» streetbodystringfalseStreet name or number
»»»»» localitybodystringfalseName of the locality, apartments
»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»» citybodystringfalseCity name
»»»»» statebodystringfalseState name
»»»»» countrybodystringfalseCountry name
»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»» emailbodystring(email)falsenone
»»»» phonebodystringtruenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» tax_numberbodystringfalsenone
»»»» created_atbodystring(date-time)falsenone
»»»» updated_atbodystring(date-time)falsenone
»»» fulfillmentbodyanytruenone
»»»» anonymousbodyFulfillmentfalseDescribes how a single product/service will be rendered/fulfilled to the end customer
»»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»»» typebodystringfalseThis describes the type of fulfillment
»»»»» statebodyStatefalseDescribes a state
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» namebodystringfalsenone
»»»»»»» codebodystringfalsenone
»»»»»»» symbolbodystringfalsenone
»»»»»»» short_descbodystringfalsenone
»»»»»»» long_descbodystringfalsenone
»»»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»»»» audiobodystring(uri)falsenone
»»»»»»» 3d_renderbodystring(uri)falsenone
»»»»»» updated_atbodystring(date-time)falsenone
»»»»»» updated_bybodystringfalseID of entity which changed the state
»»»»» trackingbodybooleanfalseIndicates whether the fulfillment allows tracking
»»»»» agentbodyanyfalseThe person who fulfills the order
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»»» namebodyNamefalseDescribes the name of a person
»»»»»»»» fullbodystringfalseFormat: ./{honorific prefix}/{given_name}/{family_name}/{additional_name}/{call_sign}/{honorific_suffix}
»»»»»»»» additional_namebodystringfalseAn additional name for a Person, can be used for a middle name.
»»»»»»»» family_namebodystringfalseFamily name. In India, it is the last name of an Person. This can be used along with givenName instead of the name property.
»»»»»»»» given_namebodystringfalseGiven name. In India, it is the first name of a Person. This can be used along with familyName instead of the name property.
»»»»»»»» call_signbodystringfalseA callsign, as used in broadcasting and radio communications to identify people
»»»»»»»» honorific_prefixbodystringfalseAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
»»»»»»»» honorific_suffixbodystringfalseAn honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
»»»»»»» imagebodyImagefalseImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4
»»»»»»» dobbodystring(date)falsenone
»»»»»»» genderbodystringfalseGender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender
»»»»»»» credbodystringfalsenone
»»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»»»»» additionalPropertiesbodystringfalsenone
»»»»»» anonymousbodyContactfalsenone
»»»»»»» phonebodystringfalsenone
»»»»»»» emailbodystringfalsenone
»»»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»»» vehiclebodyVehiclefalseDescribes the properties of a vehicle used in a mobility service
»»»»»» categorybodystringfalsenone
»»»»»» capacitybodyintegerfalsenone
»»»»»» makebodystringfalsenone
»»»»»» modelbodystringfalsenone
»»»»»» sizebodystringfalsenone
»»»»»» variantbodystringfalsenone
»»»»»» colorbodystringfalsenone
»»»»»» energy_typebodystringfalsenone
»»»»»» registrationbodystringfalsenone
»»»»» startbodyobjectfalseDetails on the start of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»»» idbodyLocation/properties/idfalsenone
»»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» addressbodyAddressfalseDescribes an address
»»»»»»» station_codebodystringfalsenone
»»»»»»» citybodyCityfalseDescribes a city
»»»»»»»» namebodystringfalseName of the city
»»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»»» namebodystringfalseName of the country
»»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»»» polygonbodystringfalsenone
»»»»»»» 3dspacebodystringfalsenone
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» endbodyobjectfalseDetails on the end of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» purposebodystringfalsenone
»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»» anonymousbodyobjectfalsenone
»»»»» customerbodyanytruenone
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»» anonymousbodyContactfalsenone
»»»»»» anonymousbodyobjectfalsenone
»»» quotebodyQuotationtrueDescribes a quote
»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»»» anonymousbodyMonetaryValuefalseDescribes a monetary value used for exchange
»»»»»» currencybodystringfalsenone
»»»»»» valuebodyDecimalValuefalseDescribes a decimal value
»»»»» anonymousbodyobjectfalsenone
»»»»»» estimated_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» computed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» listed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» offered_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» minimum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» maximum_valuebodyDecimalValuefalseDescribes a decimal value
»»»» breakupbody[object]falsenone
»»»»» typebodystringfalsenone
»»»»» ref_idbodystringfalsenone
»»»»» titlebodystringfalsenone
»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
»»» paymentbodyPaymenttrueDescribes a payment
»»»» uribodystring(uri)falseA payment uri to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, $transaction_id and $amount are mandatory. And example url would be : https://www.example.com/pay?txid=$transaction_id&amount=$amount&vpa=upiid&payee=shopez&billno=1234
»»»» tl_methodbodystringfalsenone
»»»» paramsbodyobjectfalsenone
»»»»» additionalPropertiesbodystringfalsenone
»»»»» transaction_idbodystringfalseThis value will be placed in the the $transaction_id url param in case of http/get and in the requestBody http/post requests
»»»»» amountbodyDecimalValuefalseDescribes a decimal value
»»»» typebodystringfalsenone
»»»» statusbodystringfalsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» created_atbodystring(date-time)falsenone
»»» updated_atbodystring(date-time)falsenone
» errorbodyErrorfalseDescribes an error object
»» typebodystringtruenone
»» codebodystringtrueBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathbodystringfalsePath to json schema generating the error. Used only during json schema validation errors
»» messagebodystringfalseHuman readable message descirbing the error

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/on_status

POST /on_status

Fetch the status of a Service

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» orderbodyOrderfalseDescribes the details of an order
»»» idbodyOrder/properties/idfalseHash of order object without id
»»» statebodystringfalsenone
»»» providerbodyobjecttruenone
»»»» idbodyProvider/properties/idtrueId of the provider. The syntax of the ID is {unique provider identifier. If the provider name has an @, it has to be escaped}@{bpp_id}
»»»» locationsbody[object]truenone
»»»»» idbodyLocation/properties/idtruenone
»»» itemsbody[object]truenone
»»»» idbodyItem/properties/id(#/components/schemas/Item/properties/id)trueThis is the most unique identifier of a service item. An example of an Item ID could be the SKU of a product.
»»»» quantitybodyItemQuantity/properties/selectedtruenone
»»»»» countbodyintegerfalsenone
»»»»» measurebodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»» typebodystringfalsenone
»»»»»» valuebodynumbertruenone
»»»»»» estimated_valuebodynumberfalsenone
»»»»»» computed_valuebodynumberfalsenone
»»»»»» rangebodyobjectfalsenone
»»»»»»» minbodynumberfalsenone
»»»»»»» maxbodynumberfalsenone
»»»»»» unitbodystringtruenone
»»» add_onsbody[object]truenone
»»»» idbodyAddOn/properties/idtrueID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
»»» offersbody[object]truenone
»»»» idbodyOffer/properties/idtruenone
»»» billingbodyBillingtrueDescribes a billing event
»»»» namebodystringtruePersonal details of the customer needed for billing.
»»»» organizationbodyOrganizationfalseDescribes an organization
»»»»» namebodystringfalsenone
»»»»» credbodystringfalsenone
»»»» addressbodyAddressfalseDescribes an address
»»»»» doorbodystringfalseDoor / Shop number of the address
»»»»» namebodystringfalseName of address if applicable. Example, shop name
»»»»» buildingbodystringfalseName of the building or block
»»»»» streetbodystringfalseStreet name or number
»»»»» localitybodystringfalseName of the locality, apartments
»»»»» wardbodystringfalseName or number of the ward if applicable
»»»»» citybodystringfalseCity name
»»»»» statebodystringfalseState name
»»»»» countrybodystringfalseCountry name
»»»»» area_codebodystringfalseArea code. This can be Pincode, ZIP code or any equivalent
»»»» emailbodystring(email)falsenone
»»»» phonebodystringtruenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»» labelbodystringfalsenone
»»»»» timestampbodystring(date-time)falsenone
»»»»» durationbodyDurationfalseDescribes duration as per ISO8601 format
»»»»» rangebodyobjectfalsenone
»»»»»» startbodystring(date-time)falsenone
»»»»»» endbodystring(date-time)falsenone
»»»»» daysbodystringfalsecomma separated values representing days of the week
»»»» tax_numberbodystringfalsenone
»»»» created_atbodystring(date-time)falsenone
»»»» updated_atbodystring(date-time)falsenone
»»» fulfillmentbodyanytruenone
»»»» anonymousbodyFulfillmentfalseDescribes how a single product/service will be rendered/fulfilled to the end customer
»»»»» idbodyFulfillment/properties/idfalseUnique reference ID to the fulfillment of an order
»»»»» typebodystringfalseThis describes the type of fulfillment
»»»»» statebodyStatefalseDescribes a state
»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» namebodystringfalsenone
»»»»»»» codebodystringfalsenone
»»»»»»» symbolbodystringfalsenone
»»»»»»» short_descbodystringfalsenone
»»»»»»» long_descbodystringfalsenone
»»»»»»» imagesbody[Image]false[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»»»»»»» audiobodystring(uri)falsenone
»»»»»»» 3d_renderbodystring(uri)falsenone
»»»»»» updated_atbodystring(date-time)falsenone
»»»»»» updated_bybodystringfalseID of entity which changed the state
»»»»» trackingbodybooleanfalseIndicates whether the fulfillment allows tracking
»»»»» agentbodyanyfalseThe person who fulfills the order
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»»» namebodyNamefalseDescribes the name of a person
»»»»»»»» fullbodystringfalseFormat: ./{honorific prefix}/{given_name}/{family_name}/{additional_name}/{call_sign}/{honorific_suffix}
»»»»»»»» additional_namebodystringfalseAn additional name for a Person, can be used for a middle name.
»»»»»»»» family_namebodystringfalseFamily name. In India, it is the last name of an Person. This can be used along with givenName instead of the name property.
»»»»»»»» given_namebodystringfalseGiven name. In India, it is the first name of a Person. This can be used along with familyName instead of the name property.
»»»»»»»» call_signbodystringfalseA callsign, as used in broadcasting and radio communications to identify people
»»»»»»»» honorific_prefixbodystringfalseAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
»»»»»»»» honorific_suffixbodystringfalseAn honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
»»»»»»» imagebodyImagefalseImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4
»»»»»»» dobbodystring(date)falsenone
»»»»»»» genderbodystringfalseGender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender
»»»»»»» credbodystringfalsenone
»»»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»»»»»» additionalPropertiesbodystringfalsenone
»»»»»» anonymousbodyContactfalsenone
»»»»»»» phonebodystringfalsenone
»»»»»»» emailbodystringfalsenone
»»»»»»» tagsbodyobjectfalseDescribes a tag. This is a simple key-value store which is used to contain extended metadata
»»»»» vehiclebodyVehiclefalseDescribes the properties of a vehicle used in a mobility service
»»»»»» categorybodystringfalsenone
»»»»»» capacitybodyintegerfalsenone
»»»»»» makebodystringfalsenone
»»»»»» modelbodystringfalsenone
»»»»»» sizebodystringfalsenone
»»»»»» variantbodystringfalsenone
»»»»»» colorbodystringfalsenone
»»»»»» energy_typebodystringfalsenone
»»»»»» registrationbodystringfalsenone
»»»»» startbodyobjectfalseDetails on the start of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»»» idbodyLocation/properties/idfalsenone
»»»»»»» descriptorbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»»» gpsbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»» addressbodyAddressfalseDescribes an address
»»»»»»» station_codebodystringfalsenone
»»»»»»» citybodyCityfalseDescribes a city
»»»»»»»» namebodystringfalseName of the city
»»»»»»»» codebodyCity/properties/codefalseCity code
»»»»»»» countrybodyCountryfalseDescribes a country.
»»»»»»»» namebodystringfalseName of the country
»»»»»»»» codebodyCountry/properties/codefalseCountry code as per ISO 3166-1 and ISO 3166-2 format
»»»»»»» circlebodyanyfalseDescribes a circular area on the map
»»»»»»»» anonymousbodyLocation/properties/gpsfalseDescribes a gps coordinate
»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»» radiusbodyScalarfalseAn object representing a scalar quantity. Extension allowed only to the limit of vector
»»»»»»» polygonbodystringfalsenone
»»»»»»» 3dspacebodystringfalsenone
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» endbodyobjectfalseDetails on the end of fulfillment
»»»»»» locationbodyLocationfalseDescribes the location of a runtime object. Extension not allowed
»»»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»»»»» instructionsbodyDescriptorfalseDescribes the description of a real-world object. Maintained by Beckn Foundation
»»»»»» contactbodyContactfalsenone
»»»»» purposebodystringfalsenone
»»»»» tagsbody[Tags]false[Describes a tag. This is a simple key-value store which is used to contain extended metadata]
»»»» anonymousbodyobjectfalsenone
»»»»» customerbodyanytruenone
»»»»»» anonymousbodyPersonfalseDescribes a person. Extension not allowed
»»»»»» anonymousbodyContactfalsenone
»»»»»» anonymousbodyobjectfalsenone
»»» quotebodyQuotationtrueDescribes a quote
»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»»» anonymousbodyMonetaryValuefalseDescribes a monetary value used for exchange
»»»»»» currencybodystringfalsenone
»»»»»» valuebodyDecimalValuefalseDescribes a decimal value
»»»»» anonymousbodyobjectfalsenone
»»»»»» estimated_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» computed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» listed_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» offered_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» minimum_valuebodyDecimalValuefalseDescribes a decimal value
»»»»»» maximum_valuebodyDecimalValuefalseDescribes a decimal value
»»»» breakupbody[object]falsenone
»»»»» typebodystringfalsenone
»»»»» ref_idbodystringfalsenone
»»»»» titlebodystringfalsenone
»»»»» pricebodyanyfalseDescribes the price of an item. Allows for domain extension.
»»»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
»»» paymentbodyPaymenttrueDescribes a payment
»»»» uribodystring(uri)falseA payment uri to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, $transaction_id and $amount are mandatory. And example url would be : https://www.example.com/pay?txid=$transaction_id&amount=$amount&vpa=upiid&payee=shopez&billno=1234
»»»» tl_methodbodystringfalsenone
»»»» paramsbodyobjectfalsenone
»»»»» additionalPropertiesbodystringfalsenone
»»»»» transaction_idbodystringfalseThis value will be placed in the the $transaction_id url param in case of http/get and in the requestBody http/post requests
»»»»» amountbodyDecimalValuefalseDescribes a decimal value
»»»» typebodystringfalsenone
»»»» statusbodystringfalsenone
»»»» timebodyTimefalseDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
»»» created_atbodystring(date-time)falsenone
»»» updated_atbodystring(date-time)falsenone

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/on_rating

POST /on_rating

Provide feedback on a service

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» feedbackbodyFeedbackfalseFeedback for a service
»»» idbodystringfalsenone
»»» descriptorbodystringfalsenone
»»» parent_idbodystringfalsenone
» errorbodyErrorfalseDescribes an error object
»» typebodystringtruenone
»» codebodystringtrueBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathbodystringfalsePath to json schema generating the error. Used only during json schema validation errors
»» messagebodystringfalseHuman readable message descirbing the error

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

/on_support

POST /on_support

Contact Support

Parameters

NameInTypeRequiredDescription
bodybodyobjectfalseTODO
» contextbodyContextfalseDescribes a beckn message context
»» domainbodyDomaintrueDescribes the domain of an object
»» countrybodyCountry/properties/codetrueCountry code as per ISO 3166-1 and ISO 3166-2 format
»» citybodyCity/properties/codetrueCity code
»» actionbodystringtrueDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionbodystringtrueVersion of Beckn core API specification being used
»» bap_idbodystring(uri)trueThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uribodystring(uri)trueURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idbodystring(uri)falseThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uribodystring(uri)falseURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idbodystringtrueThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idbodystringtrueThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampbodystring(date-time)trueTime of request generation in RFC3339 format
»» keybodystringfalseThe encryption public key of the sender
»» ttlbodyDurationfalseDescribes duration as per ISO8601 format
» messagebodyobjectfalsenone
»» phonebodystring(phone)falsenone
»» emailbodystring(email)falsenone
»» uribodystring(uri)falsenone
» errorbodyErrorfalseDescribes an error object
»» typebodystringtruenone
»» codebodystringtrueBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathbodystringfalsePath to json schema generating the error. Used only during json schema validation errors
»» messagebodystringfalseHuman readable message descirbing the error

Responses

StatusMeaningDescriptionSchema
200OKAcknowledgement of message receivedInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» contextContextfalsenoneDescribes a beckn message context
»» domainDomaintruenoneDescribes the domain of an object
»» countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
»» cityCity/properties/codetruenoneCity code
»» actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
»» core_versionstringtruenoneVersion of Beckn core API specification being used
»» bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
»» bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
»» bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
»» bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
»» transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
»» message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
»» timestampstring(date-time)truenoneTime of request generation in RFC3339 format
»» keystringfalsenoneThe encryption public key of the sender
»» ttlDurationfalsenoneDescribes duration as per ISO8601 format
» messageobjectfalsenonenone
»» ackAckfalsenoneDescribes the ACK response
»»» statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK
» errorErrorfalsenoneDescribes an error object
»» typestringtruenonenone
»» codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
»» pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
»» messagestringfalsenoneHuman readable message descirbing the error

BPP Meta APIs

/get_cancellation_reasons

POST /get_cancellation_reasons

Look up subscriber(s) in a registry

Parameters

NameInTypeRequiredDescription
SignatureheaderstringtrueThis contains the digital signature of the request body signed using the signing private key of the Subscriber
bodybodyContextfalseTODO

Responses

StatusMeaningDescriptionSchema
200OKList of cancellation reasonsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[Option]falsenone[Describes a selectable option]
» idOption/properties/idfalsenonenone
» descriptorDescriptorfalsenoneDescribes the description of a real-world object. Maintained by Beckn Foundation
»» namestringfalsenonenone
»» codestringfalsenonenone
»» symbolstringfalsenonenone
»» short_descstringfalsenonenone
»» long_descstringfalsenonenone
»» images[Image]falsenone[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»» audiostring(uri)falsenonenone
»» 3d_renderstring(uri)falsenonenone

/get_return_reasons

POST /get_return_reasons

Look up subscriber(s) in a registry

Parameters

NameInTypeRequiredDescription
SignatureheaderstringtrueThis contains the digital signature of the request body signed using the signing private key of the Subscriber
bodybodyContextfalseTODO

Responses

StatusMeaningDescriptionSchema
200OKList of return reasonsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[Option]falsenone[Describes a selectable option]
» idOption/properties/idfalsenonenone
» descriptorDescriptorfalsenoneDescribes the description of a real-world object. Maintained by Beckn Foundation
»» namestringfalsenonenone
»» codestringfalsenonenone
»» symbolstringfalsenonenone
»» short_descstringfalsenonenone
»» long_descstringfalsenonenone
»» images[Image]falsenone[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
»» audiostring(uri)falsenonenone
»» 3d_renderstring(uri)falsenonenone

/get_rating_categories

POST /get_rating_categories

Get a list of feedback forms based on rating inputs

Parameters

NameInTypeRequiredDescription
SignatureheaderstringtrueThis contains the digital signature of the request body signed using the signing private key of the Subscriber
bodybodyContextfalseTODO

Responses

StatusMeaningDescriptionSchema
200OKFeedback formsInline

Response Schema

Schemas

Ack

{
"status": "ACK"
}

Describes the ACK response

Properties

NameTypeRequiredRestrictionsDescription
statusstringfalsenoneDescribe the status of the ACK response. If schema validation passes, status is ACK else it is NACK

Enumerated Values

PropertyValue
statusACK
statusNACK

AddOn

{
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"price": {
"currency": "string",
"value": "string",
"estimated_value": "string",
"computed_value": "string",
"listed_value": "string",
"offered_value": "string",
"minimum_value": "string",
"maximum_value": "string"
}
}

Describes an add-on

Properties

NameTypeRequiredRestrictionsDescription
idstringfalsenoneID of the add-on. This follows the syntax {item.id}/add-on/{add-on unique id} for item specific add-on OR
descriptorDescriptorfalsenoneDescribes the description of a real-world object. Maintained by Beckn Foundation
pricePricefalsenoneDescribes the price of an item. Allows for domain extension.

Address

{
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
}

Describes an address

Properties

NameTypeRequiredRestrictionsDescription
doorstringfalsenoneDoor / Shop number of the address
namestringfalsenoneName of address if applicable. Example, shop name
buildingstringfalsenoneName of the building or block
streetstringfalsenoneStreet name or number
localitystringfalsenoneName of the locality, apartments
wardstringfalsenoneName or number of the ward if applicable
citystringfalsenoneCity name
statestringfalsenoneState name
countrystringfalsenoneCountry name
area_codestringfalsenoneArea code. This can be Pincode, ZIP code or any equivalent

Billing

{
"name": "string",
"organization": {
"name": "string",
"cred": "string"
},
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"email": "user@example.com",
"phone": "string",
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"tax_number": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Describes a billing event

Properties

NameTypeRequiredRestrictionsDescription
namestringtruenonePersonal details of the customer needed for billing.
organizationOrganizationfalsenoneDescribes an organization
addressAddressfalsenoneDescribes an address
emailstring(email)falsenonenone
phonestringtruenonenone
timeTimefalsenoneDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
tax_numberstringfalsenonenone
created_atstring(date-time)falsenonenone
updated_atstring(date-time)falsenonenone

Cancellation

{
"type": "full",
"ref_id": "string",
"policies": [
{
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"parent_policy_id": "string",
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
}
}
],
"time": "2019-08-24T14:15:22Z",
"cancelled_by": "string",
"reasons": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
}
},
"selected_reason": {
"id": "string"
},
"additional_description": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
}
}

Describes the ACK response

Properties

NameTypeRequiredRestrictionsDescription
typestringfalsenonenone
ref_idstringfalsenonenone
policies[Policy]falsenone[Describes a policy. Allows for domain extension.]
timestring(date-time)falsenonenone
cancelled_bystringfalsenonenone
reasonsOptionfalsenoneDescribes a selectable option
selected_reasonobjectfalsenonenone
» idOption/properties/idfalsenonenone
additional_descriptionDescriptorfalsenoneDescribes the description of a real-world object. Maintained by Beckn Foundation

Enumerated Values

PropertyValue
typefull
typepartial

Catalog

{
"bpp/descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"bpp/categories": [
{
"id": "string",
"parent_category_id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"tags": [
{
"property1": "string",
"property2": "string"
}
]
}
],
"bpp/fulfillments": [
{
"id": "string",
"type": "string",
"state": {
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"updated_at": "2019-08-24T14:15:22Z",
"updated_by": "string"
},
"tracking": false,
"agent": {
"name": {
"full": "string",
"additional_name": "string",
"family_name": "string",
"given_name": "string",
"call_sign": "string",
"honorific_prefix": "string",
"honorific_suffix": "string"
},
"image": "string",
"dob": "2019-08-24",
"gender": "string",
"cred": "string",
"tags": {
"0": {
"property1": "string",
"property2": "string"
},
"property1": "string",
"property2": "string"
},
"phone": "string",
"email": "string"
},
"vehicle": {
"category": "string",
"capacity": 0,
"make": "string",
"model": "string",
"size": "string",
"variant": "string",
"color": "string",
"energy_type": "string",
"registration": "string"
},
"start": {
"location": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"gps": "string",
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"station_code": "string",
"city": {
"name": "string",
"code": "string"
},
"country": {
"name": "string",
"code": "string"
},
"circle": "string",
"polygon": "string",
"3dspace": "string"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"instructions": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"contact": {
"phone": "string",
"email": "string",
"tags": {
"property1": "string",
"property2": "string"
}
}
},
"end": {
"location": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"gps": "string",
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"station_code": "string",
"city": {
"name": "string",
"code": "string"
},
"country": {
"name": "string",
"code": "string"
},
"circle": "string",
"polygon": "string",
"3dspace": "string"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"instructions": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"contact": {
"phone": "string",
"email": "string",
"tags": {
"property1": "string",
"property2": "string"
}
}
},
"purpose": "string",
"tags": [
{
"property1": "string",
"property2": "string"
}
]
}
],
"bpp/payments": [
{
"uri": "http://example.com",
"tl_method": "http/get",
"params": {
"transaction_id": "string",
"amount": "string",
"property1": "string",
"property2": "string"
},
"type": "ON-ORDER",
"status": "PAID",
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
}
}
],
"bpp/offers": [
{
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"location_ids": [
"string"
],
"category_ids": [
"string"
],
"item_ids": [
"string"
],
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
}
}
],
"bpp/providers": [
{
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"locations": [
{
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"gps": "string",
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"station_code": "string",
"city": {
"name": "string",
"code": "string"
},
"country": {
"name": "string",
"code": "string"
},
"circle": "string",
"polygon": "string",
"3dspace": "string",
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
}
}
],
"tags": [
{
"property1": "string",
"property2": "string"
}
],
"categories": [
{
"id": "string",
"parent_category_id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"tags": [
{
"property1": "string",
"property2": "string"
}
]
}
],
"fulfillments": [
{
"id": "string",
"type": "string",
"state": {
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"updated_at": "2019-08-24T14:15:22Z",
"updated_by": "string"
},
"tracking": false,
"agent": {
"name": {
"full": "string",
"additional_name": "string",
"family_name": "string",
"given_name": "string",
"call_sign": "string",
"honorific_prefix": "string",
"honorific_suffix": "string"
},
"image": "string",
"dob": "2019-08-24",
"gender": "string",
"cred": "string",
"tags": {
"0": {
"property1": "string",
"property2": "string"
},
"property1": "string",
"property2": "string"
},
"phone": "string",
"email": "string"
},
"vehicle": {
"category": "string",
"capacity": 0,
"make": "string",
"model": "string",
"size": "string",
"variant": "string",
"color": "string",
"energy_type": "string",
"registration": "string"
},
"start": {
"location": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"gps": "string",
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"station_code": "string",
"city": {
"name": "string",
"code": "string"
},
"country": {
"name": "string",
"code": "string"
},
"circle": "string",
"polygon": "string",
"3dspace": "string"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"instructions": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"contact": {
"phone": "string",
"email": "string",
"tags": {
"property1": "string",
"property2": "string"
}
}
},
"end": {
"location": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"gps": "string",
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"station_code": "string",
"city": {
"name": "string",
"code": "string"
},
"country": {
"name": "string",
"code": "string"
},
"circle": "string",
"polygon": "string",
"3dspace": "string"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"instructions": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"contact": {
"phone": "string",
"email": "string",
"tags": {
"property1": "string",
"property2": "string"
}
}
},
"purpose": "string",
"tags": [
{
"property1": "string",
"property2": "string"
}
]
}
],
"payments": [
{
"uri": "http://example.com",
"tl_method": "http/get",
"params": {
"transaction_id": "string",
"amount": "string",
"property1": "string",
"property2": "string"
},
"type": "ON-ORDER",
"status": "PAID",
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
}
}
],
"offers": [
{
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"location_ids": [
"string"
],
"category_ids": [
"string"
],
"item_ids": [
"string"
],
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
}
}
],
"items": [
{
"id": "string",
"parent_item_id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"price": {
"currency": "string",
"value": "string",
"estimated_value": "string",
"computed_value": "string",
"listed_value": "string",
"offered_value": "string",
"minimum_value": "string",
"maximum_value": "string"
},
"category_id": "string",
"location_id": "string",
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"matched": true,
"related": true,
"recommended": true,
"tags": [
{
"property1": "string",
"property2": "string"
}
]
}
],
"exp": "2019-08-24T14:15:22Z"
}
],
"exp": "2019-08-24T14:15:22Z"
}

Describes a BPP catalog

Properties

NameTypeRequiredRestrictionsDescription
bppDescriptorfalsenoneDescribes the description of a real-world object. Maintained by Beckn Foundation
bpp[Category]falsenone[Describes a category]
bpp[Fulfillment]falsenone[Describes how a single product/service will be rendered/fulfilled to the end customer]
bpp[Payment]falsenone[Describes a payment]
bpp[Offer]falsenone[Describes an offer]
bpp[allOf]falsenonenone

allOf

NameTypeRequiredRestrictionsDescription
» anonymousProviderfalsenoneDescribes a service provider. This can be a restaurant, a hospital, a Store etc

and

NameTypeRequiredRestrictionsDescription
» anonymousProviderCatalogfalsenoneDescribes a provider catalog

continued

NameTypeRequiredRestrictionsDescription
expstring(date-time)falsenoneTime after which catalog has to be refreshed

Category

{
"id": "string",
"parent_category_id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"tags": [
{
"property1": "string",
"property2": "string"
}
]
}

Describes a category

Properties

NameTypeRequiredRestrictionsDescription
idstringfalsenoneUnique id of the category
parent_category_idCategory/properties/idfalsenoneUnique id of the category
descriptorDescriptorfalsenoneDescribes the description of a real-world object. Maintained by Beckn Foundation
timeTimefalsenoneDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
tags[Tags]falsenone[Describes a tag. This is a simple key-value store which is used to contain extended metadata]

Circle

"string"

Describes a circular area on the map

Properties

allOf

NameTypeRequiredRestrictionsDescription
anonymousGpsfalsenoneDescribes a gps coordinate

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone
» radiusScalarfalsenoneAn object representing a scalar quantity. Extension allowed only to the limit of vector

City

{
"name": "string",
"code": "string"
}

Describes a city

Properties

NameTypeRequiredRestrictionsDescription
namestringfalsenoneName of the city
codestringfalsenoneCity code

Contact

{
"phone": "string",
"email": "string",
"tags": {
"property1": "string",
"property2": "string"
}
}

Properties

NameTypeRequiredRestrictionsDescription
phonestringfalsenonenone
emailstringfalsenonenone
tagsTagsfalsenoneDescribes a tag. This is a simple key-value store which is used to contain extended metadata

Context

{
"domain": "string",
"country": "string",
"city": "string",
"action": "search",
"core_version": "string",
"bap_id": "http://example.com",
"bap_uri": "http://example.com",
"bpp_id": "http://example.com",
"bpp_uri": "http://example.com",
"transaction_id": "string",
"message_id": "string",
"timestamp": "2019-08-24T14:15:22Z",
"key": "string",
"ttl": "string"
}

Describes a beckn message context

Properties

NameTypeRequiredRestrictionsDescription
domainDomaintruenoneDescribes the domain of an object
countryCountry/properties/codetruenoneCountry code as per ISO 3166-1 and ISO 3166-2 format
cityCity/properties/codetruenoneCity code
actionstringtruenoneDefines the Beckn API call. Any actions other than the ennumerated actions are not supported by Beckn Protocol
core_versionstringtruenoneVersion of Beckn core API specification being used
bap_idstring(uri)truenoneThis is registered domain name of the BAP. Must be an HTTPS domain in open networks
bap_uristring(uri)truenoneURI of the BAP. Must have the same domain name as the bap_id
bpp_idstring(uri)falsenoneThis is registered domain name of the BPP. Must be an HTTPS domain in open networks
bpp_uristring(uri)falsenoneURI of the BPP. Must have the same domain name as the bap_id
transaction_idstringtruenoneThis is a unique value which persists across all API calls from search through confirm. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback transaction_id with the request transaction_id
message_idstringtruenoneThis is a unique value which persists during a request / callback cycle. The format for transaction id is an ecrypted value of the following string. '{bap_id}/{action}/{timestamp}/{ttl}/{random nonce}' using a key known only to the BAP. The BAP will decrypt this value to compare the callback message_id with the request message_id
timestampstring(date-time)truenoneTime of request generation in RFC3339 format
keystringfalsenoneThe encryption public key of the sender
ttlDurationfalsenoneDescribes duration as per ISO8601 format

Enumerated Values

PropertyValue
actionsearch
actionselect
actioninit
actionconfirm
actionupdate
actionstatus
actiontrack
actioncancel
actionfeedback
actionsupport
actionon_search
actionon_select
actionon_init
actionon_confirm
actionon_update
actionon_status
actionon_track
actionon_cancel
actionon_feedback
actionon_support
actionack

Country

{
"name": "string",
"code": "string"
}

Describes a country.

Properties

NameTypeRequiredRestrictionsDescription
namestringfalsenoneName of the country
codestringfalsenoneCountry code as per ISO 3166-1 and ISO 3166-2 format

Customer

{
"type": "SINGLE",
"individual": {
"info": {
"name": {
"full": "string",
"additional_name": "string",
"family_name": "string",
"given_name": "string",
"call_sign": "string",
"honorific_prefix": "string",
"honorific_suffix": "string"
},
"image": "string",
"dob": "2019-08-24",
"gender": "string",
"cred": "string",
"tags": [
{
"property1": "string",
"property2": "string"
}
]
}
},
"group": {
"primary": {
"name": {
"full": "string",
"additional_name": "string",
"family_name": "string",
"given_name": "string",
"call_sign": "string",
"honorific_prefix": "string",
"honorific_suffix": "string"
},
"image": "string",
"dob": "2019-08-24",
"gender": "string",
"cred": "string",
"tags": [
{
"property1": "string",
"property2": "string"
}
]
},
"count": 1
}
}

Describes the customer

Properties

NameTypeRequiredRestrictionsDescription
typestringfalsenonenone
individualobjectfalsenonenone
» infoPersonfalsenoneDescribes a person. Extension not allowed
groupobjectfalsenonenone
» primaryPersonfalsenoneDescribes a person. Extension not allowed
» countintegerfalsenonenone

Enumerated Values

PropertyValue
typeSINGLE
typeGROUP

DecimalValue

"string"

Describes a decimal value

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenoneDescribes a decimal value

Descriptor

{
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
}

Describes the description of a real-world object. Maintained by Beckn Foundation

Properties

NameTypeRequiredRestrictionsDescription
namestringfalsenonenone
codestringfalsenonenone
symbolstringfalsenonenone
short_descstringfalsenonenone
long_descstringfalsenonenone
images[Image]falsenone[Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4]
audiostring(uri)falsenonenone
3d_renderstring(uri)falsenonenone

Dimensions

{
"length": {
"type": "CONSTANT",
"value": 0,
"estimated_value": 0,
"computed_value": 0,
"range": {
"min": 0,
"max": 0
},
"unit": "string"
},
"breadth": {
"type": "CONSTANT",
"value": 0,
"estimated_value": 0,
"computed_value": 0,
"range": {
"min": 0,
"max": 0
},
"unit": "string"
},
"height": {
"type": "CONSTANT",
"value": 0,
"estimated_value": 0,
"computed_value": 0,
"range": {
"min": 0,
"max": 0
},
"unit": "string"
}
}

Describes the dimensions of a real-world object

Properties

NameTypeRequiredRestrictionsDescription
lengthScalarfalsenoneAn object representing a scalar quantity. Extension allowed only to the limit of vector
breadthScalarfalsenoneAn object representing a scalar quantity. Extension allowed only to the limit of vector
heightScalarfalsenoneAn object representing a scalar quantity. Extension allowed only to the limit of vector

Domain

"string"

Describes the domain of an object

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenoneDescribes the domain of an object

Duration

"string"

Describes duration as per ISO8601 format

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenoneDescribes duration as per ISO8601 format

Error

{
"type": "CONTEXT-ERROR",
"code": "string",
"path": "string",
"message": "string"
}

Describes an error object

Properties

NameTypeRequiredRestrictionsDescription
typestringtruenonenone
codestringtruenoneBeckn specific error code. For full list of error codes, refer to error_codes.md in the root folder of this repo
pathstringfalsenonePath to json schema generating the error. Used only during json schema validation errors
messagestringfalsenoneHuman readable message descirbing the error

Enumerated Values

PropertyValue
typeCONTEXT-ERROR
typeCORE-ERROR
typeDOMAIN-ERROR
typePOLICY-ERROR
typeJSON-SCHEMA-ERROR

Feedback

{
"id": "string",
"descriptor": "string",
"parent_id": "string"
}

Feedback for a service

Properties

NameTypeRequiredRestrictionsDescription
idstringfalsenonenone
descriptorstringfalsenonenone
parent_idstringfalsenonenone

Fulfillment

{
"id": "string",
"type": "string",
"state": {
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"updated_at": "2019-08-24T14:15:22Z",
"updated_by": "string"
},
"tracking": false,
"agent": {
"name": {
"full": "string",
"additional_name": "string",
"family_name": "string",
"given_name": "string",
"call_sign": "string",
"honorific_prefix": "string",
"honorific_suffix": "string"
},
"image": "string",
"dob": "2019-08-24",
"gender": "string",
"cred": "string",
"tags": {
"0": {
"property1": "string",
"property2": "string"
},
"property1": "string",
"property2": "string"
},
"phone": "string",
"email": "string"
},
"vehicle": {
"category": "string",
"capacity": 0,
"make": "string",
"model": "string",
"size": "string",
"variant": "string",
"color": "string",
"energy_type": "string",
"registration": "string"
},
"start": {
"location": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"gps": "string",
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"station_code": "string",
"city": {
"name": "string",
"code": "string"
},
"country": {
"name": "string",
"code": "string"
},
"circle": "string",
"polygon": "string",
"3dspace": "string"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"instructions": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"contact": {
"phone": "string",
"email": "string",
"tags": {
"property1": "string",
"property2": "string"
}
}
},
"end": {
"location": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"gps": "string",
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"station_code": "string",
"city": {
"name": "string",
"code": "string"
},
"country": {
"name": "string",
"code": "string"
},
"circle": "string",
"polygon": "string",
"3dspace": "string"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
},
"instructions": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"contact": {
"phone": "string",
"email": "string",
"tags": {
"property1": "string",
"property2": "string"
}
}
},
"purpose": "string",
"tags": [
{
"property1": "string",
"property2": "string"
}
]
}

Describes how a single product/service will be rendered/fulfilled to the end customer

Properties

NameTypeRequiredRestrictionsDescription
idstringfalsenoneUnique reference ID to the fulfillment of an order
typestringfalsenoneThis describes the type of fulfillment
stateStatefalsenoneDescribes a state
trackingbooleanfalsenoneIndicates whether the fulfillment allows tracking
agentanyfalsenoneThe person who fulfills the order

allOf

NameTypeRequiredRestrictionsDescription
» anonymousPersonfalsenoneDescribes a person. Extension not allowed

and

NameTypeRequiredRestrictionsDescription
» anonymousContactfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
vehicleVehiclefalsenoneDescribes the properties of a vehicle used in a mobility service
startobjectfalsenoneDetails on the start of fulfillment
» locationLocationfalsenoneDescribes the location of a runtime object. Extension not allowed
» timeTimefalsenoneDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
» instructionsDescriptorfalsenoneDescribes the description of a real-world object. Maintained by Beckn Foundation
» contactContactfalsenonenone
endobjectfalsenoneDetails on the end of fulfillment
» locationLocationfalsenoneDescribes the location of a runtime object. Extension not allowed
» timeTimefalsenoneDescribes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
» instructionsDescriptorfalsenoneDescribes the description of a real-world object. Maintained by Beckn Foundation
» contactContactfalsenonenone
purposestringfalsenonenone
tags[Tags]falsenone[Describes a tag. This is a simple key-value store which is used to contain extended metadata]

Gps

"string"

Describes a gps coordinate

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenoneDescribes a gps coordinate

Image

"string"

Image of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenoneImage of an object. A url based image will look like uri:http://path/to/image An image can also be sent as a data string. For example : data:js87y34ilhriuho84r3i4

Intent

{
"query_string": "string",
"provider": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"locations": [
{
"id": "string"
}
]
},
"fulfillment": {
"id": "string",
"start": {
"location": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"gps": "string",
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"station_code": "string",
"city": {
"name": "string",
"code": "string"
},
"country": {
"name": "string",
"code": "string"
},
"circle": "string",
"polygon": "string",
"3dspace": "string"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
}
},
"end": {
"location": {
"id": "string",
"descriptor": {
"name": "string",
"code": "string",
"symbol": "string",
"short_desc": "string",
"long_desc": "string",
"images": [
"string"
],
"audio": "http://example.com",
"3d_render": "http://example.com"
},
"gps": "string",
"address": {
"door": "string",
"name": "string",
"building": "string",
"street": "string",
"locality": "string",
"ward": "string",
"city": "string",
"state": "string",
"country": "string",
"area_code": "string"
},
"station_code": "string",
"city": {
"name": "string",
"code": "string"
},
"country": {
"name": "string",
"code": "string"
},
"circle": "string",
"polygon": "string",
"3dspace": "string"
},
"time": {
"label": "string",
"timestamp": "2019-08-24T14:15:22Z",
"duration": "string",
"range": {
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z"
},
"days": "string"
}
},
"tags": {
"property1": "string",
"property2": "string"
}
},
"payment": {
"uri": "http://example.com",
"tl_method": "http/get",