# Sinch Sender ID Registrations API This API describes the set of endpoints available to get each market requirements and create registration for sender IDs. The list of endpoints allows to create, update and delete a registration and also get the current state. For each market, customers can check the different requirements depending on the new sender ID scope, and also download templates to fill in for the registrations. Interested in this API? Please, reach out to your Account Manager for more info. Version: 1.0.0 License: MIT ## Servers Production server ``` https://senderid.registrations.api.sinch.com ``` Staging server ``` https://senderid.numbers-registration.staging.sinch.com ``` ## Security ### OAuth2 The username and password are your Key ID and Key Secret from the Access keys section in the Sinch Customer Dashboard. Exchange these for a bearer token (access token). Type: oauth2 ### hmacAuth Used for hashing callbacks. Please refer to the callback-configuration endpoints for more information. Type: http Scheme: hmac ## Download OpenAPI description [Sinch Sender ID Registrations API](https://developers.sinch.com/_bundle/docs/registration-api/api-reference/registrations.yaml) ## Callback configuration You can set up callback URLs to receive event notifications when your registration status is updated. When delivering events the order is not guaranteed (for example, a failed event scheduled for retry will not block other events that were queued). The client's callback handler must implement the state machine that can decide what to do with unexpected events, for example, "old" events or invalid state transitions. In these cases the handler could use the API to GET the latest state for the resource. The callback handler is expected to "ingest" the event and respond with 200 OK. The domain-specific business logic and processes should be executed outside of the callback request, as internal asynchronous jobs. An HMAC encrypted secret is used for hashing the payload and sending the hashed String via the X-Sinch-Signature header - that you can use to validate that an incoming request is secure. Hmac secret value can be checked with GET endpoint, and it can be updated with PUT endpoint ### Get callback configuration - [GET /v1/projects/{projectId}/callback-configuration](https://developers.sinch.com/docs/registration-api/api-reference/registrations/callback-configuration/getcallbackconfiguration.md): The endpoint receives as path param project id. If the project exists, the details of the callback configuration are returned. ### Update a callback configuration - [PUT /v1/projects/{projectId}/callback-configuration](https://developers.sinch.com/docs/registration-api/api-reference/registrations/callback-configuration/updatecallbackconfiguration.md): The endpoint updates the callback configuration with specified project ID ## Markets Operations related to get market availability and different options based on usage ### Get market codes list - [GET /v1/projects/{projectId}/markets/availability](https://developers.sinch.com/docs/registration-api/api-reference/registrations/markets/listavailablemarkets.md): The endpoint retrieves the list of market codes available for alphanumeric registration. Market code is an optional query param, if used, the response will contain a list with the same market code if it is available; the list will be empty if it is not. ### Get market versions - [GET /v1/projects/{projectId}/markets/details](https://developers.sinch.com/docs/registration-api/api-reference/registrations/markets/listmarketversions.md): The endpoint will return the markets in active status according to the query parameters: market code and registration type ## Policies Operation related to get policy required information, as fields, validations or attachments ### Get policy details - [GET /v1/projects/{projectId}/policies/{policyId}](https://developers.sinch.com/docs/registration-api/api-reference/registrations/policies/getpolicy.md): Returns the whole configuration of a given policyId, including multi configuration, fields, sections and attachments. ### Download policy template file - [GET /v1/projects/{projectId}/policies/{policyId}/attachments/{attachmentId}/template](https://developers.sinch.com/docs/registration-api/api-reference/registrations/policies/downloadtemplate.md): Download a policy template. Use this enpdoint to download the template for those policy attachments which template value is true. ## Registrations Submit, update, list and get registration info. ### List registrations - [GET /v1/projects/{projectId}/registrations](https://developers.sinch.com/docs/registration-api/api-reference/registrations/registrations/listregistrations.md): The endpoint receives as path param project id. Supports optional query parameters to narrow the results and cursor based pagination. ### Submit registration - [POST /v1/projects/{projectId}/registrations](https://developers.sinch.com/docs/registration-api/api-reference/registrations/registrations/createregistration.md): The endpoint creates a registration with specified policyId and registration's Data. The registration will be validated against the selected policy before submission. After this endpoint gets a 200, the registration will be in IN_QUEUE state, and will be editable. For those registrations that need attachments, they must be provided in a separated endpoint. ### Delete registration - [DELETE /v1/projects/{projectId}/registrations/{registrationId}](https://developers.sinch.com/docs/registration-api/api-reference/registrations/registrations/deleteregistration.md): The endpoint receives as path param project id and registration id. If the registration exists under the specified project id and the registration is in DRAFT, IN QUEUE or PENDING status, the registration will be deleted. ### Get registration - [GET /v1/projects/{projectId}/registrations/{registrationId}](https://developers.sinch.com/docs/registration-api/api-reference/registrations/registrations/getregistration.md): The endpoint receives as path param project id and registration id. If the registration exists under the specified project id, the details of the registration are returned. ### Update a registration - [PUT /v1/projects/{projectId}/registrations/{registrationId}](https://developers.sinch.com/docs/registration-api/api-reference/registrations/registrations/updateregistration.md): The endpoint updates the registration with specified ID ### Download previous attachment - [GET /v1/projects/{projectId}/registrations/{registrationId}/attachments/{attachmentId}](https://developers.sinch.com/docs/registration-api/api-reference/registrations/registrations/downloadregistrationattachment.md): Download attachments previously added to the registration. ### Upload attachment - [POST /v1/projects/{projectId}/registrations/{registrationId}/attachments/{attachmentId}](https://developers.sinch.com/docs/registration-api/api-reference/registrations/registrations/uploadregistrationattachment.md): Through this endpoint, attachments can be added to registrations. The required attachments for each registration can be retrieved from the get policy endpoint.