OBP
v4.0.0
filtered by tag: API, API-Role, API-Metrics, API-Documentation (42 APIs)
Bank
Select Bank (banco-do-brasil) (cash) (gls) (postbank) (test-bank) ACREDOBANK - Nürnberg, Mittelfr (acredobank-nürnberg,-mittelfr) AKTIVBANK - Pforzheim (aktivbank-pforzheim) Aachener Bank - Aachen (aachener-bank-aachen) Archon Capital Bank Deutschland - Hof, Saale (archon-capital-bank-deutschland-hof,-saale) Archon Capital Bank Deutschland Servicing - Hof, Saale (archon-capital-bank-deutschland-servicing-hof,-saale) BAG Bankaktiengesellschaft - Hamm, Westf (bag-bankaktiengesellschaft-hamm,-westf) Bank Schilling & Co - Hammelburg (bank-schilling-&-co-hammelburg) Bank f Orden u Mission Zndl vr bk Untertaunus - Idstein (bank-f-orden-u-mission-zndl-vr-bk-untertaunus-idstein) Bankhaus E. Mayer - Freiburg im Breisgau (bankhaus-e.-mayer-freiburg-im-breisgau) Bankhaus Ellwanger & Geiger - Stuttgart (bankhaus-ellwanger-&-geiger-stuttgart) Berliner Volksbank - Berlin (berliner-volksbank-berlin) Berliner Volksbank - Berlin (berliner-volksbank-berlin) Deutsche Bank - Konstanz (deutsche-bank-konstanz) Deutsche Bank - Werl (deutsche-bank-werl) Deutsche Kreditbank Berlin - Berlin (deutsche-kreditbank-berlin-berlin) Geraer Bank - Gera (geraer-bank-gera) Kreissparkasse Heilbronn - Heilbronn, Neckar (kreissparkasse-heilbronn-heilbronn,-neckar) Landesbank Berlin - Berliner Sparkasse - Berlin (landesbank-berlin-berliner-sparkasse-berlin) Sparkasse Gifhorn-Wolfsburg - Gifhorn (sparkasse-gifhornwolfsburg-gifhorn) Sparkasse Gifhorn-Wolfsburg - Gifhorn (sparkasse-gifhornwolfsburg-gifhorn) UniCredit Bank - HypoVereinsbank - Hamburg (unicredit-bank-hypovereinsbank-hamburg) UniCredit Bank - HypoVereinsbank - Potsdam (unicredit-bank-hypovereinsbank-potsdam) VR Bank Pinneberg - Pinneberg (vr-bank-pinneberg-pinneberg) Zweckverbandssparkasse Scheeßel - Scheeßel (zweckverbandssparkasse-scheeßel-scheeßel) abcbank - Köln (abcbank-köln) akf bank - Wuppertal (akf-bank-wuppertal) apoBank - Düsseldorf (apobank-düsseldorf) comdirect bank - Quickborn, Kr Pinneberg (comdirect-bank-quickborn,-kr-pinneberg) comdirect bank - Quickborn, Kr Pinneberg (comdirect-bank-quickborn,-kr-pinneberg)
Accounts
Select Account
Views
Login for Views
Counterparties
Login for CPs
Transactions
Login for Trans
Get API Configuration
Returns information about:
The default bank_id
Akka configuration
Elastic Search configuration
Cached functions
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"akka":{
"ports":[{
"property":"default",
"value":"8080"
}],
"log_level":"Debug",
"remote_data_secret_matched":true
},
"elastic_search":{
"metrics":[{
"property":"String",
"value":"Mapper"
}],
"warehouse":[{
"property":"String",
"value":"ElasticSearch"
}]
},
"cache":[{
"function_name":"getBanks",
"ttl_in_seconds":5
}],
"scopes":{
"require_scopes_for_all_roles":true,
"require_scopes_for_listed_roles":["CanCreateUserAuthContextUpdate"]
}
}
Required Roles:
CanGetConfig
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by config
Get API Info (root)
Returns information about:
API version
Hosted by information
Hosted at information
Energy source information
Git Commit
Authentication is Optional
I will become the full path
Typical Successful Response:
{
"version":"String",
"version_status":"String",
"git_commit":"String",
"connector":"String",
"hosted_by":{
"organisation":"String",
"email":"String",
"phone":"String",
"organisation_website":"String"
},
"hosted_at":{
"organisation":"Amazon",
"organisation_website":"https://aws.amazon.com/"
},
"energy_source":{
"organisation":"Stromio",
"organisation_website":"https://www.stromio.de/"
}
}
Possible Errors:
OBP-50000: Unknown Error. no connector set
Implemented in OBPv4.0.0 by root
Get Adapter Info
Get basic information about the Adapter.
Authentication is Optional
I will become the full path
Typical Successful Response:
{
"name":"String",
"version":"String",
"git_commit":"String",
"date":"2013-01-21T23:08:00Z"
}
Possible Errors:
OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getAdapterInfo
Get Adapter Info for a bank
Get basic information about the Adapter listening on behalf of this bank.
Authentication is Optional
I will become the full path
Typical Successful Response:
{
"name":"String",
"version":"String",
"git_commit":"String",
"date":"2013-01-21T23:08:00Z"
}
Possible Errors:
OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getAdapterInfoForBank
Get Connector Status (Loopback)
This endpoint makes a call to the Connector to check the backend transport (e.g. Kafka) is reachable.
Currently this is only implemented for Kafka based connectors.
For Kafka based connectors, this endpoint writes a message to Kafka and reads it again.
In the future, this endpoint may also return information about database connections etc.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"connector_version":"kafka_vSept2018",
"git_commit":"f0acd4be14cdcb94be3433ec95c1ad65228812a0",
"duration_time":"10 ms"
}
Possible Errors:
OBP-50000: Unknown Error. OBP-20001: User not logged in. Authentication is required!
Implemented in OBPv3.1.0 by getObpConnectorLoopback
Get JSON Web Key (JWK)
Get the server's public JSON Web Key (JWK) set and certificate chain.
It is required by client applications to validate ID tokens, self-contained access tokens and other issued objects.
Authentication is Optional
I will become the full path
Typical Successful Response:
{
"kty":"RSA",
"e":"AQAB",
"use":"sig",
"kid":"fr6-BxXH5gikFeZ2O6rGk0LUmJpukeswASN_TMW8U_s",
"n":"hrB0OWqg6AeNU3WCnhheG18R5EbQtdNYGOaSeylTjkj2lZr0_vkhNVYvase-CroxO4HOT06InxTYwLnmJiyv2cZxReuoVjTlk--olGu-9MZooiFiqWez0JzndyKxQ27OiAjFsMh0P04kaUXeHKhXRfiU7K2FqBshR1UlnWe7iHLkq2p9rrGjxQc7ff0w-Uc0f-8PWg36Y2Od7s65493iVQwnI13egqMaSvgB1s8_dgm08noEjhr8C5m1aKmr5oipWEPNi-SBV2VNuiCLR1IEPuXq0tOwwZfv31t34KPO-2H2bbaWmzGJy9mMOGqoNrbXyGiUZoyeHRELaNtm1GilyQ"
}
Possible Errors:
OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getServerJWK
Get JSON Web Key (JWK) URIs
Get the OAuth2 server's public JSON Web Key (JWK) URIs.
It is required by client applications to validate ID tokens, self-contained access tokens and other issued objects.
Authentication is Optional
I will become the full path
Typical Successful Response:
{
"jwks_uris":[{
"jwks_uri":"https://www.googleapis.com/oauth2/v3/certs"
}]
}
Possible Errors:
OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getOAuth2ServerJWKsURIs
Get Mapper Database Info
Get basic information about the Mapper Database.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"name":"String",
"version":"String",
"git_commit":"String",
"date":"2013-01-21T23:08:00Z"
}
Required Roles:
CanGetDatabaseInfo
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-50000: Unknown Error. OBP-20006: User is missing one or more roles:
Implemented in OBPv4.0.0 by getMapperDatabaseInfo
Get Rate Limiting Info
Get information about the Rate Limiting setup on this OBP Instance such as:
Is rate limiting enabled and active?
What backend is used to keep track of the API calls (e.g. REDIS).
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"enabled":true,
"technology":"REDIS",
"service_available":true,
"is_active":true
}
Possible Errors:
OBP-50000: Unknown Error. OBP-20001: User not logged in. Authentication is required!
Implemented in OBPv3.1.0 by getRateLimitingInfo
Get the Call Context of a current call
Get the Call Context of the current call.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"jsonString":"{}"
}
Required Roles:
CanGetCallContext
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-50000: Unknown Error. OBP-20006: User is missing one or more roles:
Implemented in OBPv4.0.0 by getCallContext
Delete Account Cascade
Delete an Account Cascade specified by ACCOUNT_ID.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"jsonString":"{}"
}
Required Roles:
CanDeleteAccountCascade
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-30001: Bank not found. Please specify a valid value for BANK_ID. OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID. OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by deleteAccountCascade
Enable or Disable Consumers
Enable/Disable a Consumer specified by CONSUMER_ID.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"enabled":false
}
Required Roles:
CanEnableConsumers
- Please login to request this Role
CanDisableConsumers
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by enableDisableConsumers
Get Consumer
Get the Consumer specified by CONSUMER_ID.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"consumer_id":1213,
"app_name":"SOFI",
"app_type":"Web",
"description":"Account Management",
"developer_email":"felixsmith@example.com",
"redirect_url":"www.openbankproject.com",
"created_by_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"created_by_user":{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"email":"felixsmith@example.com",
"provider_id":"Chris",
"provider":"http://127.0.0.1:8080",
"username":"felixsmith"
},
"enabled":true,
"created":"2017-09-19T00:00:00Z"
}
Required Roles:
CanGetConsumers
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-30019: Consumer not found. Please specify a valid value for CONSUMER_ID. OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getConsumer
Get Consumers
Get the all Consumers.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"consumers":[{
"consumer_id":"8e716299-4668-4efd-976a-67f57a9984ec",
"app_name":"SOFI",
"app_type":"Web",
"description":"Account Management",
"developer_email":"felixsmith@example.com",
"redirect_url":"www.openbankproject.com",
"created_by_user":{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"email":"felixsmith@example.com",
"provider_id":"Chris",
"provider":"http://127.0.0.1:8080",
"username":"felixsmith"
},
"enabled":true,
"created":"2017-09-19T00:00:00Z"
}]
}
Required Roles:
CanGetConsumers
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getConsumers
Get Consumers (logged in User)
Get the Consumers for logged in User.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"consumers":[{
"consumer_id":"8e716299-4668-4efd-976a-67f57a9984ec",
"app_name":"SOFI",
"app_type":"Web",
"description":"Account Management",
"developer_email":"felixsmith@example.com",
"redirect_url":"www.openbankproject.com",
"created_by_user":{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"email":"felixsmith@example.com",
"provider_id":"Chris",
"provider":"http://127.0.0.1:8080",
"username":"felixsmith"
},
"enabled":true,
"created":"2017-09-19T00:00:00Z"
}]
}
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getConsumersForCurrentUser
Update Consumer RedirectUrl
Update an existing redirectUrl for a Consumer specified by CONSUMER_ID.
CONSUMER_ID can be obtained after you register the application.
Or use the endpoint 'Get Consumers' to get it
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"consumer_id":1213,
"app_name":"SOFI",
"app_type":"Web",
"description":"Account Management",
"developer_email":"felixsmith@example.com",
"redirect_url":"www.openbankproject.com",
"created_by_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"created_by_user":{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"email":"felixsmith@example.com",
"provider_id":"Chris",
"provider":"http://127.0.0.1:8080",
"username":"felixsmith"
},
"enabled":true,
"created":"2017-09-19T00:00:00Z"
}
Required Roles:
CanUpdateConsumerRedirectUrl
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv2.1.0 by updateConsumerRedirectUrl
Get Message Docs
These message docs provide example messages sent by OBP to the (Kafka) message queue for processing by the Core Banking / Payment system Adapter - together with an example expected response and possible error codes.
Integrators can use these messages to build Adapters that provide core banking services to OBP.
Note: API Explorer provides a Message Docs page where these messages are displayed.
CONNECTOR
:kafka_vMar2017 , kafka_vJune2017, kafka_vSept2018, stored_procedure_vDec2019 ...
Authentication is Optional
I will become the full path
Typical Successful Response:
{
"message_docs":[{
"process":"getAccounts",
"message_format":"KafkaV2017",
"outbound_topic":"to.obp.api.1.caseclass.OutboundGetAccounts",
"inbound_topic":"from.obp.api.1.to.adapter.mf.caseclass.OutboundGetAccounts",
"description":"get Banks",
"example_outbound_message":{
"jsonString":"{}"
},
"example_inbound_message":{
"jsonString":"{}"
},
"outboundAvroSchema":{
"jsonString":"{}"
},
"inboundAvroSchema":{
"jsonString":"{}"
},
"adapter_implementation":{
"group":"CORE",
"suggested_order":3
},
"dependent_endpoints":[{
"name":"getAccounts",
"version":"OBPv3.0.0"
},{
"name":"getBalances",
"version":"OBPv2.0.0"
}],
"requiredFieldInfo":{
"data.bankId":["v2.2.0","v3.1.0"]
}
}]
}
Possible Errors:
OBP-50000: Unknown Error.
Implemented in OBPv2.2.0 by getMessageDocs
Get Message Docs Swagger
This endpoint provides example message docs in swagger format.
It is only relavent for REST Connectors.
This endpoint can be used by the developer building a REST Adapter that connects to the Core Banking System (CBS).
That is, the Adapter developer can use the Swagger surfaced here to build the REST APIs that the OBP REST connector will call to consume CBS services.
i.e.:
OBP API (Core OBP API code) -> OBP REST Connector (OBP REST Connector code) -> OBP REST Adapter (Adapter developer code) -> CBS (Main Frame)
Authentication is Optional
I will become the full path
Typical Successful Response:
{
"message_docs":[{
"process":"getAccounts",
"message_format":"KafkaV2017",
"outbound_topic":"to.obp.api.1.caseclass.OutboundGetAccounts",
"inbound_topic":"from.obp.api.1.to.adapter.mf.caseclass.OutboundGetAccounts",
"description":"get Banks",
"example_outbound_message":{
"jsonString":"{}"
},
"example_inbound_message":{
"jsonString":"{}"
},
"outboundAvroSchema":{
"jsonString":"{}"
},
"inboundAvroSchema":{
"jsonString":"{}"
},
"adapter_implementation":{
"group":"CORE",
"suggested_order":3
},
"dependent_endpoints":[{
"name":"getAccounts",
"version":"OBPv3.0.0"
},{
"name":"getBalances",
"version":"OBPv2.0.0"
}],
"requiredFieldInfo":{
"data.bankId":["v2.2.0","v3.1.0"]
}
}]
}
Possible Errors:
OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getMessageDocsSwagger
Get Resource Docs
Get documentation about the RESTful resources on this server including example bodies for POST and PUT requests.
This is the native data format used to document OBP endpoints. Each endpoint has a Resource Doc (a Scala case class) defined in the source code.
This endpoint is used by OBP API Explorer to display and work with the API documentation.
Most (but not all) fields are also available in swagger format. (The Swagger endpoint is built from Resource Docs.)
API_VERSION is the version you want documentation about e.g. v3.0.0
You may filter this endpoint with tags parameter e.g. ?tags=Account,Bank
You may filter this endpoint with functions parameter e.g. ?functions=enableDisableConsumers,getConnectorMetrics
For possible function values, see implemented_by.function in the JSON returned by this endpoint or the OBP source code or the footer of the API Explorer which produces a comma separated list of functions that reflect the server or filtering by API Explorer based on tags etc.
You may filter this endpoint using the 'Catalogs' url parameter e.g. ?core=&psd2=true&obwg=
You may need some other language resource docs, now we support en and zh
See the Resource Doc endpoint for more information.
Following are more examples:
https://api.openbankproject.com/obp/v3.1.0/resource-docs/v3.1.0/obp
https://api.openbankproject.com/obp/v3.1.0/resource-docs/v3.1.0/obp?psd2=true
https://api.openbankproject.com/obp/v3.1.0/resource-docs/v3.1.0/obp?tags=Account,Bank
https://api.openbankproject.com/obp/v3.1.0/resource-docs/v3.1.0/obp?functions=getBanks,bankById
https://api.openbankproject.com/obp/v3.1.0/resource-docs/v3.1.0/obp?psd2=true&tags=Account,Bank&functions=getBanks,bankById
https://api.openbankproject.com/obp/v3.1.0/resource-docs/v4.0.0/obp?language=zh
operation_id is concatenation of "v", version and function and should be unique (used for DOM element IDs etc. maybe used to link to source code)
version references the version that the API call is defined in.
function is the (scala) partial function that implements this endpoint. It is unique per version of the API.
request_url is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the implemented version (the version where this endpoint was defined) e.g. /obp/v1.2.0/resource
specified_url (recommended to use) is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the version specified in the call e.g. /obp/v3.1.0/resource. In OBP, endpoints are first made available at the request_url, but the same resource (function call) is often made available under later versions (specified_url). To access the latest version of all endpoints use the latest version available on your OBP instance e.g. /obp/v3.1.0 - To get the original version use the request_url. We recommend to use the specified_url since non semantic improvements are more likely to be applied to later implementations of the call.
summary is a short description inline with the swagger terminology.
description may contain html markup (generated from markdown on the server).
Authentication is Optional
I will become the full path
Typical Successful Response:
{
"jsonString":"{}"
}
Possible Errors:
OBP-50000: Unknown Error.
Implemented in OBPv1.4.0 by getResourceDocsObp
Get Swagger documentation
I will become the full path
Typical Successful Response:
{
"jsonString":"{}"
}
Possible Errors:
OBP-50000: Unknown Error.
Implemented in OBPv1.4.0 by getResourceDocsSwagger
Create Dynamic Endpoint
Create dynamic endpoints.
Create dynamic endpoints with one json format swagger content.
If the host of swagger is obp_mock
, every dynamic endpoint will return example response of swagger,
when create MethodRouting for given dynamic endpoint, it will be routed to given url.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"description":"This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"version":"1.0.5",
"title":"Swagger Petstore",
"termsOfService":"http://swagger.io/terms/",
"contact":{
"email":"apiteam@swagger.io"
},
"license":{
"name":"Apache 2.0",
"url":"http://www.apache.org/licenses/LICENSE-2.0.html"
}
},
"host":"petstore.swagger.io",
"basePath":"/v2",
"tags":[{
"name":"pet",
"description":"Everything about your Pets",
"externalDocs":{
"description":"Find out more",
"url":"http://swagger.io"
}
},{
"name":"store",
"description":"Access to Petstore orders"
},{
"name":"user",
"description":"Operations about user",
"externalDocs":{
"description":"Find out more about our store",
"url":"http://swagger.io"
}
}],
"schemes":["https","http"],
"paths":{
"/pet/{petId}/uploadImage":{
"post":{
"tags":["pet"],
"summary":"uploads an image",
"description":"",
"operationId":"uploadFile",
"consumes":["multipart/form-data"],
"produces":["application/json"],
"parameters":[{
"name":"petId",
"in":"path",
"description":"ID of pet to update",
"required":true,
"type":"integer",
"format":"int64"
},{
"name":"additionalMetadata",
"in":"formData",
"description":"Additional data to pass to server",
"required":false,
"type":"string"
},{
"name":"file",
"in":"formData",
"description":"file to upload",
"required":false,
"type":"file"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/ApiResponse"
}
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/pet":{
"post":{
"tags":["pet"],
"summary":"Add a new pet to the store",
"description":"",
"operationId":"addPet",
"consumes":["application/json","application/xml"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"Pet object that needs to be added to the store",
"required":true,
"schema":{
"$ref":"#/definitions/Pet"
}
}],
"responses":{
"405":{
"description":"Invalid input"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
},
"put":{
"tags":["pet"],
"summary":"Update an existing pet",
"description":"",
"operationId":"updatePet",
"consumes":["application/json","application/xml"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"Pet object that needs to be added to the store",
"required":true,
"schema":{
"$ref":"#/definitions/Pet"
}
}],
"responses":{
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Pet not found"
},
"405":{
"description":"Validation exception"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/pet/findByStatus":{
"get":{
"tags":["pet"],
"summary":"Finds Pets by status",
"description":"Multiple status values can be provided with comma separated strings",
"operationId":"findPetsByStatus",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"status",
"in":"query",
"description":"Status values that need to be considered for filter",
"required":true,
"type":"array",
"items":{
"type":"string",
"enum":["available","pending","sold"],
"default":"available"
},
"collectionFormat":"multi"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/Pet"
}
}
},
"400":{
"description":"Invalid status value"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/pet/findByTags":{
"get":{
"tags":["pet"],
"summary":"Finds Pets by tags",
"description":"Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
"operationId":"findPetsByTags",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"tags",
"in":"query",
"description":"Tags to filter by",
"required":true,
"type":"array",
"items":{
"type":"string"
},
"collectionFormat":"multi"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/Pet"
}
}
},
"400":{
"description":"Invalid tag value"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}],
"deprecated":true
}
},
"/pet/{petId}":{
"get":{
"tags":["pet"],
"summary":"Find pet by ID",
"description":"Returns a single pet",
"operationId":"getPetById",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"petId",
"in":"path",
"description":"ID of pet to return",
"required":true,
"type":"integer",
"format":"int64"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/Pet"
}
},
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Pet not found"
}
},
"security":[{
"api_key":[]
}]
},
"post":{
"tags":["pet"],
"summary":"Updates a pet in the store with form data",
"description":"",
"operationId":"updatePetWithForm",
"consumes":["application/x-www-form-urlencoded"],
"produces":["application/json","application/xml"],
"parameters":[{
"name":"petId",
"in":"path",
"description":"ID of pet that needs to be updated",
"required":true,
"type":"integer",
"format":"int64"
},{
"name":"name",
"in":"formData",
"description":"Updated name of the pet",
"required":false,
"type":"string"
},{
"name":"status",
"in":"formData",
"description":"Updated status of the pet",
"required":false,
"type":"string"
}],
"responses":{
"405":{
"description":"Invalid input"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
},
"delete":{
"tags":["pet"],
"summary":"Deletes a pet",
"description":"",
"operationId":"deletePet",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"api_key",
"in":"header",
"required":false,
"type":"string"
},{
"name":"petId",
"in":"path",
"description":"Pet id to delete",
"required":true,
"type":"integer",
"format":"int64"
}],
"responses":{
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Pet not found"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/store/order":{
"post":{
"tags":["store"],
"summary":"Place an order for a pet",
"description":"",
"operationId":"placeOrder",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"order placed for purchasing the pet",
"required":true,
"schema":{
"$ref":"#/definitions/Order"
}
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/Order"
}
},
"400":{
"description":"Invalid Order"
}
}
}
},
"/store/order/{orderId}":{
"get":{
"tags":["store"],
"summary":"Find purchase order by ID",
"description":"For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions",
"operationId":"getOrderById",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"orderId",
"in":"path",
"description":"ID of pet that needs to be fetched",
"required":true,
"type":"integer",
"maximum":10,
"minimum":1,
"format":"int64"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/Order"
}
},
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Order not found"
}
}
},
"delete":{
"tags":["store"],
"summary":"Delete purchase order by ID",
"description":"For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors",
"operationId":"deleteOrder",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"orderId",
"in":"path",
"description":"ID of the order that needs to be deleted",
"required":true,
"type":"integer",
"minimum":1,
"format":"int64"
}],
"responses":{
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Order not found"
}
}
}
},
"/store/inventory":{
"get":{
"tags":["store"],
"summary":"Returns pet inventories by status",
"description":"Returns a map of status codes to quantities",
"operationId":"getInventory",
"produces":["application/json"],
"parameters":[],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"object",
"additionalProperties":{
"type":"integer",
"format":"int32"
}
}
}
},
"security":[{
"api_key":[]
}]
}
},
"/user/createWithArray":{
"post":{
"tags":["user"],
"summary":"Creates list of users with given input array",
"description":"",
"operationId":"createUsersWithArrayInput",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"List of user object",
"required":true,
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/User"
}
}
}],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/user/createWithList":{
"post":{
"tags":["user"],
"summary":"Creates list of users with given input array",
"description":"",
"operationId":"createUsersWithListInput",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"List of user object",
"required":true,
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/User"
}
}
}],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/user/{username}":{
"get":{
"tags":["user"],
"summary":"Get user by user name",
"description":"",
"operationId":"getUserByName",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"path",
"description":"The name that needs to be fetched. Use user1 for testing. ",
"required":true,
"type":"string"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/User"
}
},
"400":{
"description":"Invalid username supplied"
},
"404":{
"description":"User not found"
}
}
},
"put":{
"tags":["user"],
"summary":"Updated user",
"description":"This can only be done by the logged in user.",
"operationId":"updateUser",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"path",
"description":"name that need to be updated",
"required":true,
"type":"string"
},{
"in":"body",
"name":"body",
"description":"Updated user object",
"required":true,
"schema":{
"$ref":"#/definitions/User"
}
}],
"responses":{
"400":{
"description":"Invalid user supplied"
},
"404":{
"description":"User not found"
}
}
},
"delete":{
"tags":["user"],
"summary":"Delete user",
"description":"This can only be done by the logged in user.",
"operationId":"deleteUser",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"path",
"description":"The name that needs to be deleted",
"required":true,
"type":"string"
}],
"responses":{
"400":{
"description":"Invalid username supplied"
},
"404":{
"description":"User not found"
}
}
}
},
"/user/login":{
"get":{
"tags":["user"],
"summary":"Logs user into the system",
"description":"",
"operationId":"loginUser",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"query",
"description":"The user name for login",
"required":true,
"type":"string"
},{
"name":"password",
"in":"query",
"description":"The password for login in clear text",
"required":true,
"type":"string"
}],
"responses":{
"200":{
"description":"successful operation",
"headers":{
"X-Expires-After":{
"type":"string",
"format":"date-time",
"description":"date in UTC when token expires"
},
"X-Rate-Limit":{
"type":"integer",
"format":"int32",
"description":"calls per hour allowed by the user"
}
},
"schema":{
"type":"string"
}
},
"400":{
"description":"Invalid username/password supplied"
}
}
}
},
"/user/logout":{
"get":{
"tags":["user"],
"summary":"Logs out current logged in user session",
"description":"",
"operationId":"logoutUser",
"produces":["application/json","application/xml"],
"parameters":[],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/user":{
"post":{
"tags":["user"],
"summary":"Create user",
"description":"This can only be done by the logged in user.",
"operationId":"createUser",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"Created user object",
"required":true,
"schema":{
"$ref":"#/definitions/User"
}
}],
"responses":{
"default":{
"description":"successful operation"
}
}
}
}
},
"securityDefinitions":{
"api_key":{
"type":"apiKey",
"name":"api_key",
"in":"header"
},
"petstore_auth":{
"type":"oauth2",
"authorizationUrl":"https://petstore.swagger.io/oauth/authorize",
"flow":"implicit",
"scopes":{
"read:pets":"read your pets",
"write:pets":"modify pets in your account"
}
}
},
"definitions":{
"ApiResponse":{
"type":"object",
"properties":{
"code":{
"type":"integer",
"format":"int32"
},
"type":{
"type":"string"
},
"message":{
"type":"string"
}
}
},
"Category":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"name":{
"type":"string"
}
},
"xml":{
"name":"Category"
}
},
"Pet":{
"type":"object",
"required":["name","photoUrls"],
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"category":{
"$ref":"#/definitions/Category"
},
"name":{
"type":"string",
"example":"doggie"
},
"photoUrls":{
"type":"array",
"xml":{
"wrapped":true
},
"items":{
"type":"string",
"xml":{
"name":"photoUrl"
}
}
},
"tags":{
"type":"array",
"xml":{
"wrapped":true
},
"items":{
"xml":{
"name":"tag"
},
"$ref":"#/definitions/Tag"
}
},
"status":{
"type":"string",
"description":"pet status in the store",
"enum":["available","pending","sold"]
}
},
"xml":{
"name":"Pet"
}
},
"Tag":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"name":{
"type":"string"
}
},
"xml":{
"name":"Tag"
}
},
"Order":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"petId":{
"type":"integer",
"format":"int64"
},
"quantity":{
"type":"integer",
"format":"int32"
},
"shipDate":{
"type":"string",
"format":"date-time"
},
"status":{
"type":"string",
"description":"Order Status",
"enum":["placed","approved","delivered"]
},
"complete":{
"type":"boolean"
}
},
"xml":{
"name":"Order"
}
},
"User":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"username":{
"type":"string"
},
"firstName":{
"type":"string"
},
"lastName":{
"type":"string"
},
"email":{
"type":"string"
},
"password":{
"type":"string"
},
"phone":{
"type":"string"
},
"userStatus":{
"type":"integer",
"format":"int32",
"description":"User Status"
}
},
"xml":{
"name":"User"
}
}
},
"externalDocs":{
"description":"Find out more about Swagger",
"url":"http://swagger.io"
}
}
}
Required Roles:
CanCreateDynamicEndpoint
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-09008: DynamicEndpoint already exists. OBP-10001: Incorrect json format. OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by createDynamicEndpoint
Delete Dynamic Endpoint
Delete a DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
Required Roles:
CanDeleteDynamicEndpoint
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-09009: DynamicEndpoint not found. Please specify a valid value for DYNAMIC_ENDPOINT_ID. OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by deleteDynamicEndpoint
Get Dynamic Endpoint
Get a Dynamic Endpoint.
Get one DynamicEndpoint,
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"description":"This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"version":"1.0.5",
"title":"Swagger Petstore",
"termsOfService":"http://swagger.io/terms/",
"contact":{
"email":"apiteam@swagger.io"
},
"license":{
"name":"Apache 2.0",
"url":"http://www.apache.org/licenses/LICENSE-2.0.html"
}
},
"host":"petstore.swagger.io",
"basePath":"/v2",
"tags":[{
"name":"pet",
"description":"Everything about your Pets",
"externalDocs":{
"description":"Find out more",
"url":"http://swagger.io"
}
},{
"name":"store",
"description":"Access to Petstore orders"
},{
"name":"user",
"description":"Operations about user",
"externalDocs":{
"description":"Find out more about our store",
"url":"http://swagger.io"
}
}],
"schemes":["https","http"],
"paths":{
"/pet/{petId}/uploadImage":{
"post":{
"tags":["pet"],
"summary":"uploads an image",
"description":"",
"operationId":"uploadFile",
"consumes":["multipart/form-data"],
"produces":["application/json"],
"parameters":[{
"name":"petId",
"in":"path",
"description":"ID of pet to update",
"required":true,
"type":"integer",
"format":"int64"
},{
"name":"additionalMetadata",
"in":"formData",
"description":"Additional data to pass to server",
"required":false,
"type":"string"
},{
"name":"file",
"in":"formData",
"description":"file to upload",
"required":false,
"type":"file"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/ApiResponse"
}
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/pet":{
"post":{
"tags":["pet"],
"summary":"Add a new pet to the store",
"description":"",
"operationId":"addPet",
"consumes":["application/json","application/xml"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"Pet object that needs to be added to the store",
"required":true,
"schema":{
"$ref":"#/definitions/Pet"
}
}],
"responses":{
"405":{
"description":"Invalid input"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
},
"put":{
"tags":["pet"],
"summary":"Update an existing pet",
"description":"",
"operationId":"updatePet",
"consumes":["application/json","application/xml"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"Pet object that needs to be added to the store",
"required":true,
"schema":{
"$ref":"#/definitions/Pet"
}
}],
"responses":{
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Pet not found"
},
"405":{
"description":"Validation exception"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/pet/findByStatus":{
"get":{
"tags":["pet"],
"summary":"Finds Pets by status",
"description":"Multiple status values can be provided with comma separated strings",
"operationId":"findPetsByStatus",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"status",
"in":"query",
"description":"Status values that need to be considered for filter",
"required":true,
"type":"array",
"items":{
"type":"string",
"enum":["available","pending","sold"],
"default":"available"
},
"collectionFormat":"multi"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/Pet"
}
}
},
"400":{
"description":"Invalid status value"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/pet/findByTags":{
"get":{
"tags":["pet"],
"summary":"Finds Pets by tags",
"description":"Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
"operationId":"findPetsByTags",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"tags",
"in":"query",
"description":"Tags to filter by",
"required":true,
"type":"array",
"items":{
"type":"string"
},
"collectionFormat":"multi"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/Pet"
}
}
},
"400":{
"description":"Invalid tag value"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}],
"deprecated":true
}
},
"/pet/{petId}":{
"get":{
"tags":["pet"],
"summary":"Find pet by ID",
"description":"Returns a single pet",
"operationId":"getPetById",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"petId",
"in":"path",
"description":"ID of pet to return",
"required":true,
"type":"integer",
"format":"int64"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/Pet"
}
},
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Pet not found"
}
},
"security":[{
"api_key":[]
}]
},
"post":{
"tags":["pet"],
"summary":"Updates a pet in the store with form data",
"description":"",
"operationId":"updatePetWithForm",
"consumes":["application/x-www-form-urlencoded"],
"produces":["application/json","application/xml"],
"parameters":[{
"name":"petId",
"in":"path",
"description":"ID of pet that needs to be updated",
"required":true,
"type":"integer",
"format":"int64"
},{
"name":"name",
"in":"formData",
"description":"Updated name of the pet",
"required":false,
"type":"string"
},{
"name":"status",
"in":"formData",
"description":"Updated status of the pet",
"required":false,
"type":"string"
}],
"responses":{
"405":{
"description":"Invalid input"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
},
"delete":{
"tags":["pet"],
"summary":"Deletes a pet",
"description":"",
"operationId":"deletePet",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"api_key",
"in":"header",
"required":false,
"type":"string"
},{
"name":"petId",
"in":"path",
"description":"Pet id to delete",
"required":true,
"type":"integer",
"format":"int64"
}],
"responses":{
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Pet not found"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/store/order":{
"post":{
"tags":["store"],
"summary":"Place an order for a pet",
"description":"",
"operationId":"placeOrder",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"order placed for purchasing the pet",
"required":true,
"schema":{
"$ref":"#/definitions/Order"
}
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/Order"
}
},
"400":{
"description":"Invalid Order"
}
}
}
},
"/store/order/{orderId}":{
"get":{
"tags":["store"],
"summary":"Find purchase order by ID",
"description":"For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions",
"operationId":"getOrderById",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"orderId",
"in":"path",
"description":"ID of pet that needs to be fetched",
"required":true,
"type":"integer",
"maximum":10,
"minimum":1,
"format":"int64"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/Order"
}
},
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Order not found"
}
}
},
"delete":{
"tags":["store"],
"summary":"Delete purchase order by ID",
"description":"For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors",
"operationId":"deleteOrder",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"orderId",
"in":"path",
"description":"ID of the order that needs to be deleted",
"required":true,
"type":"integer",
"minimum":1,
"format":"int64"
}],
"responses":{
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Order not found"
}
}
}
},
"/store/inventory":{
"get":{
"tags":["store"],
"summary":"Returns pet inventories by status",
"description":"Returns a map of status codes to quantities",
"operationId":"getInventory",
"produces":["application/json"],
"parameters":[],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"object",
"additionalProperties":{
"type":"integer",
"format":"int32"
}
}
}
},
"security":[{
"api_key":[]
}]
}
},
"/user/createWithArray":{
"post":{
"tags":["user"],
"summary":"Creates list of users with given input array",
"description":"",
"operationId":"createUsersWithArrayInput",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"List of user object",
"required":true,
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/User"
}
}
}],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/user/createWithList":{
"post":{
"tags":["user"],
"summary":"Creates list of users with given input array",
"description":"",
"operationId":"createUsersWithListInput",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"List of user object",
"required":true,
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/User"
}
}
}],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/user/{username}":{
"get":{
"tags":["user"],
"summary":"Get user by user name",
"description":"",
"operationId":"getUserByName",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"path",
"description":"The name that needs to be fetched. Use user1 for testing. ",
"required":true,
"type":"string"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/User"
}
},
"400":{
"description":"Invalid username supplied"
},
"404":{
"description":"User not found"
}
}
},
"put":{
"tags":["user"],
"summary":"Updated user",
"description":"This can only be done by the logged in user.",
"operationId":"updateUser",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"path",
"description":"name that need to be updated",
"required":true,
"type":"string"
},{
"in":"body",
"name":"body",
"description":"Updated user object",
"required":true,
"schema":{
"$ref":"#/definitions/User"
}
}],
"responses":{
"400":{
"description":"Invalid user supplied"
},
"404":{
"description":"User not found"
}
}
},
"delete":{
"tags":["user"],
"summary":"Delete user",
"description":"This can only be done by the logged in user.",
"operationId":"deleteUser",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"path",
"description":"The name that needs to be deleted",
"required":true,
"type":"string"
}],
"responses":{
"400":{
"description":"Invalid username supplied"
},
"404":{
"description":"User not found"
}
}
}
},
"/user/login":{
"get":{
"tags":["user"],
"summary":"Logs user into the system",
"description":"",
"operationId":"loginUser",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"query",
"description":"The user name for login",
"required":true,
"type":"string"
},{
"name":"password",
"in":"query",
"description":"The password for login in clear text",
"required":true,
"type":"string"
}],
"responses":{
"200":{
"description":"successful operation",
"headers":{
"X-Expires-After":{
"type":"string",
"format":"date-time",
"description":"date in UTC when token expires"
},
"X-Rate-Limit":{
"type":"integer",
"format":"int32",
"description":"calls per hour allowed by the user"
}
},
"schema":{
"type":"string"
}
},
"400":{
"description":"Invalid username/password supplied"
}
}
}
},
"/user/logout":{
"get":{
"tags":["user"],
"summary":"Logs out current logged in user session",
"description":"",
"operationId":"logoutUser",
"produces":["application/json","application/xml"],
"parameters":[],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/user":{
"post":{
"tags":["user"],
"summary":"Create user",
"description":"This can only be done by the logged in user.",
"operationId":"createUser",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"Created user object",
"required":true,
"schema":{
"$ref":"#/definitions/User"
}
}],
"responses":{
"default":{
"description":"successful operation"
}
}
}
}
},
"securityDefinitions":{
"api_key":{
"type":"apiKey",
"name":"api_key",
"in":"header"
},
"petstore_auth":{
"type":"oauth2",
"authorizationUrl":"https://petstore.swagger.io/oauth/authorize",
"flow":"implicit",
"scopes":{
"read:pets":"read your pets",
"write:pets":"modify pets in your account"
}
}
},
"definitions":{
"ApiResponse":{
"type":"object",
"properties":{
"code":{
"type":"integer",
"format":"int32"
},
"type":{
"type":"string"
},
"message":{
"type":"string"
}
}
},
"Category":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"name":{
"type":"string"
}
},
"xml":{
"name":"Category"
}
},
"Pet":{
"type":"object",
"required":["name","photoUrls"],
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"category":{
"$ref":"#/definitions/Category"
},
"name":{
"type":"string",
"example":"doggie"
},
"photoUrls":{
"type":"array",
"xml":{
"wrapped":true
},
"items":{
"type":"string",
"xml":{
"name":"photoUrl"
}
}
},
"tags":{
"type":"array",
"xml":{
"wrapped":true
},
"items":{
"xml":{
"name":"tag"
},
"$ref":"#/definitions/Tag"
}
},
"status":{
"type":"string",
"description":"pet status in the store",
"enum":["available","pending","sold"]
}
},
"xml":{
"name":"Pet"
}
},
"Tag":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"name":{
"type":"string"
}
},
"xml":{
"name":"Tag"
}
},
"Order":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"petId":{
"type":"integer",
"format":"int64"
},
"quantity":{
"type":"integer",
"format":"int32"
},
"shipDate":{
"type":"string",
"format":"date-time"
},
"status":{
"type":"string",
"description":"Order Status",
"enum":["placed","approved","delivered"]
},
"complete":{
"type":"boolean"
}
},
"xml":{
"name":"Order"
}
},
"User":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"username":{
"type":"string"
},
"firstName":{
"type":"string"
},
"lastName":{
"type":"string"
},
"email":{
"type":"string"
},
"password":{
"type":"string"
},
"phone":{
"type":"string"
},
"userStatus":{
"type":"integer",
"format":"int32",
"description":"User Status"
}
},
"xml":{
"name":"User"
}
}
},
"externalDocs":{
"description":"Find out more about Swagger",
"url":"http://swagger.io"
}
}
}
Required Roles:
CanGetDynamicEndpoint
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-09009: DynamicEndpoint not found. Please specify a valid value for DYNAMIC_ENDPOINT_ID. OBP-10001: Incorrect json format. OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by getDynamicEndpoint
Get Dynamic Endpoints
Get Dynamic Endpoints.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"dynamic_endpoints":[{
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"description":"This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"version":"1.0.5",
"title":"Swagger Petstore",
"termsOfService":"http://swagger.io/terms/",
"contact":{
"email":"apiteam@swagger.io"
},
"license":{
"name":"Apache 2.0",
"url":"http://www.apache.org/licenses/LICENSE-2.0.html"
}
},
"host":"petstore.swagger.io",
"basePath":"/v2",
"tags":[{
"name":"pet",
"description":"Everything about your Pets",
"externalDocs":{
"description":"Find out more",
"url":"http://swagger.io"
}
},{
"name":"store",
"description":"Access to Petstore orders"
},{
"name":"user",
"description":"Operations about user",
"externalDocs":{
"description":"Find out more about our store",
"url":"http://swagger.io"
}
}],
"schemes":["https","http"],
"paths":{
"/pet/{petId}/uploadImage":{
"post":{
"tags":["pet"],
"summary":"uploads an image",
"description":"",
"operationId":"uploadFile",
"consumes":["multipart/form-data"],
"produces":["application/json"],
"parameters":[{
"name":"petId",
"in":"path",
"description":"ID of pet to update",
"required":true,
"type":"integer",
"format":"int64"
},{
"name":"additionalMetadata",
"in":"formData",
"description":"Additional data to pass to server",
"required":false,
"type":"string"
},{
"name":"file",
"in":"formData",
"description":"file to upload",
"required":false,
"type":"file"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/ApiResponse"
}
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/pet":{
"post":{
"tags":["pet"],
"summary":"Add a new pet to the store",
"description":"",
"operationId":"addPet",
"consumes":["application/json","application/xml"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"Pet object that needs to be added to the store",
"required":true,
"schema":{
"$ref":"#/definitions/Pet"
}
}],
"responses":{
"405":{
"description":"Invalid input"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
},
"put":{
"tags":["pet"],
"summary":"Update an existing pet",
"description":"",
"operationId":"updatePet",
"consumes":["application/json","application/xml"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"Pet object that needs to be added to the store",
"required":true,
"schema":{
"$ref":"#/definitions/Pet"
}
}],
"responses":{
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Pet not found"
},
"405":{
"description":"Validation exception"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/pet/findByStatus":{
"get":{
"tags":["pet"],
"summary":"Finds Pets by status",
"description":"Multiple status values can be provided with comma separated strings",
"operationId":"findPetsByStatus",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"status",
"in":"query",
"description":"Status values that need to be considered for filter",
"required":true,
"type":"array",
"items":{
"type":"string",
"enum":["available","pending","sold"],
"default":"available"
},
"collectionFormat":"multi"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/Pet"
}
}
},
"400":{
"description":"Invalid status value"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/pet/findByTags":{
"get":{
"tags":["pet"],
"summary":"Finds Pets by tags",
"description":"Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
"operationId":"findPetsByTags",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"tags",
"in":"query",
"description":"Tags to filter by",
"required":true,
"type":"array",
"items":{
"type":"string"
},
"collectionFormat":"multi"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/Pet"
}
}
},
"400":{
"description":"Invalid tag value"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}],
"deprecated":true
}
},
"/pet/{petId}":{
"get":{
"tags":["pet"],
"summary":"Find pet by ID",
"description":"Returns a single pet",
"operationId":"getPetById",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"petId",
"in":"path",
"description":"ID of pet to return",
"required":true,
"type":"integer",
"format":"int64"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/Pet"
}
},
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Pet not found"
}
},
"security":[{
"api_key":[]
}]
},
"post":{
"tags":["pet"],
"summary":"Updates a pet in the store with form data",
"description":"",
"operationId":"updatePetWithForm",
"consumes":["application/x-www-form-urlencoded"],
"produces":["application/json","application/xml"],
"parameters":[{
"name":"petId",
"in":"path",
"description":"ID of pet that needs to be updated",
"required":true,
"type":"integer",
"format":"int64"
},{
"name":"name",
"in":"formData",
"description":"Updated name of the pet",
"required":false,
"type":"string"
},{
"name":"status",
"in":"formData",
"description":"Updated status of the pet",
"required":false,
"type":"string"
}],
"responses":{
"405":{
"description":"Invalid input"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
},
"delete":{
"tags":["pet"],
"summary":"Deletes a pet",
"description":"",
"operationId":"deletePet",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"api_key",
"in":"header",
"required":false,
"type":"string"
},{
"name":"petId",
"in":"path",
"description":"Pet id to delete",
"required":true,
"type":"integer",
"format":"int64"
}],
"responses":{
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Pet not found"
}
},
"security":[{
"petstore_auth":["write:pets","read:pets"]
}]
}
},
"/store/order":{
"post":{
"tags":["store"],
"summary":"Place an order for a pet",
"description":"",
"operationId":"placeOrder",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"order placed for purchasing the pet",
"required":true,
"schema":{
"$ref":"#/definitions/Order"
}
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/Order"
}
},
"400":{
"description":"Invalid Order"
}
}
}
},
"/store/order/{orderId}":{
"get":{
"tags":["store"],
"summary":"Find purchase order by ID",
"description":"For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions",
"operationId":"getOrderById",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"orderId",
"in":"path",
"description":"ID of pet that needs to be fetched",
"required":true,
"type":"integer",
"maximum":10,
"minimum":1,
"format":"int64"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/Order"
}
},
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Order not found"
}
}
},
"delete":{
"tags":["store"],
"summary":"Delete purchase order by ID",
"description":"For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors",
"operationId":"deleteOrder",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"orderId",
"in":"path",
"description":"ID of the order that needs to be deleted",
"required":true,
"type":"integer",
"minimum":1,
"format":"int64"
}],
"responses":{
"400":{
"description":"Invalid ID supplied"
},
"404":{
"description":"Order not found"
}
}
}
},
"/store/inventory":{
"get":{
"tags":["store"],
"summary":"Returns pet inventories by status",
"description":"Returns a map of status codes to quantities",
"operationId":"getInventory",
"produces":["application/json"],
"parameters":[],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"object",
"additionalProperties":{
"type":"integer",
"format":"int32"
}
}
}
},
"security":[{
"api_key":[]
}]
}
},
"/user/createWithArray":{
"post":{
"tags":["user"],
"summary":"Creates list of users with given input array",
"description":"",
"operationId":"createUsersWithArrayInput",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"List of user object",
"required":true,
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/User"
}
}
}],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/user/createWithList":{
"post":{
"tags":["user"],
"summary":"Creates list of users with given input array",
"description":"",
"operationId":"createUsersWithListInput",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"List of user object",
"required":true,
"schema":{
"type":"array",
"items":{
"$ref":"#/definitions/User"
}
}
}],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/user/{username}":{
"get":{
"tags":["user"],
"summary":"Get user by user name",
"description":"",
"operationId":"getUserByName",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"path",
"description":"The name that needs to be fetched. Use user1 for testing. ",
"required":true,
"type":"string"
}],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/User"
}
},
"400":{
"description":"Invalid username supplied"
},
"404":{
"description":"User not found"
}
}
},
"put":{
"tags":["user"],
"summary":"Updated user",
"description":"This can only be done by the logged in user.",
"operationId":"updateUser",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"path",
"description":"name that need to be updated",
"required":true,
"type":"string"
},{
"in":"body",
"name":"body",
"description":"Updated user object",
"required":true,
"schema":{
"$ref":"#/definitions/User"
}
}],
"responses":{
"400":{
"description":"Invalid user supplied"
},
"404":{
"description":"User not found"
}
}
},
"delete":{
"tags":["user"],
"summary":"Delete user",
"description":"This can only be done by the logged in user.",
"operationId":"deleteUser",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"path",
"description":"The name that needs to be deleted",
"required":true,
"type":"string"
}],
"responses":{
"400":{
"description":"Invalid username supplied"
},
"404":{
"description":"User not found"
}
}
}
},
"/user/login":{
"get":{
"tags":["user"],
"summary":"Logs user into the system",
"description":"",
"operationId":"loginUser",
"produces":["application/json","application/xml"],
"parameters":[{
"name":"username",
"in":"query",
"description":"The user name for login",
"required":true,
"type":"string"
},{
"name":"password",
"in":"query",
"description":"The password for login in clear text",
"required":true,
"type":"string"
}],
"responses":{
"200":{
"description":"successful operation",
"headers":{
"X-Expires-After":{
"type":"string",
"format":"date-time",
"description":"date in UTC when token expires"
},
"X-Rate-Limit":{
"type":"integer",
"format":"int32",
"description":"calls per hour allowed by the user"
}
},
"schema":{
"type":"string"
}
},
"400":{
"description":"Invalid username/password supplied"
}
}
}
},
"/user/logout":{
"get":{
"tags":["user"],
"summary":"Logs out current logged in user session",
"description":"",
"operationId":"logoutUser",
"produces":["application/json","application/xml"],
"parameters":[],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/user":{
"post":{
"tags":["user"],
"summary":"Create user",
"description":"This can only be done by the logged in user.",
"operationId":"createUser",
"consumes":["application/json"],
"produces":["application/json","application/xml"],
"parameters":[{
"in":"body",
"name":"body",
"description":"Created user object",
"required":true,
"schema":{
"$ref":"#/definitions/User"
}
}],
"responses":{
"default":{
"description":"successful operation"
}
}
}
}
},
"securityDefinitions":{
"api_key":{
"type":"apiKey",
"name":"api_key",
"in":"header"
},
"petstore_auth":{
"type":"oauth2",
"authorizationUrl":"https://petstore.swagger.io/oauth/authorize",
"flow":"implicit",
"scopes":{
"read:pets":"read your pets",
"write:pets":"modify pets in your account"
}
}
},
"definitions":{
"ApiResponse":{
"type":"object",
"properties":{
"code":{
"type":"integer",
"format":"int32"
},
"type":{
"type":"string"
},
"message":{
"type":"string"
}
}
},
"Category":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"name":{
"type":"string"
}
},
"xml":{
"name":"Category"
}
},
"Pet":{
"type":"object",
"required":["name","photoUrls"],
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"category":{
"$ref":"#/definitions/Category"
},
"name":{
"type":"string",
"example":"doggie"
},
"photoUrls":{
"type":"array",
"xml":{
"wrapped":true
},
"items":{
"type":"string",
"xml":{
"name":"photoUrl"
}
}
},
"tags":{
"type":"array",
"xml":{
"wrapped":true
},
"items":{
"xml":{
"name":"tag"
},
"$ref":"#/definitions/Tag"
}
},
"status":{
"type":"string",
"description":"pet status in the store",
"enum":["available","pending","sold"]
}
},
"xml":{
"name":"Pet"
}
},
"Tag":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"name":{
"type":"string"
}
},
"xml":{
"name":"Tag"
}
},
"Order":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"petId":{
"type":"integer",
"format":"int64"
},
"quantity":{
"type":"integer",
"format":"int32"
},
"shipDate":{
"type":"string",
"format":"date-time"
},
"status":{
"type":"string",
"description":"Order Status",
"enum":["placed","approved","delivered"]
},
"complete":{
"type":"boolean"
}
},
"xml":{
"name":"Order"
}
},
"User":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"format":"int64"
},
"username":{
"type":"string"
},
"firstName":{
"type":"string"
},
"lastName":{
"type":"string"
},
"email":{
"type":"string"
},
"password":{
"type":"string"
},
"phone":{
"type":"string"
},
"userStatus":{
"type":"integer",
"format":"int32",
"description":"User Status"
}
},
"xml":{
"name":"User"
}
}
},
"externalDocs":{
"description":"Find out more about Swagger",
"url":"http://swagger.io"
}
}
}]
}
Required Roles:
CanGetDynamicEndpoints
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-10001: Incorrect json format. OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by getDynamicEndpoints
Create Dynamic Entity
Create a DynamicEntity.
Authentication is Mandatory
Create one DynamicEntity, after created success, the corresponding CURD endpoints will be generated automatically
Current support filed types as follow:
[number, integer, boolean, string, DATE_WITH_DAY, reference]
DATE_WITH_DAY format: yyyy-MM-dd
Value of reference type is corresponding ids, please look at the following examples.
Current supporting reference types and corresponding examples as follow:
"someField0": {
"type": "reference:Bank",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField1": {
"type": "reference:Consumer",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField2": {
"type": "reference:Customer",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField3": {
"type": "reference:MethodRouting",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField4": {
"type": "reference:DynamicEntity",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField5": {
"type": "reference:TransactionRequest",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField6": {
"type": "reference:ProductAttribute",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField7": {
"type": "reference:AccountAttribute",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField8": {
"type": "reference:TransactionAttribute",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField9": {
"type": "reference:CustomerAttribute",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField10": {
"type": "reference:AccountApplication",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField11": {
"type": "reference:CardAttribute",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField12": {
"type": "reference:Counterparty",
"example": "d986c9e9-37a8-4301-8421-d9a622621da9"
}
"someField13": {
"type": "reference:Branch:bankId&branchId",
"example": "bankId=d986c9e9-37a8-4301-8421-d9a622621da9&branchId=3e27c50b-f49b-4b91-8f19-1ca9f942ce51"
}
"someField14": {
"type": "reference:Atm:bankId&atmId",
"example": "bankId=d986c9e9-37a8-4301-8421-d9a622621da9&atmId=3e27c50b-f49b-4b91-8f19-1ca9f942ce51"
}
"someField15": {
"type": "reference:BankAccount:bankId&accountId",
"example": "bankId=d986c9e9-37a8-4301-8421-d9a622621da9&accountId=3e27c50b-f49b-4b91-8f19-1ca9f942ce51"
}
"someField16": {
"type": "reference:Product:bankId&productCode",
"example": "bankId=d986c9e9-37a8-4301-8421-d9a622621da9&productCode=3e27c50b-f49b-4b91-8f19-1ca9f942ce51"
}
"someField17": {
"type": "reference:PhysicalCard:bankId&cardId",
"example": "bankId=d986c9e9-37a8-4301-8421-d9a622621da9&cardId=3e27c50b-f49b-4b91-8f19-1ca9f942ce51"
}
"someField18": {
"type": "reference:Transaction:bankId&accountId&transactionId",
"example": "bankId=d986c9e9-37a8-4301-8421-d9a622621da9&accountId=3e27c50b-f49b-4b91-8f19-1ca9f942ce51&transactionId=321d6dc9-7f96-42fc-9997-9bd7dd148bf8"
}
"someField19": {
"type": "reference:Counterparty:bankId&accountId&counterpartyId",
"example": "bankId=d986c9e9-37a8-4301-8421-d9a622621da9&accountId=3e27c50b-f49b-4b91-8f19-1ca9f942ce51&counterpartyId=321d6dc9-7f96-42fc-9997-9bd7dd148bf8"
}
I will become the full path
Typical Successful Response:
{
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id"
}
Required Roles:
CanCreateDynamicEntity
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-10001: Incorrect json format. OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by createDynamicEntity
Delete Dynamic Entity
Delete a DynamicEntity specified by DYNAMIC_ENTITY_ID.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
Required Roles:
CanDeleteDynamicEntity
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by deleteDynamicEntity
Get Dynamic Entities
Get the all Dynamic Entities.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"dynamic_entities":[{
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id"
}]
}
Required Roles:
CanGetDynamicEntities
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by getDynamicEntities
Update Dynamic Entity
Update a DynamicEntity.
Authentication is Mandatory
Update one DynamicEntity, after update finished, the corresponding CURD endpoints will be changed.
Current support filed types as follow:
[number, integer, boolean, string, DATE_WITH_DAY, reference]
DATE_WITH_DAY format: yyyy-MM-dd
Value of reference type is corresponding ids, please look at the following examples.
Current supporting reference types and corresponding examples as follow:
"someField0": {
"type": "reference:Bank",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField1": {
"type": "reference:Consumer",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField2": {
"type": "reference:Customer",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField3": {
"type": "reference:MethodRouting",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField4": {
"type": "reference:DynamicEntity",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField5": {
"type": "reference:TransactionRequest",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField6": {
"type": "reference:ProductAttribute",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField7": {
"type": "reference:AccountAttribute",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField8": {
"type": "reference:TransactionAttribute",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField9": {
"type": "reference:CustomerAttribute",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField10": {
"type": "reference:AccountApplication",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField11": {
"type": "reference:CardAttribute",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField12": {
"type": "reference:Counterparty",
"example": "f3854235-1dc4-47fb-9e8e-970e5ff00982"
}
"someField13": {
"type": "reference:Branch:bankId&branchId",
"example": "bankId=f3854235-1dc4-47fb-9e8e-970e5ff00982&branchId=0085c137-99d5-4892-8107-7202b5f3b52f"
}
"someField14": {
"type": "reference:Atm:bankId&atmId",
"example": "bankId=f3854235-1dc4-47fb-9e8e-970e5ff00982&atmId=0085c137-99d5-4892-8107-7202b5f3b52f"
}
"someField15": {
"type": "reference:BankAccount:bankId&accountId",
"example": "bankId=f3854235-1dc4-47fb-9e8e-970e5ff00982&accountId=0085c137-99d5-4892-8107-7202b5f3b52f"
}
"someField16": {
"type": "reference:Product:bankId&productCode",
"example": "bankId=f3854235-1dc4-47fb-9e8e-970e5ff00982&productCode=0085c137-99d5-4892-8107-7202b5f3b52f"
}
"someField17": {
"type": "reference:PhysicalCard:bankId&cardId",
"example": "bankId=f3854235-1dc4-47fb-9e8e-970e5ff00982&cardId=0085c137-99d5-4892-8107-7202b5f3b52f"
}
"someField18": {
"type": "reference:Transaction:bankId&accountId&transactionId",
"example": "bankId=f3854235-1dc4-47fb-9e8e-970e5ff00982&accountId=0085c137-99d5-4892-8107-7202b5f3b52f&transactionId=6bce15aa-4aca-4aa7-b6e8-ed530b1942f7"
}
"someField19": {
"type": "reference:Counterparty:bankId&accountId&counterpartyId",
"example": "bankId=f3854235-1dc4-47fb-9e8e-970e5ff00982&accountId=0085c137-99d5-4892-8107-7202b5f3b52f&counterpartyId=6bce15aa-4aca-4aa7-b6e8-ed530b1942f7"
}
I will become the full path
Typical Successful Response:
{
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id"
}
Required Roles:
CanUpdateDynamicEntity
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-10001: Incorrect json format. OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by updateDynamicEntity
Create MethodRouting
Create a MethodRouting.
Authentication is Mandatory
Explaination of Fields:
method_name is required String value, current supported value: [mapped]
connector_name is required String value
is_bank_id_exact_match is required boolean value, if bank_id_pattern is exact bank_id value, this value is true; if bank_id_pattern is null or a regex, this value is false
bank_id_pattern is optional String value, it can be null, a exact bank_id or a regex
parameters is optional array of key value pairs. You can set some paremeters for this method
note:
if bank_id_pattern is regex, special characters need to do escape, for example: bank_id_pattern = "some-id_pattern_\d+"
If connector name start with rest, parameters can contain "outBoundMapping" and "inBoundMapping", convert OutBound and InBound json structure.
for example:
outBoundMapping example, convert json from source to target:
Build OutBound json value rules:
1 set cId value with: outboundAdapterCallContext.correlationId value
2 set bankId value with: concat bankId.value value with string helloworld
3 set originalJson value with: whole source json, note: the field value expression is $root
inBoundMapping example, convert json from source to target:
Build InBound json value rules:
1 and 2 set inboundAdapterCallContext and status value: because field name ends with "$default", remove "$default" from field name, not change the value
3 set fullName value with: concat string full: with result.name value
4 set bankRoutingScheme value: because source value is Array, but target value is not Array, the mapping field name must ends with [0].
I will become the full path
Typical Successful Response:
{
"is_bank_id_exact_match":false,
"method_name":"getBank",
"connector_name":"rest_vMar2019",
"method_routing_id":"this-method-routing-Id",
"bank_id_pattern":"some_bankId_.*",
"parameters":[{
"key":"url",
"value":"http://mydomain.com/xxx"
}]
}
Required Roles:
CanCreateMethodRouting
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-10001: Incorrect json format. OBP-10021: Incorrect Connector name. OBP-10022: Incorrect Connector method name. OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by createMethodRouting
Delete MethodRouting
Delete a MethodRouting specified by METHOD_ROUTING_ID.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"jsonString":"{}"
}
Required Roles:
CanDeleteMethodRouting
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by deleteMethodRouting
Get MethodRoutings
I will become the full path
Typical Successful Response:
{
"method_routings":[{
"is_bank_id_exact_match":false,
"method_name":"getBanks",
"connector_name":"rest_vMar2019",
"method_routing_id":"method-routing-id",
"bank_id_pattern":"some_bank_.*",
"parameters":[{
"key":"url",
"value":"http://mydomain.com/xxx"
}]
}]
}
Required Roles:
CanGetMethodRoutings
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getMethodRoutings
Update MethodRouting
Update a MethodRouting.
Authentication is Mandatory
Explaination of Fields:
If connector name start with rest, parameters can contain "outBoundMapping" and "inBoundMapping", to convert OutBound and InBound json structure.
for example:
outBoundMapping example, convert json from source to target:
Build OutBound json value rules:
1 set cId value with: outboundAdapterCallContext.correlationId value
2 set bankId value with: concat bankId.value value with string helloworld
3 set originalJson value with: whole source json, note: the field value expression is $root
inBoundMapping example, convert json from source to target:
Build InBound json value rules:
1 and 2 set inboundAdapterCallContext and status value: because field name ends with "$default", remove "$default" from field name, not change the value
3 set fullName value with: concat string full: with result.name value
4 set bankRoutingScheme value: because source value is Array, but target value is not Array, the mapping field name must ends with [0].
I will become the full path
Typical Successful Response:
{
"is_bank_id_exact_match":true,
"method_name":"getBank",
"connector_name":"rest_vMar2019",
"method_routing_id":"this-method-routing-Id",
"bank_id_pattern":"some_bankId",
"parameters":[{
"key":"url",
"value":"http://mydomain.com/xxx"
}]
}
Required Roles:
CanUpdateMethodRouting
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-10001: Incorrect json format. OBP-10021: Incorrect Connector name. OBP-10022: Incorrect Connector method name. OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by updateMethodRouting
Get Connector Metrics
Get the all metrics
require CanGetConnectorMetrics role
Filters Part 1.filtering (no wilde cards etc.) parameters to GET /management/connector/metrics
Should be able to filter on the following metrics fields
eg: /management/connector/metrics?from_date=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.000Z&limit=50&offset=2
1 from_date (defaults to one week before current date): eg:from_date=2017-09-19T02:31:05.000Z
2 to_date (defaults to current date) eg:to_date=2017-09-19T02:31:05.000Z
3 limit (for pagination: defaults to 1000) eg:limit=2000
4 offset (for pagination: zero index, defaults to 0) eg: offset=10
eg: /management/connector/metrics?from_date=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.000Z&limit=100&offset=300
Other filters:
5 connector_name (if null ignore)
6 function_name (if null ignore)
7 correlation_id (if null ignore)
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"metrics":[{
"connector_name":"mapper",
"function_name":"getBanks",
"correlation_id":"12345",
"date":"2017-09-19T00:00:00Z",
"duration":1000
}]
}
Required Roles:
CanGetConnectorMetrics
- Please login to request this Role
Possible Errors:
OBP-10005: Invalid Date Format. Could not convert value to a Date. OBP-50000: Unknown Error. OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles:
Implemented in OBPv2.2.0 by getConnectorMetrics
Get Metrics
Get the all metrics
require CanReadMetrics role
Filters Part 1.filtering (no wilde cards etc.) parameters to GET /management/metrics
Should be able to filter on the following metrics fields
eg: /management/metrics?from_date=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.000Z&limit=50&offset=2
1 from_date (defaults to one week before current date): eg:from_date=2017-09-19T02:31:05.000Z
2 to_date (defaults to current date) eg:to_date=2017-09-19T02:31:05.000Z
3 limit (for pagination: defaults to 50) eg:limit=200
4 offset (for pagination: zero index, defaults to 0) eg: offset=10
5 sort_by (defaults to date field) eg: sort_by=date
possible values:
"url",
"date",
"user_name",
"app_name",
"developer_email",
"implemented_by_partial_function",
"implemented_in_version",
"consumer_id",
"verb"
6 direction (defaults to date desc) eg: direction=desc
eg: /management/metrics?from_date=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.000Z&limit=10000&offset=0&anon=false&app_name=TeatApp&implemented_in_version=v2.1.0&verb=POST&user_id=c7b6cb47-cb96-4441-8801-35b57456753a&user_name=susan.uk.29@example.com &consumer_id=78
Other filters:
7 consumer_id (if null ignore)
8 user_id (if null ignore)
9 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)
10 url (if null ignore), note: can not contain '&'.
11 app_name (if null ignore)
12 implemented_by_partial_function (if null ignore),
13 implemented_in_version (if null ignore)
14 verb (if null ignore)
15 correlation_id (if null ignore)
16 duration (if null ignore) non digit chars will be silently omitted
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"metrics":[{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"url":"www.openbankproject.com",
"date":"2017-09-19T00:00:00Z",
"user_name":"OBP",
"app_name":"SOFI",
"developer_email":"felixsmith@example.com",
"implemented_by_partial_function":"getBanks",
"implemented_in_version":"v210",
"consumer_id":"123",
"verb":"get",
"correlation_id":"v8ho6h5ivel3uq7a5zcnv0w1",
"duration":39
}]
}
Required Roles:
CanReadMetrics
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv2.1.0 by getMetrics
Search API Metrics via Elasticsearch
Search the API calls made to this API instance via Elastic Search.
Login is required.
CanSearchMetrics entitlement is required to search metrics data.
parameters:
esType - elasticsearch type
simple query:
q - plain_text_query
df - default field to search
sort - field to sort on
size - number of hits returned, default 10
from - show hits starting from
json query:
source - JSON_query_(URL-escaped)
example usage:
/search/metrics/q=findThis
or:
/search/metrics/source={"query":{"query_string":{"query":"findThis"}}}
Note!!
The whole JSON query string MUST be URL-encoded:
For { use %7B
For } use %7D
For : use %3A
For " use %22
etc..
Only q, source and esType are passed to Elastic
Elastic simple query: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-uri-request.html
Elastic JSON query: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"jsonString":"{}"
}
Required Roles:
CanSearchMetrics
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv2.0.0 by elasticSearchMetrics
Delete Product Cascade
Delete a Product Cascade specified by PRODUCT_CODE.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"jsonString":"{}"
}
Required Roles:
CanDeleteProductCascade
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-30001: Bank not found. Please specify a valid value for BANK_ID. OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID. OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by deleteProductCascade
Create sandbox
Import bulk data into the sandbox (Authenticated access).
This call can be used to create banks, users, accounts and transactions which are stored in the local RDBMS.
The user needs to have CanCreateSandbox entitlement.
Note: This is a monolithic call. You could also use a combination of endpoints including create bank, create user, create account and create transaction request to create similar data.
An example of an import set of data (json) can be found here
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"success":"Success"
}
Required Roles:
CanCreateSandbox
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-10001: Incorrect json format. OBP-00002: Data import is disabled for this API instance. OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv2.1.0 by sandboxDataImport
Delete Transaction Cascade
Delete a Transaction Cascade specified by TRANSACTION_ID.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"jsonString":"{}"
}
Required Roles:
CanDeleteTransactionCascade
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-30001: Bank not found. Please specify a valid value for BANK_ID. OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID. OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by deleteTransactionCascade
Create password reset url
Create password reset url.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"reset_password_url":"https://apisandbox.openbankproject.com/user_mgt/reset_password/QOL1CPNJPCZ4BRMPX3Z01DPOX1HMGU3L"
}
Required Roles:
CanCreateResetPasswordUrl
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-10001: Incorrect json format. OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by resetPasswordUrl
Create WebUiProps
Create a WebUiProps.
Authentication is Mandatory
Explaination of Fields:
name is required String value
value is required String value
The line break and double quotations should do escape, example:
{"name": "webui_some", "value": "this value
have "line break" and double quotations."}
should do escape like this:
{"name": "webui_some", "value": "this value\nhave \"line break\" and double quotations."}
Insert image examples:
// set width=100 and height=50
{"name": "webui_some_pic", "value": "here is a picture <img alt="hello" src="http://somedomain.com/images/pic.png" width="100" height="50" />"}
// only set height=50
{"name": "webui_some_pic", "value": "here is a picture <img alt="hello" src="http://somedomain.com/images/pic.png" width="" height="50" />"}
// only width=20%
{"name": "webui_some_pic", "value": "here is a picture <img alt="hello" src="http://somedomain.com/images/pic.png" width="20%" height="" />"}
I will become the full path
Typical Successful Response:
{
"name":"webui_api_explorer_url",
"value":"https://apiexplorer.openbankproject.com",
"web_ui_props_id":"some-web-ui-props-id"
}
Required Roles:
CanCreateWebUiProps
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-10001: Incorrect json format. OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by createWebUiProps
Delete WebUiProps
Delete a WebUiProps specified by WEB_UI_PROPS_ID.
Authentication is Mandatory
I will become the full path
Typical Successful Response:
{
"jsonString":"{}"
}
Required Roles:
CanDeleteWebUiProps
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by deleteWebUiProps
Get WebUiProps
I will become the full path
Typical Successful Response:
{
"webui_props":[{
"name":"webui_api_explorer_url",
"value":"https://apiexplorer.openbankproject.com",
"web_ui_props_id":"web-ui-props-id"
}]
}
Required Roles:
CanGetWebUiProps
- Please login to request this Role
Possible Errors:
OBP-20001: User not logged in. Authentication is required! OBP-20006: User is missing one or more roles: OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getWebUiProps